
    iY1                     @   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        h/var/www/html/hwPaymentPortal-be-dev/hw-payment-portal-api/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                   Z   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      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d0<    ed1      Z)ee(   ed2<   y3)4MerchantSchemaId of merchant resourcer   idAUnique Id of merchant resource, typically has the form 'mer_xxxx'merchant_id!System generated uuid of merchantuuidTilled account id of usertilled_account_id+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Tilled customer id of usertilled_customer_id"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>   r0   r@   rB   rD   r   rF   rH   rJ   r   rL   r   r   rN   r   rP   rR   rT   rV   rX   rZ   r\   r^   r   r+   r_   floatr`   r   r    r!   r2   r2   9   st    9:B:WK  #FGD$G',9T'Ux}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  ).:V(WWMR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<   rM   rN   rO   rP   rQ   rR   rW   rX   rS   rT   r=   r>   r?   r@   rA   rB   rU   rV   zmerchant global preferencespreferencesrY   rZ   rC   rD   rE   rF   N)r   r   r   r   r4   r   r   r6   r   r8   r   r<   r   rN   r   rP   rR   rX   r   rT   r   r>   r0   r@   rB   rV   rd   r   rZ   rD   rF   r   r    r!   rc   rc      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    rc   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 contactrX   websitez)Selected timezone of the customer contacttimezone)r   r   r   r   r$   r   r   r   r'   r(   rl   r>   r0   rm   rX   r   rn   ro   r   r    r!   rf   rf      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    rf   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 contacNrg   r$   ri   r'   rj   r(   rk   location_typezAddress relationship fieldaddressz.Merchant location details is active/not activer   r>   )r   r   r   r   r$   r   r   r   r'   r(   rr   rs   r   r>   r0   r   r    r!   rq   rq      s    ,EtTD(3-T -HRVWE8C=W 6E8C=  $)6$M8C=  (-0$(GXm$  !&D!Ix~ r    rq   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      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d0      Z(eee)      ed1<    ed      Z*ee	   ed2<    ed3d45      Z+ee,   ed6<    ed3d75      Z-ee,   ed8<   y3)9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   z:Business Profile / Onboarding information of this merchantbusiness_profilez$Onboarding progress of this merchantonboarding_progressrM   rN   rO   rP   rQ   rR   rS   rT   rU   rV   rW   rX   rY   rZ   r[   r\   r]   r^   r+   Nz@Average amount of all successful transactions for this merchant.)rh   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>   r0   r@   rB   rD   r   rF   rH   rJ   r   rL   r   r   rv   r   rw   r   rN   r   rP   rR   rT   rV   rX   rZ   r\   r^   r   r+   rx   ra   ry   r   r    r!   ru   ru      s   *CDBD!&W"K#  !-PQD(4.Q',9T'Ux}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  ).:V(WWMR8Nht,H'IJ  ',W'hsm   %V GXe_   %Q GXe_ r    ru   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   rv   r   3src.apps.merchants.schemas.merchant_payment_historyr   r   r#   r-   r2   rc   rf   rq   ru   r   r    r!   <module>r      s      ' '  & 3 6 A 9 3
Lz L: * S\ Sl)< )X* (: "J* Jr    