
    fei1                     @   d dl mZ d dlmZ d dlmZmZmZ d dlmZ d dl	m
Z
 d dlmZ d dlmZ d dlmZ d d	lmZ d
dlmZ d dlm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)    )Field)datetime)ListOptionalDict)UUID)EmailStr)
BaseSchema)AddressSchema)FileResponseSchema)
UserSchema   )BusinessProfileSchema)MerchantPaymentHistorySchemac                   ~    e Zd ZU  ed      Zeed<    ed      Zeed<    ed      Z	eed<    ed      Z
eed	<   y
) MerchantOnboardingProgressSchemaz3Human readable description of the progress. e.g 70%descriptionlabelzProgress valuevaluezProgress value unitunitzMathematical symbol of the unitunit_symbolN)__name__
__module____qualname__r   r   str__annotations__r   intr   r        Z/var/www/html/hwPaymentPortal-be-uat/backend/src/apps/merchants/schemas/merchant_common.pyr   r      sH    IE3  #34E34"78D#8)JKKKr    r   c                      e Zd ZU  ed      Zee   ed<    ed      Zee   ed<    ed      Z	ee   ed<    ed      Z
ee   ed	<    ed
      Zee   ed<    ed      Zee   ed<    ed      Zee   ed<    ed      Zee   ed<   y)MerchantBasez;Name of merchant, inclusive of alphanumeric characters onlyr   namez$Merchant's officiating industry nameindustryzMerchant taglinetaglinez0Contact email of merchant, A valid email addressemailz/Contact phone of merchant, A valid phone numberphonez9A registration could contain only alphanumeric charactersregistration_nozLicense Number of merchant
license_noz]Merchant Literal, just a simple 6 digit code to identify the merchant in a human readable waymerchant_literalN)r   r   r   r   r$   r   r   r   r%   r&   r'   r	   r(   r)   r*   r+   r   r    r!   r#   r#      s    QD(3-  $0VWHhsmW"/ABGXc]B %F!E8H  !EE8C=  &+O&OXc]  !&2N OJO&+s'hsm r    r#   c                   R    e Zd ZU  ed      Zee   ed<    ed      Zee	   ed<   y)MerchantUserSchemaz/The user resource associated with this merchantr   userz/Is this user the owner of the merchant account?is_ownerN)
r   r   r   r   r.   r   r   r   r/   boolr   r    r!   r-   r-   0   s5    !&E"D(:
   %E Hhtn r    r-   c                   |   e Zd ZU  ed      Zeed<    ed      Zeed<    ed      Z	e
ed<    ed      Zee   ed	<    ed
      Zee   ed<    ed      Zee   ed<    ed      Zee   ed<    ed      Zee   ed<    ed      Zee   ed<    ed      Zee   ed<    ed      Zee   ed<    ed      Zee   ed<    ed      Zee   ed<    ed      Zeee      ed<    ed      Zee   ed<    ed       Zee   ed!<    ed"      Zee   ed#<    ed$      Z ee   ed%<    ed&      Z!ee   ed'<    ed(      Z"ee   ed)<    ed*      Z#ee   ed+<    ed,      Zee   ed<    ed-      Z$eee%      ed.<    ed      Z&ee   ed/<    ed0      Z'ee(   ed1<    ed2      Z)ee(   ed3<   y4)5MerchantSchemaId of merchant resourcer   idAUnique Id of merchant resource, typically has the form 'mer_xxxx'merchant_id!System generated uuid of merchantuuidPayrix account id of userpayrix_account_idPayrix account status of userpayrix_status+Universal Identification Number of merchantuinJActivation status of merchant, false denotes that the merchant is inactive	is_activeNVerification status of merchant, false denotes that the merchant is unverifiedis_verified[Onboarding status of merchant, false denotes that the merchant has not completed onboardingis_onboarded'Created date and time as unix timestamp
