
    _Ej                     z   d dl mZ d dlmZmZ ed   Zed   Zed   Zed   Zed   Z	ed   Z
 G d	 d
e      Z G d de      Z G d de      Z G d de      Z G d de      Z G d de      Z G d de      Z G d de      Z G d de      Z G d de      Z G d de      Z G d d e      Z G d! d"e      Zy#)$    )Literal)	BaseModelField)unknowninvoiceinstant_invoicedelivery_note)
processingreadyerror)pendingnot_startedready_for_match)	to_reviewreviewed)importedunsupportedr   )matchedno_candidateno_document_linesc                      e Zd ZU eed<   dZedz  ed<   dZedz  ed<   eed<   dZedz  ed<   dZ	edz  ed<   dZ
edz  ed<   dZedz  ed	<   dZedz  ed
<   dZedz  ed<   dZedz  ed<   dZedz  ed<   dZedz  ed<   dZedz  ed<   dZeed<   dZedz  ed<    ee      Zee   ed<   dZeed<   dZedz  ed<   dZedz  ed<   dZedz  ed<   dZedz  ed<    ee      Zeeeef      ed<   y)FiscalDocumentLineItemRead
line_indexNproduct_codeiso_codedescriptioncategory_code	unit_code
pack_countquantitygross_quantitytare_quantitynet_quantity
unit_price
line_totalvat_code raw_row_textsource_pagedefault_factorysource_row_idssource_textextraction_confidencenormalized_product_idnormalized_product_namenormalization_confidenceproduct_candidates) __name__
__module____qualname__int__annotations__r   strr   r   r   r   floatr    r!   r"   r#   r$   r%   r&   r(   r)   r   listr,   r-   r.   r/   r0   r1   r2   dictobject     /apps/backend-hub/app/models/fiscal_documents.pyr   r      sD   O#L#*#HcDj $M3:$ IsTz #J#!Hedl!#'NEDL'"&M54<&!%L%$,%#J##J#HcDjL#"Kt" %d ;NDI;K*.54<.(,3:,*.S4Z.-1edl1272MT#v+./Mr>   r   c                   D   e Zd ZU ed   ed<   dZeed<   dZedz  ed<   dZ	e
dz  ed<   dZe
dz  ed<   dZe
dz  ed	<   dZedz  ed
<   dZedz  ed<   dZedz  ed<   dZedz  ed<   dZedz  ed<   dZedz  ed<   dZe
dz  ed<   dZe
dz  ed<   dZe
dz  ed<   dZedz  ed<   y) FiscalDocumentOrderMatchLineRead)exactpartialmissingextraover_deliveredstatus        
confidenceNorder_item_idorder_product_nameorder_lot_codeorder_supplier_nameordered_quantitydelivered_quantitycomparable_delivered_quantitymissing_quantityextra_quantitydocument_line_indexdocument_descriptiondocument_raw_row_textdocument_unit_codedocument_quantity)r3   r4   r5   r   r7   rI   r9   rJ   r6   rK   r8   rL   rM   rN   rO   rP   rQ   rR   rS   rT   rU   rV   rW   r=   r>   r?   rA   rA   (   s    LMMJ $M3:$%)d
)!%NC$J%&*t*%)edl)'++26!54<6%)edl)#'NEDL'&*t*'+#*+(,3:,%)d
)&*ut|*r>   rA   c                       e Zd ZU eed<   dZedz  ed<   dZedz  ed<   dZ	edz  ed<   dZ
edz  ed<   dZeed<   d	Zeed
<   d	Zeed<   d	Zeed<   d	Zeed<   dZeed<    ee      Zee   ed<   y)FiscalDocumentOrderMatchReadrG   Nmatched_batch_idmatched_batch_confirmed_atmatched_batch_staffmatched_supplier_namerH   scorer   line_match_countexact_line_countmissing_line_countextra_line_countFcan_apply_stornor*   lines)r3   r4   r5   FiscalDocumentOrderMatchStatusr7   rZ   r6   r[   r8   r\   r]   r^   r9   r_   r`   ra   rb   rc   boolr   r:   rd   rA   r=   r>   r?   rY   rY   ;   s    **#'cDj'-1d
1&*t*(,3:,E5ccc"d"49$4OE401Or>   rY   c                   v   e Zd ZU eed<   eed<   eed<   eed<   eed<   eed<   eed<   dZedz  ed	<   dZedz  ed
<   dZ	edz  ed<   dZ
edz  ed<   dZeed<   dZeed<   dZeed<   dZeed<   dZedz  ed<   dZedz  ed<   dZedz  ed<   dZedz  ed<   dZedz  ed<    ee      Zee   ed<   dZedz  ed<   dZeed<   eed<   dZeed<   d Z e!ed!<   dZ"edz  ed"<   d#Z#eed$<   dZ$edz  ed%<   dZ%edz  ed&<   dZ&e'd'   dz  ed(<   dZ(edz  ed)<   dZ)edz  ed*<    ee      Z*ee+ee,f      ed+<   eed,<   eed-<   y).FiscalDocumentReadidoriginal_namedisplay_name	mime_typekindfile_size_bytesdocument_typeNdocument_numberdocument_datesupplier_nametotal_amountEURcurrencyr'   summary_textextracted_textpreview_textdrive_file_iddrive_web_urldrive_uploaded_atcovered_by_document_idcovered_by_document_namer*   
line_itemsorder_matchFhas_order_discrepancyrG   r   matching_statusr   review_statuserror_detaillegacyanalysis_engineanalysis_engine_versionanalysis_run_id)auto_approvedneeds_reviewrejectedanalysis_decisionanalysis_confidencesource_page_countvalidation_messages
created_at
updated_at)-r3   r4   r5   r8   r7   r6   FiscalDocumentTyperp   rq   rr   rs   r9   ru   rv   rw   rx   ry   rz   r{   r|   r}   r   r:   r~   r   r   rY   r   rf   FiscalDocumentStatusr   FiscalMatchingStatusr   FiscalReviewStatusr   r   r   r   r   r   r   r   r   r;   r<   r=   r>   r?   rh   rh   J   s   GN
I%%"&OS4Z& $M3:$ $M3:$!%L%$,%HcL#NCL# $M3:$ $M3:$$(sTz()-C$J-+/cDj/383NJ/0N7;K-4;"'4'  ,5O)5(3M%3#L#*##OS#*.S4Z."&OS4Z&UYwJKdRY(,,$(sTz(383Nd3;/0NOOr>   rh   c                      e Zd ZU  ed      Zeed<   dZedz  ed<   dZ	edz  ed<   dZ
edz  ed<    edd      Zedz  ed	<    edd      Zedz  ed
<    edd      Zedz  ed<    edd      Zedz  ed<    edd      Zedz  ed<    edd      Zedz  ed<    edd      Zedz  ed<    edd      Zedz  ed<   dZedz  ed<   y)FiscalDocumentV2LineCorrectionr   )ger   Nr   r   r   )defaultr   r   r    r!   r"   r#   r$   r%   )r   gtr/   r0   )r3   r4   r5   r   r   r6   r7   r   r8   r   r   r   r9   r    r!   r"   r#   r$   r%   r/   r0   r=   r>   r?   r   r   q   s    qkJ!"Kt"#L#*# IsTz $Ta8J8"4A6Hedl6#(!#<NEDL<"'";M54<;!&t!:L%$,:$Ta8J8$Ta8J8(-dq(A3:A*.S4Z.r>   r   c                   b    e Zd ZU  ee      Zee   ed<    edd      Ze	dz  ed<   dZ
eed<   y)	FiscalDocumentV2ReviewPayloadr*   correctionsNi  )r   
max_lengthnoteFconfirm_document)r3   r4   r5   r   r:   r   r   r7   r   r8   r   rf   r=   r>   r?   r   r      s7    8=d8SK45STd;D#*;"d"r>   r   c                       e Zd ZU  ee      Zee   ed<   dZe	ed<   dZ
e	ed<   dZe	ed<   dZe	ed<   dZe	ed<   dZe	ed	<   d
Ze	ed<   dZe	ed<   dZeed<   y)FiscalDocumentsListResponser*   itemsr   total_countarchive_total_countinvoice_countinstant_invoice_countdelivery_note_countto_review_count2   limitoffsetFhas_moreN)r3   r4   r5   r   r:   r   rh   r7   r   r6   r   r   r   r   r   r   r   r   rf   r=   r>   r?   r   r      sr    &+D&AE4"#AK  M3!"3"  OSE3OFCOHdr>   r   c                       e Zd ZU dZeed<   y)!FiscalDocumentNotificationSummaryr   discrepancy_countN)r3   r4   r5   r   r6   r7   r=   r>   r?   r   r      s    sr>   r   c                   D    e Zd ZU dZedz  ed<   dZeed<   dZedz  ed<   y)FiscalDocumentSettingsReadNinbound_emailFmailbox_configuredr   )	r3   r4   r5   r   r8   r7   r   rf   r   r=   r>   r?   r   r      s)     $M3:$$$!Jd
!r>   r   c                   "    e Zd ZU dZedz  ed<   y)#FiscalDocumentSettingsUpdatePayloadNr   )r3   r4   r5   r   r8   r7   r=   r>   r?   r   r      s     $M3:$r>   r   c                       e Zd ZU dZeed<   dZedz  ed<   dZeed<   dZ	eed<   dZ
edz  ed<   dZeed<   dZeed	<   dZeed
<   eed<   y)FiscalDocumentInboxStatusReadFr   Nr   google_configuredgoogle_connectedgoogle_account_emailgmail_scope_grantedmailbox_matches_google_accountready_for_sync	next_step)r3   r4   r5   r   rf   r7   r   r8   r   r   r   r   r   r   r=   r>   r?   r   r      se    $$ $M3:$#t#"d"'+#*+ %%+0"D0 ND Nr>   r   c                       e Zd ZU eed<   eed<   eed<   dZeed<   dZedz  ed<   dZedz  ed<   eed	<   eed
<   eed<   dZ	edz  ed<   dZ
edz  ed<   eed<   eed<   y)FiscalDocumentInboxItemReadri   
message_idattachment_idr'   subjectNsenderreceived_atattachment_namerl   sync_statusdocument_idr   r   r   )r3   r4   r5   r8   r7   r   r   r   FiscalDocumentInboxSyncStatusr   r   r=   r>   r?   r   r      so    GOGSFC$J"Kt"N.."Kt"#L#*#OOr>   r   c                   h    e Zd ZU  ee      Zee   ed<   dZe	ed<   dZ
e	ed<   dZe	ed<   dZe	ed<   y)	FiscalDocumentInboxListResponser*   r   r   r   imported_countunsupported_counterror_countN)r3   r4   r5   r   r:   r   r   r7   r   r6   r   r   r   r=   r>   r?   r   r      s@    /4T/JE4+,JKNCsKr>   r   N)typingr   pydanticr   r   r   r   r   r   r   re   r   rA   rY   rh   r   r   r   r   r   r   r   r   r   r=   r>   r?   <module>r      s     % UV => JK 45  '(J K !()W!X N N4+y +&P9 P$ $N/Y / #I #
) 
	 " "%) %	I 	)  i r>   