
    y8hA                         S SK JrJrJrJr  S SKJrJr  S SKJ	r	   " S S\5      r
 " S S\5      r " S S	\5      r " S
 S\5      r " S S\5      r " S S\5      rg)    )	BaseModelFieldHttpUrlfield_validator)OptionalLiteral)datec                       \ rS rSr% \" SSS9r\\S'   \" SSS9r\\S'   \" SS	S9r	\
\   \S
'   \" SSS9r\\S'   \" SSS9r\\S'   \" SSS9r\\S'   Srg)PlanOverview   .z/Name of the subscription plan, e.g., 'Pro Plan'description	plan_namez5Internal identifier for the plan, e.g., 'plan_ABC123'plan_idNz Optional description of the planplan_descriptionz%Start date of the subscription period
start_datez#End date of the subscription periodend_datez/Flag indicating if the plan is currently active	is_active )__name__
__module____qualname____firstlineno__r   r   str__annotations__r   r   r   r   r	   r   r   bool__static_attributes__r       QC:\Suresh\moveshuttle\MDcreated\moveengine\app\v1\models\platform\subscription.pyr   r      ss    3,]^Is^*abGSb&+D>`&ahsmaS.UVJV3,QRHdRC-^_It_r   r   c                   v    \ rS rSr% \" SSS9r\\S'   \" SSS9r\\S'   \" SSS9r	\\S	'   \" SS
S9r
\\S'   Srg)UsageLimits   .zMaximum number of users allowedr   	max_usersz!Maximum number of devices allowedmax_devicesz#Maximum number of geofences allowedmax_geofencesz'Maximum number of tasks allowed per daymax_tasks_per_dayr   N)r   r   r   r   r   r#   intr   r$   r%   r&   r   r   r   r   r!   r!      sK    3,MNIsNS.QRKRs0UVM3V"34]^s^r   r!   c                   d    \ rS rSr% \" SSS9r\\S'   \" SSS9r\	S   \S'   \" SS	S9r
\\S
'   Srg)RenewalPreferences   .z$Whether the subscription auto-renewsr   auto_renewalzCycle of renewal)monthlyyearly	quarterlyrenewal_cyclez+Days before expiry to send renewal reminderreminder_daysr   N)r   r   r   r   r   r+   r   r   r/   r   r0   r'   r   r   r   r   r)   r)      s>    s0VWL$W?DSVh?iM7;<is0]^M3^r   r)   c                       \ rS rSr% \" SSS9r\\   \S'   \" SSS9r	\\
   \S'   \" SSS9r\\
   \S	'   \" SS
S9r\\   \S'   \" SS	SS9S 5       r\" SSS9S 5       rSrg)InvoiceInfo   NzID of the last invoicer   last_invoice_idzDate of the last invoicelast_invoice_datezExpected date for next invoicenext_invoice_datez URL to download the last invoicedownload_invoice_urlbefore)modec                     U=(       d    S $ Nr   clsvs     r   validate_optional_date"InvoiceInfo.validate_optional_date"       yDr   c                     U=(       d    S $ r;   r   r<   s     r   validate_optional_url!InvoiceInfo.validate_optional_url&   rA   r   r   )r   r   r   r   r   r4   r   r   r   r5   r	   r6   r7   r   r   r?   rC   r   r   r   r   r2   r2      s    %*4=U%VOXc]V(-d@Z([x~[(-d@`(ax~a.3DFh.i(7+i(*=HM N +(; <r   r2   c                       \ rS rSr% \" SSS9r\S   \S'   \" SSS9r\	\
   \S	'   \" SS
S9r\	\
   \S'   \" SSS9r\	\
   \S'   \" SSS9r\	\
   \S'   Srg)PaymentMode+   .z,Mode of payment: 'stripe' or 'bank_transfer'r   )stripebank_transferpayment_modeNzStripe customer IDstripe_customer_idzBank account holder's namebank_account_namezBank IBAN number	bank_ibanzName of the bank	bank_namer   )r   r   r   r   r   rJ   r   r   rK   r   r   rL   rM   rN   r   r   r   r   rF   rF   +   st    7<SN|7}L'34}(-d@T(UU',T?['\x}\$T7IJIx}J$T7IJIx}Jr   rF   c                       \ rS rSr% \" SSS9r\\S'   \" SSS9r\	\S'   \" SSS9r
\\S	'   \" SS
S9r\\S'   \" SSS9r\\S'   Srg)SubscriptionSettings3   .z#Details about the subscription planr   plan_overviewz Limits related to resource usageusage_limitszSettings for auto-renewalrenewal_preferenceszInvoice-related informationinvoice_infozPayment method detailspaymentr   N)r   r   r   r   r   rR   r   r   rS   r!   rT   r)   rU   r2   rV   rF   r   r   r   r   rP   rP   3   s^    "'9^"_M<_ %c7Y ZL+Z.3CE`.a+a %c7T UL+U 2JKG[Kr   rP   N)pydanticr   r   r   r   typingr   r   datetimer	   r   r!   r)   r2   rF   rP   r   r   r   <module>rZ      sc    ? ? $ `9 `_) __ _) K) KL9 Lr   