Ë
    a%9jÕ  ã                   ó  — d dl mZ d dlmZ d dlmZ d dlmZ  G d„ dej                  «      Z	 G d„ dej                  «      Z
 G d	„ d
ej                  «      Z G d„ dej                  «      Z G d„ dej                  «      Zy)é    )ÚDecimal)Úsettings)Úmodels)Útimezonec                   óü   — e Zd Z ej                  ej                  ej                  d¬«      Z ej                  dd e
d«      ¬«      Z ej                  dd¬	«      Z ej                  d
¬«      Z G d„ d«      Zd„ Zy)ÚWalletAccountÚwallet_account©Ú	on_deleteÚrelated_nameé   é   ú0.00©Ú
max_digitsÚdecimal_placesÚdefaulté   ÚUSD©Ú
max_lengthr   T©Úauto_nowc                   ó   — e Zd ZdZy)úWalletAccount.MetazWallet accountN)Ú__name__Ú
__module__Ú__qualname__Úverbose_name© ó    ú(/var/www/html/truck-me/billing/models.pyÚMetar      s   „ Ø'‰r!   r#   c                 óT   — d| j                   › d| j                  › d| j                  › �S )NzWallet z: ú )Úuser_idÚbalanceÚcurrency©Úselfs    r"   Ú__str__zWalletAccount.__str__   s'   € Ø˜Ÿ™˜ b¨¯©¨°a¸¿¹°ÐGÐGr!   N)r   r   r   r   ÚOneToOneFieldr   ÚAUTH_USER_MODELÚCASCADEÚuserÚDecimalFieldr   r'   Ú	CharFieldr(   ÚDateTimeFieldÚ
updated_atr#   r+   r    r!   r"   r   r      sz   „ Øˆ6×ÑØ× Ñ Ø—.‘.Ø%ô€Dð
 "ˆf×!Ñ!¨RÀÉ7ÐSYË?Ô[€GØˆv×Ñ¨1°eÔ<€HØ%�×%Ñ%¨tÔ4€J÷(ñ (óHr!   r   c                   ó  — e Zd Z G d„ dej                  «      Z ej                  ej                  ej                  d¬«      Z
 ej                  ddd¬«      Z ej                  d	ej                  ¬
«      Z ej                  dej                   ddd¬«      Z ej                  dej                   ddd¬«      Z ej                  ddd¬«      Z ej                  dd¬«      Z ej*                  d¬«      Z G d„ d«      Zd„ Zy)ÚLedgerEntryc                   ó$   — e Zd ZdZdZdZdZdZdZy)úLedgerEntry.EntryType)ÚWALLET_DEBIT_PAYMENTzWallet debit (shipment payment))ÚWALLET_CREDIT_EARNINGzWallet credit (trip earning))ÚWALLET_CREDIT_TOPUPzWallet credit (top-up))ÚCREDIT_EARNINGz)Credit terms earning (transporter credit))ÚWITHDRAWAL_DEBITzWithdrawal debit)Ú
ADJUSTMENTzManual adjustmentN)	r   r   r   r8   r9   r:   r;   r<   r=   r    r!   r"   Ú	EntryTyper7      s$   „ ØXÐØ WÐØMÐØVˆØAÐØ6‰
r!   r>   Úledger_entriesr
   r   r   z<Signed: positive adds to wallet balance, negative subtracts.)r   r   Ú	help_texté(   ©r   Úchoicesú	core.TripT©r   ÚnullÚblankr   zbilling.Paymenté€   )r   rG   Údb_indexéÿ   ©r   rG   ©Úauto_now_addc                   ó>   — e Zd ZdgZ ej
                  ddg¬«      gZy)úLedgerEntry.Metaú-created_atr/   )ÚfieldsN)r   r   r   Úorderingr   ÚIndexÚindexesr    r!   r"   r#   rO   ?   s#   „ Ø!�?ˆàˆF�L‰L ¨Ð 7Ô8ð
