--- 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.