Files
esdp/shared/types/raw-job-data.interface.ts

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;
};
}