‰r!   r#   c                 óT   — d| j                   › d| j                  › d| j                  › �S )NzLedger r%   )r&   ÚamountÚ
entry_typer)   s    r"   r+   zLedgerEntry.__str__E   s(   € Ø˜Ÿ™˜ a¨¯© }°A°d·o±oÐ5FÐGÐGr!   N)r   r   r   r   ÚTextChoicesr>   Ú
ForeignKeyr   r-   r.   r/   r0   rV   r1   rC   rW   ÚSET_NULLÚtripÚpaymentÚidempotency_keyÚnoter2   Ú
created_atr#   r+   r    r!   r"   r5   r5      s  „ ô7�F×&Ñ&ô 7ð ˆ6×ÑØ× Ñ Ø—.‘.Ø%ô€Dð
 !ˆV× Ñ ØØØPô€Fð
 "�×!Ñ!¨R¸×9JÑ9JÔK€JØˆ6×ÑØØ—/‘/ØØØ%ô€Dð  ˆf×ÑØØ—/‘/ØØØ%ô€Gð '�f×&Ñ&°#¸TÈDÔQ€OØˆ6×Ñ s°$Ô7€DØ%�×%Ñ%°4Ô8€J÷
ñ 
óHr!   r5   c                   óø  — e Zd Z G d„ dej                  «      Z G d„ dej                  «      Z ej                  dej                  d¬«      Z	 ej                  e
j                  ej                  d¬«      Z ej                  e
j                  ej                  d	¬«      Z ej                  d
ej                  ¬«      Z ej"                  dd¬«      Z ej                  dd¬«      Z ej                  dej                  ej(                  ¬«      Z ej                  dd¬«      Z ej                  dd¬«      Z ej0                  ed¬«      Z ej6                  d¬«      Z ej6                  d¬«      Z G d„ d«      Zy)ÚPaymentc                   ó   — e Zd ZdZdZdZdZy)úPayment.Method)ÚWALLETÚWallet)ÚCARDÚCard)ÚCASHÚCash)ÚCREDITzCredit termsN)r   r   r   rd   rf   rh   rj   r    r!   r"   ÚMethodrc   J   s   „ Ø#ˆØˆØˆØ)‰r!   rk   c                   ó(   — e Zd ZdZdZdZdZdZdZdZ	y)	úPayment.Status©ÚPENDINGÚPending)ÚREQUIRES_ACTIONzRequires client action)Ú
PROCESSINGÚ
Processing)ÚCAPTUREDÚCaptured)ÚFAILEDÚFailed)ÚREFUNDEDÚRefunded)ÚPENDING_CODz#Cash on delivery pending collectionN)
r   r   r   ro   rq   rr   rt   rv   rx   rz   r    r!   r"   ÚStatusrm   P   s%   „ Ø&ˆØEˆØ/ˆ
Ø)ˆØ#ˆØ)ˆØJ‰r!   r{   rD   Úpaymentsr
   Úpayments_madeÚpayments_receivedé   rB   r   r   ©r   r   r   r   r   é   ©r   rC   r   rJ   TrK   rH   )r   rG   rL   r   c                   ó   — e Zd ZdgZy)úPayment.MetarP   N©r   r   r   rR   r    r!   r"   r#   r„   n   ó	   „ Ø!�?‰r!   r#   N)r   r   r   r   rX   rk   r{   rY   r.   r[   r   r-   ÚpayerÚpayeer1   rC   Úmethodr0   rV   r(   ro   ÚstatusÚprovider_refr]   Ú	JSONFieldÚdictÚmetadatar2   r_   r3   r#   r    r!   r"   ra   ra   I   s[  „ ô*�×#Ñ#ô *ôK�×#Ñ#ô Kð ˆ6×Ñ˜[°F·N±NÐQ[Ô\€DØˆF×ÑØ× Ñ Ø—.‘.Ø$ô€Eð
 ˆF×ÑØ× Ñ Ø—.‘.Ø(ô€Eð
 ˆV×Ñ¨°V·^±^ÔD€FØ ˆV× Ñ ¨B¸qÔA€FØˆv×Ñ¨1°eÔ<€HØˆV×Ñ¨°V·^±^ÈVÏ^É^Ô\€FØ#�6×#Ñ#¨s¸$Ô?€LØ&�f×&Ñ&°#¸TÔB€OØˆv×Ñ¨°DÔ9€HØ%�×%Ñ%°4Ô8€JØ%�×%Ñ%¨tÔ4€J÷#ò #r!   ra   c                   óð  — e Zd Z G d„ dej                  «      Z ej                  dd¬«      Z ej                  dej                  d¬«      Z
 ej                  ej                  ej                  d¬«      Z ej                  e¬	«      Z ej"                  d
d ed«      ¬«      Z ej"                  d
d¬«      Z ej                  dej*                  ej,                  ¬«      Z ej                  eej2                  ddd¬«      Z ej6                  d¬	«      Z ej:                  dd¬«      Z ej>                  dd¬«      Z  ej:                  e!jD                  ¬	«      Z# ej:                  d¬«      Z$ G d„ d«      Z%y)ÚInvoicec                   ó   — e Zd ZdZdZdZdZy)úInvoice.Status)ÚDRAFTÚDraft)ÚISSUEDÚIssued©ÚPAIDÚPaid)ÚVOIDÚVoidN)r   r   r   r“   r•   r˜   rš   r    r!   r"   r{   r’   s   s   „ Ø ˆØ#ˆØˆØ‰r!   r{   é    T)r   ÚuniquerD   Úinvoicesr
   )r   r   r   r   r   r€   r   r‚   rE   F)rF   rG   rL   c                   ó   — e Zd ZdgZy)úInvoice.Metaz
