Files
yara724api/docs/fanavaran/third-party-stage-fields.md
2026-09-21 10:05:49 +03:30

15 KiB
Raw Permalink Blame History

Third-party (ثالث) — Fanavaran stage bodies (current YARA)

Snapshot of what ClaimRequestManagementService actually sends for THIRD_PARTY as of this version.

  • Base: POST /car/third-party-car-financial-claims (GEN.03)
  • Damage case: POST …/{claimId}/dmg-cases (GEN.12)
  • Attachments: POST …/{claimId}/files (GEN.07, multipart)
  • Expertise: POST …/{claimId}/expertise (GEN.08)

Send rule: keep keys in the JSON even when the value is null. Fanavaran treats omitted keys differently from explicit null.

Source columns

Tag Meaning
system Hardcoded YARA default / tenant fanavaranClientConfigs
lookup Fanavaran codebook (GET /lookups/…)
inquiry Live Fanavaran inquiry (policies, VIN, parties, vehicle GET)
user Collected in YARA UI (owner, expert, file-maker)
staff FileMaker ThirdPartyClaimExpertId / FileReviewer ThirdPartyExpertiseClaim on V4/V5; else tenant defaults
derived Computed from other fields (dates, sums)

Parsian tenant defaults used below: ClaimExpertId=154, ExpertiseClaimExpertId=29, ClaimFileTypeId=63, AccidentCityId=701, AccidentReportTypeId=155, CulpritTypeId=337, CulpritLicenceTypeId=2, CompensationReferenceId=167.


Stage 1 — Base claim (GEN.03)

Must send (non-null): PolicyId, ClaimExpertId, AccidentDate, AnnouncementDate, AccidentTime, AccidentCauseId, AccidentCityId, AccidentReportTypeId, CulpritTypeId, CulpritLicenceTypeId, CulpritLicenceNo, CulpritLicenceIssuDate, DamagedCount, EstimateAmount (> 0), AccidentLocationAddress, HasOtherCulprit, IsFatalAccident, IsAccidentOutOfBorder, IsPlaqueChanged, IsLicenseMatchWithVehicleKind, IsLicenseReplacement, PoliceOfficerId, AccidentVehicleUsedId.

May be null (and currently are, unless noted): everything else in the table.

Field Persian Type Null? Current source Notes
PolicyId شناسه بیمه‌نامه مقصر number no inquiry GET /lookups/my-policies (guilty national code, line ثالث) Cached on fanavaranSync.baseClaim.policyId
ClaimExpertId کارشناس مسئول پرونده number no staff FileMaker ThirdPartyClaimExpertId on V4/V5, else tenant GEN.03 role, not expertise
AccidentDate تاریخ حادثه string (Jalali yyyy/mm/dd) no user accident datetime, else blame createdAt
AnnouncementDate تاریخ اعلام string Jalali no derived = AccidentDate
DocReceivedDate تاریخ وصول مدارک string Jalali no derived = AccidentDate Third-party only (not on hull whitelist)
AccidentTime ساعت حادثه string HH:mm no user / derived from createdAt
AccidentLocationAddress نشانی محل حادثه string no system "استان تهران شهر تهران" Should later be user
AccidentCauseId علت حادثه number no system 6 Lookup: GET /lookups/accident-causes. Expert accidentReason.fanavaran exists but is not yet wired as the sent id
AccidentCityId شهر محل حادثه number no system 701 تهران Lookup: GET /lookups/cities
AccidentReportTypeId نحوه اعلام حادثه number no system 155 Lookup: GET /lookups/accident-report-type
AccidentVehicleUsedId نوع کاربری خودرو number no inquiry VIN / policy vehicle UsedId, else tenant 1 Lookup: GET /lookups/vehicle-use-types
CulpritTypeId نوع مقصر number no system 337 Lookup: GET /lookups/accident-culprit-type (ثالث, not hull)
CulpritLicenceTypeId نوع گواهینامه مقصر number no system 2 Lookup: GET /lookups/driving-licence-types
CulpritLicenceNo شماره گواهینامه مقصر string no user party licence if stored, else dummy 9705463515 Must never be empty
CulpritLicenceIssuDate تاریخ صدور گواهینامه string Jalali no system "1394/10/13" Should later be user
EstimateAmount مبلغ برآورد number no user expert part prices, else provisional 1000 Must be > 0
CompensationReferenceId مرجع جبران number no system 167 Tenant default
DamagedCount تعداد زیان‌دیدگان number no system 1
HasOtherCulprit مقصر دیگر دارد؟ number (ans) no system 0 Lookup GET /lookups/ans
IsFatalAccident فوت دارد؟ number no system 0
IsAccidentOutOfBorder خارج از مرز؟ number no system 0
IsPlaqueChanged پلاک تعویضی؟ number no system 0
IsLicenseMatchWithVehicleKind گواهینامه متناسب؟ number no system 1
IsLicenseReplacement گواهینامه تعویضی؟ number no system 0 Third-party uses this name (hull uses IsLicenseReplaced and must be null)
PoliceOfficerId افسر پلیس number no system 1
ActualPremium حق بیمه واقعی number yes unused on ثالث create
ArchiveNo شماره بایگانی string yes —
AuthorityCulpritId مرجع تعیین مقصر number yes null on ثالث Hull requires this
AccidentCulpritId شناسه مقصر در فناوران number yes null on ثالث Hull fills from parties inquiry
ClaimCompletionDate تاریخ تکمیل string yes —
CostSeparationToDmgSections تفکیک هزینه به نقاط number yes null on ثالث Hull sends 0
CouponNo شماره کوپن string yes —
CourtArchiveNo شماره بایگانی دادگاه string yes —
CustomerFaultPercent درصد تقصیر بیمه‌گذار number yes null on ثالث Hull sends 100
CulpritLicenceCityId شهر صدور گواهینامه number yes Lookup cities
CulpritLicenceCountryId کشور صدور گواهینامه number yes Lookup countries
CulpritLicenceForeignCityName شهر خارجی صدور string yes —
DmgAssessorFirstCreationTime زمان ایجاد ارزیاب string yes —
EntryDate تاریخ ورود string yes —
GlassBreakReasonId علت شکست شیشه number yes —
IsOwnerChanged مالک تغییر کرده؟ number yes null Hull sends 0
IsSurplusArticleEighthLaw مازاد ماده ۸ number yes —
PlaqueCityId … PlaqueSerial پلاک (بلوک پایه) mixed yes null on GEN.03 ثالث Plaque belongs on GEN.12
PoliceReportDesc / Seri / Serial مشخصات کروکی string yes user later
PreviousPolicyEndDate پایان بیمه‌نامه قبلی string empty "" system
StatusChangeDate تاریخ تغییر وضعیت string yes —
TrackingCode کد پیگیری string yes —
UnknownCulpritCauseId علت مقصر ناشناس number yes —

