forked from Yara724/api
107 lines
4.3 KiB
Markdown
107 lines
4.3 KiB
Markdown
---
|
|
last_updated: 2026-08-08
|
|
tags: [fanavaran, mapping]
|
|
source: fanavaran-module-docs
|
|
---
|
|
|
|
# 07 — Data mapping (YARA → Fanavaran)
|
|
|
|
## GEN.03 — Base claim
|
|
|
|
| YARA | Fanavaran |
|
|
|------|-----------|
|
|
| Guilty party insurer national code → policy inquiry | `PolicyId` |
|
|
| Tenant `defaults.ClaimExpertId` | `ClaimExpertId` |
|
|
| Tenant defaults city/report/vehicle-used/… | `AccidentCityId`, `AccidentReportTypeId`, … |
|
|
| Blame/claim `createdAt` (Jalali) | `AccidentDate`, `AnnouncementDate`, `DocReceivedDate` |
|
|
| Blame/claim time | `AccidentTime` |
|
|
| Constant address | `AccidentLocationAddress` |
|
|
| Sum damage parts estimate (or 1000) | `EstimateAmount` |
|
|
| Accident reason fanavaran id (else default 6) | `AccidentCauseId` |
|
|
| Culprit licence digits / dummy | `CulpritLicenceNo` |
|
|
| Culprit licence issue / birthday fallback | `CulpritLicenceIssuDate` |
|
|
| Tenant `CulpritLicenceTypeId` / `CulpritTypeId` | same |
|
|
| — | Explicit `null` placeholders for unused template fields |
|
|
|
|
## GEN.12 — Damage case
|
|
|
|
| YARA | Fanavaran |
|
|
|------|-----------|
|
|
| `damage.selectedParts` labels | `Desc` (`/` joined) |
|
|
| Party `nationalCodeOfDriver` + birthday (+ insurer flag) → inquiry, else GEN.44 create | `DriverId` |
|
|
| `claimCase.vehicle.carType` → vehicle-kinds | `VehicleKindId` |
|
|
| `INSURANCE_CORP_ID` caption → insurance-corp | `InsuranceCorpId` |
|
|
| Inquiry `ShsNum` / Chassis* | `ChassisNo` |
|
|
| Inquiry `MtrNum` / Engine* | `MotorNo` |
|
|
| Inquiry `VIN` / vin | `VIN` |
|
|
| Inquiry / plate snapshot | `PlaqueLeftNo`, `PlaqueRightNo`, `PlaqueSerial`, `PlaqueMiddleCodeId`, `PlaqueNo` |
|
|
| Inquiry policy numbers / dates | `PolicyNo`, `PolicyCINumber`, `BeginDate`, `EndDate`, `PreviousPolicyEndDate` |
|
|
| Inquiry model year | `BuiltYear` |
|
|
| `person.driverLicense` / `insurerLicense` / dummy | `LicenceNo` |
|
|
| `person.driverBirthday` | `LicenceIssuDate` |
|
|
| `person.driverIsInsurer` | `DriverIsOwner` (1/0) |
|
|
| Tenant defaults | `DmgCaseTypeId`, `DmgHistoryStatus`, `PlaqueKindId`, `PlaqueSampleId`, `FaultPercent`, `AccidentVehicleUsedId`, `LicenceTypeId` |
|
|
| Provisional | `EstimateAmount` = 1000 |
|
|
|
|
## GEN.44 — Other people
|
|
|
|
| YARA | Fanavaran |
|
|
|------|-----------|
|
|
| Party national code | `NationalCode` |
|
|
| Party birthday (Jalali) | `BirthYear` / `BirthMonth` / `BirthDay` |
|
|
| `fullName` split | `Name` / `LastName` (registry may overwrite) |
|
|
| Party phone / user mobile | `Mobile` |
|
|
| User address / city / gender | `Address`, `CityId`, `GenderId` |
|
|
| `ans` lookup بله | `IsIranian` |
|
|
| `person-kind` حقیقی | `PersonKindId` |
|
|
|
|
Create only on GEN.12 submit when inquiry missed. Cache `otherPersonId` + `driverId`.
|
|
|
|
## GEN.07 — Attachments
|
|
|
|
| YARA | Fanavaran |
|
|
|------|-----------|
|
|
| Local image filename | `FileName` (+ multipart `files`) |
|
|
| Tenant `ClaimFileTypeId` | `FileTypeId` |
|
|
| Local file bytes | multipart binary |
|
|
| `claimId` | URL path |
|
|
|
|
## GEN.08 — Expertise
|
|
|
|
| YARA | Fanavaran |
|
|
|------|-----------|
|
|
| Tenant `ExpertiseClaimExpertId` | `ClaimExpertId` |
|
|
| `claimCase.dmgCaseId` | `DmgCaseId` |
|
|
| Expert reply parts `salary` (sum) | `RepairWage` |
|
|
| Expert reply parts `price` (sum) | `ComponentReplacementCost` |
|
|
| Part `daghi.price` (sum) | `WasteValue` |
|
|
| Reply `submittedAt` | `DmgAssessmentDate`, `InspectionTime` |
|
|
| `evaluation.priceDrop.total` | `DropAmountAdditionsDeductions` |
|
|
| `evaluation.priceDrop.carPrice` | `DamagedVehicleCurrentPrice` |
|
|
| Part catalog / `partId` | `DmgSections[].DmgSectionId` |
|
|
| Part `typeOfDamage` / default level | `DmgSections[].AccidentLevel` |
|
|
| Part label / type | `DmgSections[].Desc` |
|
|
| Part line `salary` / `price` / daghi | section money fields |
|
|
| Code constants today | `InspectionPlaceId`, `DropAmountStatus` |
|
|
|
|
## Auth headers
|
|
|
|
| YARA profile.auth | Fanavaran header |
|
|
|-------------------|------------------|
|
|
| `corpId` | `CorpId` |
|
|
| `contractId` | `ContractId` |
|
|
| `location` | `Location` |
|
|
| token from Login | `authenticationToken` |
|
|
|
|
## Not mapped / out of scope
|
|
|
|
| YARA | Note |
|
|
|------|------|
|
|
| `CAR_BODY` dmg-cases | Hull has no GEN.12 resource; skip that stage |
|
|
| Videos | Not uploaded via GEN.07 in current code |
|
|
| Full police report fields | Often null unless later enriched |
|
|
|
|
## Alias notes (inquiry)
|
|
|
|
ESG / Tejarat inquiry payloads use multiple key names; builders try ordered aliases (e.g. `PrntCmpDocNo` / `printNumber` / `insuranceNumber` for policy number). See `pickPartyInquiryField` in claim service.
|