created_at'Updated date and time as unix timestamp
updated_at'Deleted date and time as unix timestamp
deleted_at&Administrator of this merchant accountowner"Addresses of this merchant account	addressesBrand logo of merchant
brand_logoBrand logo url of merchantlogo_urlActive site url of merchantactive_domain(Default Address of this merchant accountdefault_address4Terms & Condition acceptance status of the merchant.tnc_accepted(User date of birth in formate YYYY/MM/DDdob(Tilled Onboarding Status of the merchantstatusPayrix status of merchant"payments history for this merchantmerchant_payment_historyr+   z!Avg paid amount for this merchant
avg_volumez%Avg MTD paid amount for this merchant
mtd_volumeN)*r   r   r   r   r4   r   r   r6   r   r8   r   r:   r   r<   r>   r@   r0   rB   rD   rF   r   rH   rJ   rL   r   rN   r   r   rP   r   rR   rT   rV   rX   rZ   r\   r_   r   r+   r`   floatra   r   r    r!   r2   r2   9   s    9:B:WK  #FGD$G',9T'Ux}U#(5T#UM8C=UAC#  !&`!Ix~  #(d#K$  $)q$L(4.  &+=&J"  &+=&J"  &+=&J"  #(<#E8J  0580Ix]+,  05,0J+,  $0LMHhsmM#(5R#SM8C=S/4>0OXm,  $)J$L(4.  $>C(	  ">FHSM  $)5P#QM8C=QMR8Nht,H'IJ  ',W'hsm  #(7#J  #(;#J r    r2   c                   >   e Zd ZU  ed      Zeed<    ed      Zeed<    ed      Z	e
ed<    ed      Zee   ed	<    ed
      Zee   ed<    ed      Zee   ed<    ed      Zee   ed<    ed      Zee   ed<    ed      Zee   ed<    ed      Zee   ed<    ed      Zee   ed<    ed      Zee   ed<    ed      Zee   ed<    ed      Zee   ed<    ed      Zee   ed<    ed       Zee   ed!<    ed"      Zee   ed#<   y$)%NestedMerchantSchemar3   r   r4   r5   r6   r7   r8   r=   r>   rO   rP   rQ   rR   rS   rT   rY   rZ   rU   rV   r?   r@   rA   rB   rC   rD   rW   rX   zmerchant global preferencespreferencesr[   r\   rE   rF   rG   rH   N)r   r   r   r   r4   r   r   r6   r   r8   r   r>   r   rP   r   rR   rT   rZ   r   rV   r   r@   r0   rB   rD   rX   re   r   r\   rF   rH   r   r    r!   rd   rd      s    9:B:WK  #FGD$GAC#  05,0J+,  $0LMHhsmM#(5R#SM8C=S#>C(	  05>0OXm,  !&`!Ix~  #(d#K$  $)q$L(4.  $)J$L(4.  #(4Q"RK$R!>FHSM  &+=&J"  &+=&J" r    rd   c                   H   e Zd ZU  edd      Zee   ed<    edd      Zee   ed<    edd      Z	ee   ed<    ed	d      Z
ee   ed
<    ed      Zee   ed<    ed      Zee   ed<    ed      Zee   ed<    ed      Zee   ed<    ed      Zee   ed<   y)MerchantContactBasezName of merchant contactNr   defaultr$   Email of merchant contactr'    Phone number of merchant contactr(    Contact type of merchant contactcontact_typez-Merchant contact details is active/not activer   r@   zWebsite of the customer contacttitlezDOB of the Customer contactrZ   websitez)Selected timezone of the customer contacttimezone)r   r   r   r   r$   r   r   r   r'   r(   rm   r@   r0   rn   rZ   r   ro   rp   r   r    r!   rg   rg      s    ,FPTUD(3-U -HRVWE8C=W 6E8C=  #(6#L(3-  !&C!Ix~  !-NOE8C=O#0MNC(	N"/PQGXc]Q#?Hhsm r    rg   c                       e Zd ZU  edd      Zee   ed<    edd      Zee   ed<    edd      Z	ee   ed<    ed	d      Z
ee   ed
<    edd      Zee   ed<    ed      Zee   ed<   y)MerchantLocationBasezName of merchant contacNrh   r$   rj   r'   rk   r(   rl   location_typezAddress relationship fieldaddressz.Merchant location details is active/not activer   r@   )r   r   r   r   r$   r   r   r   r'   r(   rs   rt   r   r@   r0   r   r    r!   rr   rr      s    ,EtTD(3-T -HRVWE8C=W 6E8C=  $)6$M8C=  (-0$(GXm$  !&D!Ix~ r    rr   c                      e Zd ZU  ed      Zee   ed<    ed      Zee	   ed<    ed      Z
ee   ed<    ed      Zee	   ed	<    ed
      Zee	   ed<    ed      Zee	   ed<    ed      Zee   ed<    ed      Zee   ed<    ed      Zee   ed<    ed      Zee   ed<    ed      Zee   ed<    ed      Zee   ed<    ed      Zee   ed<    ed      Zeee      ed<    ed      Zee   ed<    ed       Zee   ed!<    ed"      Z ee!   ed#<    ed$      Z"ee	   ed%<    ed&      Z#ee	   ed'<    ed(      Z$ee   ed)<    ed*      Z%ee   ed+<    ed,      Z&ee   ed-<    ed.      Z'ee	   ed/<    ed0      Zee	   ed<    ed1      Z(eee)      ed2<    ed      Z*ee	   ed3<    ed4d56      Z+ee,   ed7<    ed4d86      Z-ee,   ed9<   y4):AdminMerchantSchemar3   r   r4   r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   rC   rD   rE   rF   rG   rH   rI   rJ   rK   rL   rM   rN   z:Business Profile / Onboarding information of this merchantbusiness_profilez$Onboarding progress of this merchantonboarding_progressrO   rP   rQ   rR   rS   rT   rU   rV   rW   rX   rY   rZ   r[   r\   r]   r^   r_   r+   Nz@Average amount of all successful transactions for this merchant.)ri   r   avg_volz;Month-to-date average transaction amount for this merchant.mtd_vol).r   r   r   r   r4   r   r   r   r6   r   r8   r   r:   r<   r>   r@   r0   rB   rD   rF   r   rH   rJ   rL   r   rN   r   r   rw   r   rx   r   rP   r   rR   rT   rV   rX   rZ   r\   r_   r   r+   ry   rb   rz   r   r    r!   rv   rv      s   *CDBD!&W"K#  !-PQD(4.Q',9T'Ux}U#(5T#UM8C=UAC#  !&`!Ix~  #(d#K$  $)q$L(4.  &+=&J"  &+=&J"  &+=&J"  #(<#E8J  0580Ix]+,  9>P9h45  GL:G"BC  05,0J+,  $0LMHhsmM#(5R#SM8C=S/4>0OXm,  $)J$L(4.  $>C(	  ">FHSM  $)5P#QM8C=QMR8Nht,H'IJ  ',W'hsm   %V GXe_   %Q GXe_ r    rv   N)pydanticr   r   typingr   r   r   r8   r   pydantic.networksr	   src.apps.base.schemas.commonr
   r   "src.apps.files.schemas.file_commonr   "src.apps.users.schemas.user_commonr   rw   r   3src.apps.merchants.schemas.merchant_payment_historyr   r   r#   r-   r2   rd   rg   rr   rv   r   r    r!   <module>r      s      ' '  & 3 6 A 9 3
Lz L: * T\ Tn)< )X* (: "K* Kr    