Inquiries used at this stage

  • GET /lookups/my-policies?nationalCode=&insuranceLineId= (ثالث)
  • Optional VIN → AccidentVehicleUsedId

User input already needed (even if some are still defaulted)

  • Guilty party national code (to find PolicyId)
  • Accident date/time
  • Expert priced parts (EstimateAmount) when available

Stage 2 — Damage case (GEN.12)

Nested under Fanavaran claimId (Id from stage 1, never ClaimNo).

Must send (non-null in proven Parsian): DriverId, VehicleKindId, AccidentVehicleUsedId, DmgCaseTypeId, DmgHistoryStatus, FaultPercent, InsuranceCorpId, LicenceNo, LicenceTypeId, LicenceIssuDate, EstimateAmount, Desc, plaque block (PlaqueKindId, PlaqueSampleId, left/middle/right/serial), BeginDate/EndDate when inquiry has them.

If DriverId is missing, submit (not preview) registers GEN.44 POST /common/other-people and stores otherPersonId.

Field Persian Type Null? Current source
DriverId شناسه راننده زیان‌دیده در فناوران number no on submit inquiry GET /lookups/inquiry-by-unique-identifier (national code + Jalali birthday). Fallback GEN.44 create
OwnerId شناسه مالک number yes currently null
VehicleKindId نوع خودرو number no inquiry VIN vehicle VehicleKindId, else lookup GET /lookups/vehicle-kinds matched to claim.vehicle.carType
AccidentVehicleUsedId کاربری number no inquiry vehicle UsedId / use-types, else tenant
VIN شماره شاسی ۱۷ رقمی string preferred inquiry plate/VIN inquiry
ChassisNo شماره شاسی string preferred inquiry
MotorNo شماره موتور string preferred inquiry
BuiltYear سال ساخت number preferred inquiry VIN / mapped PrdDte
PlaqueKindId نوع پلاک number no inquiry vehicle GET, else national-plate default
PlaqueSampleId نمونه پلاک number no same
PlaqueLeftNo دو رقم سمت چپ string no user plate / inquiry
PlaqueMiddleCodeId حرف پلاک (کد فناوران) number no derived from plate letter
PlaqueRightNo سه رقم string no user / inquiry
PlaqueSerial ایران string no user / inquiry
PlaqueNo پلاک رشته‌ای string preferred derived
PlaqueCityId شهر پلاک number yes inquiry vehicle
PolicyNo شماره چاپی بیمه‌نامه زیان‌دیده string preferred inquiry ESG/Tejarat mapped
PolicyCINumber کد یکتای بیمه‌نامه string preferred inquiry PlcyUnqCod
BeginDate شروع پوشش string Jalali preferred inquiry
EndDate پایان پوشش string Jalali preferred inquiry
PreviousPolicyEndDate پایان بیمه‌نامه قبلی string empty ok derived from EndDate
InsuranceCorpId شرکت بیمه زیان‌دیده number no lookup insurance-corp for tenant
DmgCaseTypeId نوع مورد خسارت number no system 175 · lookup dmg-case-type
DmgHistoryStatus وضعیت سابقه خسارت number no system 5214 · lookup dmg-history-status
FaultPercent درصد تقصیر number no system 100
DriverIsOwner راننده همان مالک؟ number no user driverIsInsurer → 1/0
LicenceNo شماره گواهینامه زیان‌دیده string no user, else dummy
LicenceTypeId نوع گواهینامه number no system same as CulpritLicenceTypeId
LicenceIssuDate تاریخ صدور string Jalali no user birthday used as stand-in, else dummy date
LicenceCityId / CountryId / ForeignCityName محل صدور گواهینامه mixed yes currently null
EstimateAmount برآورد مورد خسارت number no system provisional constant
Desc شرح قطعات آسیب‌دیده string no user selected outer parts labels joined with /
DmgCaseId (response) number — store as local dmgCaseId

