314 lines
6.3 KiB
TypeScript
314 lines
6.3 KiB
TypeScript
import { UUID } from "crypto";
|
|
|
|
// Re-export interfaces needed for RawJobDataObject
|
|
// Note: The decoder interfaces would need to be moved to shared as well
|
|
// or we define the minimal structure here
|
|
|
|
export interface RawJobDataObject {
|
|
// From DecodedEnv
|
|
insp_date?: string;
|
|
loss_date?: string;
|
|
rf_city?: string;
|
|
rf_zip?: string;
|
|
rf_st?: string;
|
|
rf_ln?: string;
|
|
rf_fn?: string;
|
|
rf_ph1?: string;
|
|
rf_ph2?: string;
|
|
rf_addr1?: string;
|
|
rf_ctry?: string;
|
|
ins_co_nm?: string;
|
|
clm_no?: string;
|
|
est_system?: string;
|
|
|
|
// From other decoders
|
|
cat_no?: string;
|
|
ciecaid?: string;
|
|
agt_co_id?: string;
|
|
agt_co_nm?: string;
|
|
agt_addr1?: string;
|
|
agt_addr2?: string;
|
|
agt_city?: string;
|
|
agt_st?: string;
|
|
agt_zip?: string;
|
|
agt_ctry?: string;
|
|
agt_ph1?: string;
|
|
agt_ph1x?: string;
|
|
agt_ph2?: string;
|
|
agt_ph2x?: string;
|
|
agt_fax?: string;
|
|
agt_faxx?: string;
|
|
agt_ct_ln?: string;
|
|
agt_ct_fn?: string;
|
|
agt_ct_ph?: string;
|
|
agt_ct_phx?: string;
|
|
agt_ea?: string;
|
|
agt_lic_no?: string;
|
|
adj_g_disc?: number;
|
|
adj_strdis?: number;
|
|
adj_towdis?: number;
|
|
asgn_date?: string;
|
|
asgn_no?: string;
|
|
asgn_type?: string;
|
|
clm_addr1?: string;
|
|
clm_addr2?: string;
|
|
clm_city?: string;
|
|
clm_ct_fn?: string;
|
|
clm_ct_ln?: string;
|
|
clm_ct_ph?: string;
|
|
clm_ct_phx?: string;
|
|
clm_ctry?: string;
|
|
clm_ea?: string;
|
|
clm_fax?: string;
|
|
clm_faxx?: string;
|
|
clm_ofc_id?: string;
|
|
clm_ofc_nm?: string;
|
|
clm_ph1?: string;
|
|
clm_ph1x?: string;
|
|
clm_ph2?: string;
|
|
clm_ph2x?: string;
|
|
clm_st?: string;
|
|
clm_title?: string;
|
|
clm_zip?: string;
|
|
cust_pr?: string;
|
|
date_estimated?: string;
|
|
ded_status?: string;
|
|
depreciation_taxes?: number;
|
|
est_addr1?: string;
|
|
est_addr2?: string;
|
|
est_city?: string;
|
|
est_co_nm?: string;
|
|
est_ct_fn?: string;
|
|
est_ct_ln?: string;
|
|
est_ctry?: string;
|
|
est_ea?: string;
|
|
est_ph1?: string;
|
|
est_st?: string;
|
|
est_zip?: string;
|
|
federal_tax_rate?: number;
|
|
ins_addr1?: string;
|
|
ins_addr2?: string;
|
|
ins_city?: string;
|
|
ins_co_id?: string;
|
|
ins_ct_fn?: string;
|
|
ins_ct_ln?: string;
|
|
ins_ct_ph?: string;
|
|
ins_ct_phx?: string;
|
|
ins_ctry?: string;
|
|
ins_ea?: string;
|
|
ins_fax?: string;
|
|
ins_faxx?: string;
|
|
ins_ph1?: string;
|
|
ins_ph1x?: string;
|
|
ins_ph2?: string;
|
|
ins_ph2x?: string;
|
|
ins_st?: string;
|
|
ins_title?: string;
|
|
ins_zip?: string;
|
|
insd_fax?: string;
|
|
insd_faxx?: string;
|
|
kmin?: number;
|
|
loss_cat?: string;
|
|
loss_type?: string;
|
|
ownr_addr1?: string;
|
|
ownr_addr2?: string;
|
|
ownr_co_nm?: string;
|
|
ownr_ctry?: string;
|
|
ownr_ea?: string;
|
|
ownr_ph1?: string;
|
|
ownr_ph2?: string;
|
|
ownr_st?: string;
|
|
ownr_title?: string;
|
|
ownr_zip?: string;
|
|
ownr_ln?: string;
|
|
ownr_fn?: string;
|
|
ownr_city?: string;
|
|
pay_amt?: number;
|
|
pay_chknm?: string;
|
|
pay_date?: string;
|
|
pay_type?: string;
|
|
payee_nms?: string;
|
|
plate_no?: string;
|
|
plate_st?: string;
|
|
policy_no?: string;
|
|
rate_la1?: number;
|
|
rate_la2?: number;
|
|
rate_la3?: number;
|
|
rate_la4?: number;
|
|
rate_laa?: number;
|
|
rate_lab?: number;
|
|
rate_lad?: number;
|
|
rate_lae?: number;
|
|
rate_laf?: number;
|
|
rate_lag?: number;
|
|
rate_lam?: number;
|
|
rate_lar?: number;
|
|
rate_las?: number;
|
|
rate_lau?: number;
|
|
rate_ma2s?: number;
|
|
rate_ma2t?: number;
|
|
rate_ma3s?: number;
|
|
rate_mabl?: number;
|
|
rate_macs?: number;
|
|
rate_mahw?: number;
|
|
rate_mapa?: number;
|
|
rate_mash?: number;
|
|
tax_lbr_rt?: number;
|
|
tax_levies_rt?: number;
|
|
tax_paint_mat_rt?: number;
|
|
tax_predis?: number;
|
|
tax_prethr?: number;
|
|
tax_pstthr?: number;
|
|
tax_shop_mat_rt?: number;
|
|
tax_str_rt?: number;
|
|
tax_sub_rt?: number;
|
|
tax_thramt?: number;
|
|
tax_tow_rt?: number;
|
|
theft_ind?: boolean;
|
|
v_color?: string;
|
|
tlos_ind?: boolean;
|
|
v_make_desc?: string;
|
|
v_model_desc?: string;
|
|
v_year?: string;
|
|
|
|
// Claimant fields
|
|
clmt_ln?: string;
|
|
clmt_fn?: string;
|
|
clmt_title?: string;
|
|
clmt_co_nm?: string;
|
|
clmt_addr1?: string;
|
|
clmt_addr2?: string;
|
|
clmt_city?: string;
|
|
clmt_st?: string;
|
|
clmt_zip?: string;
|
|
clmt_ctry?: string;
|
|
clmt_ph1?: string;
|
|
clmt_ph2?: string;
|
|
clmt_ea?: string;
|
|
|
|
// Insured fields
|
|
insd_ln?: string;
|
|
insd_fn?: string;
|
|
insd_title?: string;
|
|
insd_co_nm?: string;
|
|
insd_addr1?: string;
|
|
insd_addr2?: string;
|
|
insd_city?: string;
|
|
insd_st?: string;
|
|
insd_zip?: string;
|
|
insd_ctry?: string;
|
|
insd_ph1?: string;
|
|
insd_ph2?: string;
|
|
insd_ea?: string;
|
|
|
|
// Object fields
|
|
owner?: {
|
|
data?: Record<string, unknown>;
|
|
};
|
|
vehicle?: Record<string, unknown>;
|
|
bodyshop?: Record<string, unknown>;
|
|
area_of_damage?: {
|
|
impact1?: string;
|
|
impact2?: string;
|
|
};
|
|
joblines?: {
|
|
data?: JobLine[];
|
|
};
|
|
clm_total?: number;
|
|
|
|
// CIECA fields
|
|
cieca_pft?: CiecaPft;
|
|
cieca_pfl?: Record<string, CiecaPfl>;
|
|
cieca_pfm?: CiecaPfm[];
|
|
cieca_pfo?: CiecaPfo;
|
|
cieca_stl?: CiecaStl;
|
|
cieca_ttl?: CiecaTtl;
|
|
parts_tax_rates?: Record<string, unknown>;
|
|
materials?: Record<string, unknown>;
|
|
|
|
vehicleid?: UUID;
|
|
shopid?: UUID;
|
|
version?: number;
|
|
}
|
|
|
|
export interface JobLine {
|
|
line_no?: string;
|
|
line_ind?: string;
|
|
line_ref?: string;
|
|
tran_code?: string;
|
|
db_ref?: string;
|
|
unq_seq?: string;
|
|
line_desc?: string;
|
|
part_type?: string;
|
|
glass_flag?: boolean;
|
|
oem_partno?: string;
|
|
price_inc?: boolean;
|
|
alt_part_i?: boolean;
|
|
tax_part?: boolean;
|
|
db_price?: number;
|
|
act_price?: number;
|
|
price_j?: boolean;
|
|
cert_part?: boolean;
|
|
part_qty?: number;
|
|
alt_co_id?: string;
|
|
alt_partno?: string;
|
|
alt_overrd?: boolean;
|
|
alt_partm?: string;
|
|
prt_dsmk_p?: string;
|
|
prt_dsmk_m?: string;
|
|
mod_lbr_ty?: string;
|
|
db_hrs?: number;
|
|
mod_lb_hrs?: number;
|
|
lbr_inc?: boolean;
|
|
lbr_op?: string;
|
|
lbr_hrs_j?: boolean;
|
|
lbr_typ_j?: boolean;
|
|
lbr_op_j?: boolean;
|
|
paint_stg?: string;
|
|
paint_tone?: string;
|
|
lbr_tax?: boolean;
|
|
lbr_amt?: number;
|
|
misc_amt?: number;
|
|
misc_sublt?: string;
|
|
misc_tax?: boolean;
|
|
bett_type?: string;
|
|
bett_pctg?: string | number;
|
|
bett_amt?: number;
|
|
bett_tax?: boolean;
|
|
op_code_desc?: string;
|
|
}
|
|
|
|
export interface CiecaPft {
|
|
data?: Record<string, unknown>;
|
|
}
|
|
|
|
export interface CiecaPfl {
|
|
lbr_desc?: string;
|
|
lbr_rate?: number;
|
|
lbr_type?: string;
|
|
}
|
|
|
|
export interface CiecaPfm {
|
|
cal_prethr?: number;
|
|
matl_type?: string;
|
|
}
|
|
|
|
export interface CiecaPfo {
|
|
data?: Record<string, unknown>;
|
|
}
|
|
|
|
export interface CiecaStl {
|
|
data?: Array<{
|
|
nt_hrs?: number;
|
|
t_amt?: number;
|
|
t_hrs?: number;
|
|
ttl_typecd?: string;
|
|
}>;
|
|
}
|
|
|
|
export interface CiecaTtl {
|
|
data?: {
|
|
supp_amt?: number;
|
|
};
|
|
}
|