-issued_atNr…   r    r!   r"   r#   r    ‘   s	   „ Ø �>‰r!   r#   N)&r   r   r   r   rX   r{   r1   ÚnumberrY   r.   r[   r   r-   ÚshipperrŒ   ÚlistÚ
line_itemsr0   r   ÚtaxÚtotalrC   r•   rŠ   ra   rZ   r\   ÚBooleanFieldÚis_archivedr2   Úarchived_atÚ	DateFieldÚdue_dater   ÚnowÚ	issued_atr_   r#   r    r!   r"   r�   r�   r   s]  „ ô�×#Ñ#ô ð ˆV×Ñ¨°DÔ9€FØˆ6×Ñ˜[°F·N±NÐQ[Ô\€DØˆf×ÑØ× Ñ Ø—.‘.Øô€Gð
 "�×!Ñ!¨$Ô/€JØ
ˆ&×
Ñ
¨¸AÁwÈvÃÔ
W€CØˆF×Ñ¨2¸aÔ@€EØˆV×Ñ¨°V·^±^ÈVÏ]É]Ô[€FØˆf×ÑØØ—/‘/ØØØô€Gð &�&×%Ñ%¨eÔ4€KØ&�&×&Ñ&¨D¸Ô=€KØˆv×Ñ T°Ô6€HØ$�×$Ñ$¨X¯\©\Ô:€IØ%�×%Ñ%°4Ô8€J÷"ò "r!   r�   c                   ó²  — e Zd Z G d„ dej                  «      Z ej                  ej                  ej                  d¬«      Z
 ej                  dd¬«      Z ej                  dd	¬
«      Z ej                  dej                  ej                   ¬«      Z ej                  dd¬«      Z ej&                  d¬«      Z ej&                  d¬«      Z G d„ d«      Zy)ÚWithdrawalRequestc                   ó   — e Zd ZdZdZdZdZy)úWithdrawalRequest.Statusrn   )ÚAPPROVEDÚApproved)ÚREJECTEDÚRejectedr—   N)r   r   r   ro   r²   r´   r˜   r    r!   r"   r{   r±   –   s   „ Ø&ˆØ)ˆØ)ˆØ‰r!   r{   Úwithdrawal_requestsr
   r   r   r€   r   r   r   r   r‚   iô  TrK   rL   r   c                   ó   — e Zd ZdgZy)úWithdrawalRequest.MetarP   Nr…   r    r!   r"   r#   r¸   ¨   r†   r!   r#   N)r   r   r   r   rX   r{   rY   r   r-   r.   r/   r0   rV   r1   r(   rC   ro   rŠ   r^   r2   r_   r3   r#   r    r!   r"   r¯   r¯   •   sÅ   „ ô�×#Ñ#ô ð ˆ6×ÑØ× Ñ Ø—.‘.Ø*ô€Dð
 !ˆV× Ñ ¨B¸qÔA€FØˆv×Ñ¨1°eÔ<€HØˆV×Ñ¨°V·^±^ÈVÏ^É^Ô\€FØˆ6×Ñ s°$Ô7€DØ%�×%Ñ%°4Ô8€JØ%�×%Ñ%¨tÔ4€J÷#ò #r!   r¯   N)Údecimalr   Údjango.confr   Ú	django.dbr   Údjango.utilsr   ÚModelr   r5   ra   r�   r¯   r    r!   r"   ú<module>r¾      sh   ðÝ å  Ý Ý !ôH�F—L‘Lô Hô"-H�&—,‘,ô -Hô`&#ˆf�l‰lô &#ôR "ˆf�l‰lô  "ôF#˜Ÿ™õ #r!   