Lookups: vehicle-kinds, vehicle-use-types, dmg-case-type, dmg-history-status, insurance-corp, file-types (later), driving-licence-types, ans.

Inquiries: parties by national code + birthday; VIN inquiry; optional vehicle GET; plate inquiry on blame.


Stage 3 — Attachments (GEN.07)

Multipart: field Param = JSON, field Param1 = file bytes. One file per request. Parsian FileTypeId=63 (سایر مدارک خسارت).

Field Persian Type Null? Current source
FileName نام فایل string no user upload name (must match binary name)
FileTypeId نوع مدرک number no lookup GET /lookups/file-types via tenant ClaimFileTypeId
Files[].FileName / FileTypeId تکرار متادیتا object no same
ClaimId (hull only on Param) number hull yes third-party URL already has claimId

Files themselves are user (documents, damage photos, factors).


Stage 4 — Expertise (GEN.08)

Requires local dmgCaseId. ClaimExpertId here is the assessor role (Parsian 29), from FileReviewer ThirdPartyExpertiseClaim on V4/V5.

Field Persian Type Null? Current source
DmgCaseId شناسه مورد خسارت number no stage 2 response
ClaimExpertId کارشناس ارزیاب number no staff / tenant ExpertiseClaimExpertId
DmgAssessmentDate تاریخ بازدید string Jalali no derived expert reply submittedAt
InspectionTime ساعت بازدید string HH:mm no derived
InspectionPlaceId محل بازدید number no system 282 · lookup GET /lookups/inspection-place
RepairWage اجرت کل number no user sum of part salary
ComponentReplacementCost قطعه کل number no user sum of part price
WasteValue داغی کل number no user daghi prices
DropAmountStatus وضعیت افت number no system 5458 · lookup drop-amount-status
DropAmountAdditionsDeductions مبلغ افت number no user evaluation.priceDrop.total or 0
ComponentReplacementTaxAndToll مالیات قطعه number no system 0
DamagedVehicleCurrentPrice قیمت روز خودرو number yes user price-drop carPrice
WentDistanceByExpert مسافت کارشناس number yes currently null
DmgSections[].DmgSectionId شناسه نقطه آسیب number no user catalog partId · lookup car-components
DmgSections[].AccidentLevel شدت آسیب number no user typeOfDamage or default 5456 · lookup accident-level
DmgSections[].Desc شرح string no user
DmgSections[].ComponentReplacementCost قیمت قطعه number no user
DmgSections[].RepairWage اجرت number no user
DmgSections[].WasteValue داغی number no user

YARA preview / submit

Stage Preview Submit
1 GET /v2/fanavaran/{client}/claim-cases/{id}/base-claim/preview POST …/base-claim/submit
2 GET …/damage-case/preview POST …/damage-case/submit
3 GET …/attachments/preview POST …/attachments/submit
4 GET …/expertise/preview POST …/expertise/submit

Nested Fanavaran URLs always use stored claimId (کد رایانه), never claimNo.