
    jofM                       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mZ d d	lmZmZmZmZmZmZ d d
lmZmZmZmZmZ erNd 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. d dl/m0Z0 d dl1m2Z2 d dl3m4Z4 d dl5m6Z6 d dl7m8Z8  G d ded         ed         ed                   Z9dS )    )CreateableAPIResource)ExpandableField)
ListObject)ListableAPIResource)RequestOptions)StripeObject)UpdateableAPIResource)class_method_variantsanitize_id)ClassVarDictListOptionalcastoverload)LiteralNotRequired	TypedDictUnpackTYPE_CHECKING)Account)Application)Coupon)Customer)Discount)PaymentMethod)Plan)Price)PromotionCode)Subscription)TaxId)TaxRate)	TestClockc                   \   e Zd ZU dZdZeed                  ed<    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 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 d0 d1e          Z! G d2 d3e          Z" G d4 d5e          Z# G d6 d7e          Z$ G d8 d9e          Z% G d: d;e          Z& G d< d=e          Z' G d> d?e          Z( G d@ dAe          Z) G dB dCe          Z* G dD dEe          Z+ G dF dGe          Z, G dH dIe          Z- G dJ dKe          Z. G dL dMe          Z/ G dN dOe          Z0 G dP dQe          Z1 G dR dSe          Z2 G dT dUe          Z3 G dV dWe          Z4 G dX dYe          Z5 G dZ d[e          Z6 G d\ d]e          Z7 G d^ d_e          Z8 G d` dae          Z9 G db dce          Z: G dd dee          Z; G df dge          Z< G dh die          Z= G dj dke          Z> G dl dme          Z? G dn doe          Z@ G dp dqe          ZA G dr dse          ZB G dt due          ZC G dv dwe          ZD G dx dye          ZEeFeGdz                  ed{<   	 eFeH         ed|<   	 eFeH         ed}<   	 eHed~<   	 eFe	         ed<   	 eGd         ed<   	 e
ed<   ed         ed<   	 eIed<   	 eJed<   	 eFeKeIeIf                  ed<   	 ed         ed<   	 eLe         ed<   	 eFeH         ed<   	 eFeI         ed<   	 ed         ed<   	 eFeGd                  ed<   	 eFeGd                  ed<   	 eMdeIdeNd         dd fd            ZOePeQdeIdeNd         dd fd                        ZRePdeNd         dd fd            ZR eSd          deNd         dd fd            ZReMdeIdeNd         dd fd            ZTePeQdeIdeNd         dd fd                        ZUePdeNd         dd fd            ZU eSd          deNd         dd fd            ZUeMdeNd         dd fd            ZVeMdeNd         dd fd            ZWeMdeNd         deXd          fd            ZYeMdeNd         deXd          fd            ZZeMdeIdeNd         dd fd            Z[eMdeIdeNd         dd fd            Z\eMdeIdeNd         dd fd            Z]ePeQdeIdeNd         dd fd                        Z^ePdeNd         dd fd            Z^ eSd          deNd         dd fd            Z^eMdeIdeNd         dd fd            Z_ePeQdeIdeNd         dd fd                        Z`ePdeNd         dd fd            Z` eSd          deNd         dd fd            Z`eMdeIdeNd         dd fd            ZaeMdeIdeNd         dd fd            Zbe	e
edZcdS )SubscriptionSchedulez
    A subscription schedule allows you to create and manage the lifecycle of a subscription by predefining expected changes.

    Related guide: [Subscription schedules](https://stripe.com/docs/billing/subscriptions/subscription-schedules)
    subscription_scheduleOBJECT_NAMEc                   &    e Zd ZU eed<   	 eed<   dS )!SubscriptionSchedule.CurrentPhaseend_date
start_dateN__name__
__module____qualname__int__annotations__     W/var/www/html/Alfredo/env/lib/python3.11/site-packages/stripe/_subscription_schedule.pyCurrentPhaser)   3   s/         	 	 	r3   r5   c                      e Zd ZU  G d de          Z G d de          Z G d de          Z G d de          Zee	         e
d	<   	 ee         e
d
<   ed         e
d<   	 ee         e
d<   	 eed                  e
d<   	 eed                  e
d<   	 ee         e
d<   	 ee
d<   eed                  e
d<   	 ee         e
d<   	 eeeedZdS )$SubscriptionSchedule.DefaultSettingsc                   X    e Zd ZU  G d de          Zeed<   	 ee         ed<   	 deiZdS )1SubscriptionSchedule.DefaultSettings.AutomaticTaxc                   J    e Zd ZU eed                  ed<   	 ed         ed<   dS );SubscriptionSchedule.DefaultSettings.AutomaticTax.Liabilityr   accountr<   selftypeNr-   r.   r/   r   r   r1   r   r2   r3   r4   	Liabilityr;   ?   E         !/)"<==== /0000 r3   rA   enabled	liabilityN	r-   r.   r/   r   rA   boolr1   r   _inner_class_typesr2   r3   r4   AutomaticTaxr9   >   q             L    MMM  	**** #.y!9r3   rH   c                   >    e Zd ZU ee         ed<   	 ee         ed<   dS )6SubscriptionSchedule.DefaultSettings.BillingThresholds
amount_gtereset_billing_cycle_anchorNr-   r.   r/   r   r0   r1   rF   r2   r3   r4   BillingThresholdsrK   S   =          %%% )1666 r3   rO   c                       e Zd ZU  G d de          Zeeed                           ed<   	 ee	         ed<   	 eed<   deiZ
dS )4SubscriptionSchedule.DefaultSettings.InvoiceSettingsc                   J    e Zd ZU eed                  ed<   	 ed         ed<   dS );SubscriptionSchedule.DefaultSettings.InvoiceSettings.Issuerr   r<   r=   r?   Nr@   r2   r3   r4   IssuerrT   ^   rB   r3   rU   r!   account_tax_idsdays_until_dueissuerNr-   r.   r/   r   rU   r   r   r   r1   r0   rG   r2   r3   r4   InvoiceSettingsrR   ]   s                 &d?7+C&DEEEE %SM))) NNN"*F!3r3   rZ   c                   >    e Zd ZU ee         ed<   	 ed         ed<   dS )1SubscriptionSchedule.DefaultSettings.TransferDataamount_percentr   destinationNr-   r.   r/   r   floatr1   r   r2   r3   r4   TransferDatar\   s   >         $UO+++ )3333 r3   ra   application_fee_percentautomatic_tax	automaticphase_startbilling_cycle_anchorbilling_thresholdscharge_automaticallysend_invoicecollection_methodr   default_payment_methoddescriptioninvoice_settingsr   on_behalf_oftransfer_data)rd   ri   rp   rr   N)r-   r.   r/   r   rH   rO   rZ   ra   r   r`   r1   r   r   strrG   r2   r3   r4   DefaultSettingsr7   =   s        	: 	: 	: 	: 	:< 	: 	: 	:*	 	 	 	 	 	 	 		4 	4 	4 	4 	4l 	4 	4 	4,	 	 	 	 	< 	 	 	 "*%000	  ----%&@AAAA	 %%67777	 $:;
 	
 	
 	
	 !))I JJJJ	 c]"""	 *)))y9::::	  ----	 *"3 /)	
 
r3   rt   c                      e Zd ZU  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
ee         ed<   	 ee         ed<   	 ee         ed<   eed                  ed<   	 ee         ed<   	 eed                  ed<   	 eed                  ed<   	 eed<   	 eed                  ed<   	 eed                  ed<   	 ee         ed<   	 ee         ed<   	 eed <   	 ee         ed!<   	 ee	         ed"<   	 eeeef                  ed#<   	 eed$                  ed%<   	 ed&         ed'<   	 eed(<   	 ee
         ed)<   	 ee         ed*<   	 eeeeee	e
d+Zd,S )-SubscriptionSchedule.Phasec                       e Zd ZU  G d de          Zee         ed<   	 ed         ed<   	 ee	         ed<   	 eed                  ed<   	 deiZ
d	S )
)SubscriptionSchedule.Phase.AddInvoiceItemc                   z    e Zd ZU eed                  ed<   	 eed                  ed<   	 eed                  ed<   dS )2SubscriptionSchedule.Phase.AddInvoiceItem.Discountr   couponDiscountResourcediscountr   promotion_codeNr-   r.   r/   r   r   r1   r2   r3   r4   r   rz      g          !:;;;; #?3E#FGGGG !))I JJJJ r3   r   	discountsr   pricequantityr"   	tax_ratesN)r-   r.   r/   r   r   r   r1   r   r   r0   rG   r2   r3   r4   AddInvoiceItemrx      s             <    H~%%% #7++++ sm###  Y0000 #.x!8r3   r   c                   X    e Zd ZU  G d de          Zeed<   	 ee         ed<   	 deiZdS )'SubscriptionSchedule.Phase.AutomaticTaxc                   J    e Zd ZU eed                  ed<   	 ed         ed<   dS )1SubscriptionSchedule.Phase.AutomaticTax.Liabilityr   r<   r=   r?   Nr@   r2   r3   r4   rA   r      rB   r3   rA   rC   rD   NrE   r2   r3   r4   rH   r      rI   r3   rH   c                   >    e Zd ZU ee         ed<   	 ee         ed<   dS ),SubscriptionSchedule.Phase.BillingThresholdsrL   rM   NrN   r2   r3   r4   rO   r      rP   r3   rO   c                   z    e Zd ZU eed                  ed<   	 eed                  ed<   	 eed                  ed<   dS )#SubscriptionSchedule.Phase.Discountr   r{   r|   r}   r   r~   Nr   r2   r3   r4   r   r      sg         _X67777 /ABCCCC %__%EFFFF r3   r   c                       e Zd ZU  G d de          Zeeed                           ed<   	 ee	         ed<   	 ee         ed<   	 deiZ
dS )*SubscriptionSchedule.Phase.InvoiceSettingsc                   J    e Zd ZU eed                  ed<   	 ed         ed<   dS )1SubscriptionSchedule.Phase.InvoiceSettings.Issuerr   r<   r=   r?   Nr@   r2   r3   r4   rU   r      rB   r3   rU   r!   rV   rW   rX   NrY   r2   r3   r4   rZ   r      s                 &d?7+C&DEEEE %SM))) V$$$$ #+F!3r3   rZ   c                      e Zd ZU  G d de          Z G d de          Zee         ed<   	 ee         ed<   	 ee	e
e
f                  ed<   	 ed         ed	<   	 ed
         ed<   	 ee         ed<   	 eed                  ed<   	 eedZdS )SubscriptionSchedule.Phase.Itemc                   &    e Zd ZU ee         ed<   dS )1SubscriptionSchedule.Phase.Item.BillingThresholds	usage_gteN)r-   r.   r/   r   r0   r1   r2   r3   r4   rO   r     s&         #C=((( r3   rO   c                   z    e Zd ZU eed                  ed<   	 eed                  ed<   	 eed                  ed<   dS )(SubscriptionSchedule.Phase.Item.Discountr   r{   r|   r}   r   r~   Nr   r2   r3   r4   r   r     r   r3   r   ri   r   metadatar   planr   r   r   r"   r   )ri   r   N)r-   r.   r/   r   rO   r   r   r1   r   r   rs   r   r0   rG   r2   r3   r4   Itemr     s.            L       <    !)): ;;;; H~%%% tCH~.... "&)))) #7++++ sm###  Y0000 '8%" "r3   r   c                   >    e Zd ZU ee         ed<   	 ed         ed<   dS )'SubscriptionSchedule.Phase.TransferDatar]   r   r^   Nr_   r2   r3   r4   ra   r   F  rb   r3   ra   add_invoice_itemsrc   rd   re   rh   ri   rj   rm   r   r{   currencyr   rn   r"   default_tax_ratesro   r   r*   rp   itemsr   r   rq   always_invoicecreate_prorationsnoneproration_behaviorr+   rr   	trial_end)r   rd   ri   r   rp   r   rr   N)r-   r.   r/   r   r   rH   rO   r   rZ   r   ra   r   r1   r   r`   r   r   rs   r0   r   rG   r2   r3   r4   Phaserv      sl        	9 	9 	9 	9 	9\ 	9 	9 	9B	: 	: 	: 	: 	:< 	: 	: 	:*	 	 	 	 	 	 	 		 	 	 	 	| 	 	 		4 	4 	4 	4 	4l 	4 	4 	424	 4	 4	 4	 4	< 4	 4	 4	l	 	 	 	 	< 	 	 	  ////	 "*%000	  ----&w/I'JKKKK	 %%67777	 $:;
 	
 	
 	
	 23333	 	 !))I JJJJ	 $DO4444	 c]"""	 >!!!	 	 #?3333	 Dz	 4S>****	 y9::::	 $9
 	
 	
 	
	 	  ----	 C=   	 "0)"3! /)
 
r3   r   c                   b    e Zd ZU eee                  ed<   	 ee         ed<   	 ee         ed<   dS )!SubscriptionSchedule.CancelParamsexpandinvoice_nowprorateNr-   r.   r/   r   r   rs   r1   rF   r2   r3   r4   CancelParamsr     s[         DI&&&&	 !&&&&	 T""""	 	r3   r   c                       e Zd ZU ee         ed<   	 ed         ed<   	 eed                  ed<   	 eee                  ed<   	 ee         ed<   	 ed         ed	<   	 eed
                  ed<   	 ed         ed<   dS )!SubscriptionSchedule.CreateParamscustomer0SubscriptionSchedule.CreateParamsDefaultSettingsdefault_settingscancelr   releaserenewend_behaviorr   from_subscriptionLiteral['']|Dict[str, str]r   &SubscriptionSchedule.CreateParamsPhasephasesint|Literal['now']r+   N)r-   r.   r/   r   rs   r1   r   r   r2   r3   r4   CreateParamsr     s         c""""	 &>
 	
 	
 	
	 "89
 	
 	
 	
	 DI&&&&	 's++++	 :;;;;	 D!IJKKKK	   45555	 	r3   r   c                      e Zd ZU ee         ed<   	 ed         ed<   	 eed                  ed<   	 ed         ed<   	 eed                  ed	<   	 ee         ed
<   	 ed         ed<   	 ed         ed<   	 ed         ed<   	 ed         ed<   dS )r   rc   <SubscriptionSchedule.CreateParamsDefaultSettingsAutomaticTaxrd   re   rh   zMLiteral['']|SubscriptionSchedule.CreateParamsDefaultSettingsBillingThresholdsri   rj   rm   rn   Literal['']|strro   ?SubscriptionSchedule.CreateParamsDefaultSettingsInvoiceSettingsrp   rq   zHLiteral['']|SubscriptionSchedule.CreateParamsDefaultSettingsTransferDatarr   Nr-   r.   r/   r   r`   r1   r   rs   r2   r3   r4   CreateParamsDefaultSettingsz0SubscriptionSchedule.CreateParamsDefaultSettings  :        !,U!3333	 #J
 	
 	
 	
	 *'2L*MNNNN	 ([
 	
 	
 	
	 ':;
 	
 	
 	
	 !,C 0000	 !!23333	 &M
 	
 	
 	
	 ""34444	 #V
 	
 	
 	
	 	r3   r   c                   2    e Zd ZU eed<   	 ed         ed<   dS )r   rC   ESubscriptionSchedule.CreateParamsDefaultSettingsAutomaticTaxLiabilityrD   Nr-   r.   r/   rF   r1   r   r2   r3   r4   'CreateParamsDefaultSettingsAutomaticTaxz<SubscriptionSchedule.CreateParamsDefaultSettingsAutomaticTax  @         	 S
 	
 	
 	
	 	r3   r   c                   >    e Zd ZU ee         ed<   	 ed         ed<   dS )r   r<   r=   r?   Nr-   r.   r/   r   rs   r1   r   r2   r3   r4   0CreateParamsDefaultSettingsAutomaticTaxLiabilityzESubscriptionSchedule.CreateParamsDefaultSettingsAutomaticTaxLiability#  @         S!!!!	 '((((	 	r3   r   c                   >    e Zd ZU ee         ed<   	 ee         ed<   dS )ASubscriptionSchedule.CreateParamsDefaultSettingsBillingThresholdsrL   rM   Nr-   r.   r/   r   r0   r1   rF   r2   r3   r4   ,CreateParamsDefaultSettingsBillingThresholdsr   -  ?         $$$$	 %0$5555	 	r3   r   c                   V    e Zd ZU ed         ed<   	 ee         ed<   	 ed         ed<   dS )r   Literal['']|List[str]rV   rW   ESubscriptionSchedule.CreateParamsDefaultSettingsInvoiceSettingsIssuerrX   Nr-   r.   r/   r   r1   r0   r2   r3   r4   *CreateParamsDefaultSettingsInvoiceSettingsz?SubscriptionSchedule.CreateParamsDefaultSettingsInvoiceSettings7  a         $%<====	 $C((((	 S
 	
 	
 	
	 	r3   r   c                   >    e Zd ZU ee         ed<   	 ed         ed<   dS )r   r<   r=   r?   Nr   r2   r3   r4   0CreateParamsDefaultSettingsInvoiceSettingsIssuerzESubscriptionSchedule.CreateParamsDefaultSettingsInvoiceSettingsIssuerG  r   r3   r   c                   2    e Zd ZU ee         ed<   	 eed<   dS )<SubscriptionSchedule.CreateParamsDefaultSettingsTransferDatar]   r^   Nr-   r.   r/   r   r`   r1   rs   r2   r3   r4   'CreateParamsDefaultSettingsTransferDatar   Q  :         #E****	 	 	r3   r   c                   ^   e Zd ZU eed                  ed<   	 ee         ed<   	 ed         ed<   	 eed                  ed<   	 ed         ed	<   	 eed
                  ed<   	 ee         ed<   	 ee         ed<   	 ee         ed<   	 ed         ed<   	 ed         ed<   	 ed         ed<   	 ee	         ed<   	 ed         ed<   	 ed         ed<   	 ee	         ed<   	 ee
eef                  ed<   	 ee         ed<   	 eed                  ed<   	 ed         ed <   	 ee         ed!<   	 ee	         ed"<   d#S )$r   4SubscriptionSchedule.CreateParamsPhaseAddInvoiceItemr   rc   2SubscriptionSchedule.CreateParamsPhaseAutomaticTaxrd   re   rh   zCLiteral['']|SubscriptionSchedule.CreateParamsPhaseBillingThresholdsri   rj   rm   r{   r   rn   r   r   r   ro   z@Literal['']|List[SubscriptionSchedule.CreateParamsPhaseDiscount]r   r*   5SubscriptionSchedule.CreateParamsPhaseInvoiceSettingsrp   *SubscriptionSchedule.CreateParamsPhaseItemr   
iterationsr   rq   r   r   2SubscriptionSchedule.CreateParamsPhaseTransferDatarr   trialr   Nr-   r.   r/   r   r   r1   r`   r   rs   r0   r   rF   r2   r3   r4   CreateParamsPhasez&SubscriptionSchedule.CreateParamsPhase[  s        &GH
 	
 	
 	
	 "-U!3333	 #@
 	
 	
 	
	 *'2L*MNNNN	 (Q
 	
 	
 	
	 ':;
 	
 	
 	
	 C    	 c""""	 !,C 0000	 ''>????	 !!23333	 N
 	
 	
 	
	 c""""	 &C
 	
 	
 	
	 @AAAA	  $$$$	 d38n----	 "#&&&&	 (AB
 	
 	
 	
	 #@
 	
 	
 	
	 4    	 s####	 	r3   r   c                       e Zd ZU eed                  ed<   	 ee         ed<   	 ed         ed<   	 ee         ed<   	 ed         ed<   d	S )
r   <SubscriptionSchedule.CreateParamsPhaseAddInvoiceItemDiscountr   r   =SubscriptionSchedule.CreateParamsPhaseAddInvoiceItemPriceData
price_datar   r   r   Nr-   r.   r/   r   r   r1   rs   r0   r2   r3   r4   CreateParamsPhaseAddInvoiceItemz4SubscriptionSchedule.CreateParamsPhaseAddInvoiceItem           N
 	
 	
 	

	 3	  K
 	
 	
 	
	 c""""	 67777	 	r3   r   c                   V    e Zd ZU ee         ed<   	 ee         ed<   	 ee         ed<   dS )r   r{   r}   r~   Nr-   r.   r/   r   rs   r1   r2   r3   r4   'CreateParamsPhaseAddInvoiceItemDiscountz<SubscriptionSchedule.CreateParamsPhaseAddInvoiceItemDiscount  W         C    	 c""""	 $C((((	 	r3   r   c                   z    e Zd ZU eed<   	 eed<   	 eed                  ed<   	 ee         ed<   	 ee         ed<   dS )r   r   product	exclusive	inclusiveunspecifiedtax_behaviorunit_amountunit_amount_decimalNr-   r.   r/   rs   r1   r   r   r0   r2   r3   r4   (CreateParamsPhaseAddInvoiceItemPriceDataz=SubscriptionSchedule.CreateParamsPhaseAddInvoiceItemPriceData           	 	 ";<
 	
 	
 	
	 !%%%%	 )----	 	r3   r  c                   2    e Zd ZU eed<   	 ed         ed<   dS )r   rC   ;SubscriptionSchedule.CreateParamsPhaseAutomaticTaxLiabilityrD   Nr   r2   r3   r4   CreateParamsPhaseAutomaticTaxz2SubscriptionSchedule.CreateParamsPhaseAutomaticTax  @         	 I
 	
 	
 	
	 	r3   r  c                   >    e Zd ZU ee         ed<   	 ed         ed<   dS )r  r<   r=   r?   Nr   r2   r3   r4   &CreateParamsPhaseAutomaticTaxLiabilityz;SubscriptionSchedule.CreateParamsPhaseAutomaticTaxLiability  r   r3   r  c                   >    e Zd ZU ee         ed<   	 ee         ed<   dS )7SubscriptionSchedule.CreateParamsPhaseBillingThresholdsrL   rM   Nr   r2   r3   r4   "CreateParamsPhaseBillingThresholdsr
    r   r3   r  c                   V    e Zd ZU ee         ed<   	 ee         ed<   	 ee         ed<   dS ).SubscriptionSchedule.CreateParamsPhaseDiscountr{   r}   r~   Nr   r2   r3   r4   CreateParamsPhaseDiscountr  '  r   r3   r  c                   V    e Zd ZU ed         ed<   	 ee         ed<   	 ed         ed<   dS )r   r   rV   rW   ;SubscriptionSchedule.CreateParamsPhaseInvoiceSettingsIssuerrX   Nr   r2   r3   r4    CreateParamsPhaseInvoiceSettingsz5SubscriptionSchedule.CreateParamsPhaseInvoiceSettings5  a         $%<====	 $C((((	 I
 	
 	
 	
	 	r3   r  c                   >    e Zd ZU ee         ed<   	 ed         ed<   dS )r  r<   r=   r?   Nr   r2   r3   r4   &CreateParamsPhaseInvoiceSettingsIssuerz;SubscriptionSchedule.CreateParamsPhaseInvoiceSettingsIssuerE  r   r3   r  c                       e Zd ZU ed         ed<   	 ed         ed<   	 eeeef                  ed<   	 ee         ed<   	 ee         ed<   	 ed         ed	<   	 ee         ed
<   	 ed         ed<   dS )r   zGLiteral['']|SubscriptionSchedule.CreateParamsPhaseItemBillingThresholdsri   zDLiteral['']|List[SubscriptionSchedule.CreateParamsPhaseItemDiscount]r   r   r   r   3SubscriptionSchedule.CreateParamsPhaseItemPriceDatar   r   r   r   Nr-   r.   r/   r   r1   r   rs   r0   r2   r3   r4   CreateParamsPhaseItemz*SubscriptionSchedule.CreateParamsPhaseItemO           'U
 	
 	
 	
	 R
 	
 	
 	
	 d38n----	 #	 3	  A
 	
 	
 	
	 c""""	 67777	 	r3   r  c                       e Zd ZU eed<   dS );SubscriptionSchedule.CreateParamsPhaseItemBillingThresholdsr   Nr,   r2   r3   r4   &CreateParamsPhaseItemBillingThresholdsr  w           	 	r3   r  c                   V    e Zd ZU ee         ed<   	 ee         ed<   	 ee         ed<   dS )2SubscriptionSchedule.CreateParamsPhaseItemDiscountr{   r}   r~   Nr   r2   r3   r4   CreateParamsPhaseItemDiscountr  }  r   r3   r   c                       e Zd ZU eed<   	 eed<   	 ded<   	 eed                  ed<   	 ee         ed<   	 ee         ed<   d	S )
r  r   r   <SubscriptionSchedule.CreateParamsPhaseItemPriceDataRecurring	recurringr   r   r   r   Nr   r2   r3   r4   CreateParamsPhaseItemPriceDataz3SubscriptionSchedule.CreateParamsPhaseItemPriceData           	 	 K	
 	
 	
	 ";<
 	
 	
 	
	 !%%%%	 )----	 	r3   r$  c                   >    e Zd ZU ed         ed<   	 ee         ed<   dS )r"  daymonthweekyearintervalinterval_countNr-   r.   r/   r   r1   r   r0   r2   r3   r4   'CreateParamsPhaseItemPriceDataRecurringz<SubscriptionSchedule.CreateParamsPhaseItemPriceDataRecurring  @         89999	 $C((((	 	r3   r/  c                   2    e Zd ZU ee         ed<   	 eed<   dS )r   r]   r^   Nr   r2   r3   r4   CreateParamsPhaseTransferDataz2SubscriptionSchedule.CreateParamsPhaseTransferData  r   r3   r2  c                   
   e Zd ZU ed         ed<   	 ed         ed<   	 ed         ed<   	 ee         ed<   	 ee         ed<   	 eee                  ed	<   	 ee         ed
<   	 ed         ed<   	 ee         ed<   	 ee         ed<   dS )SubscriptionSchedule.ListParamsz-SubscriptionSchedule.ListParamsCanceledAt|intcanceled_atz.SubscriptionSchedule.ListParamsCompletedAt|intcompleted_atz*SubscriptionSchedule.ListParamsCreated|intcreatedr   ending_beforer   limitz-SubscriptionSchedule.ListParamsReleasedAt|intreleased_at	scheduledstarting_afterN)	r-   r.   r/   r   r1   rs   r   r0   rF   r2   r3   r4   
ListParamsr4    s         ;
 	
 	
 	
	 "<
 	
 	
 	
	 IJJJJ	 c""""	 #3''''	 DI&&&&	 3	 !;
 	
 	
 	
	 t$$$$	 $C((((	 	r3   r=  c                   n    e Zd ZU ee         ed<   	 ee         ed<   	 ee         ed<   	 ee         ed<   dS ))SubscriptionSchedule.ListParamsCanceledAtgtgteltlteNr-   r.   r/   r   r0   r1   r2   r3   r4   ListParamsCanceledAtr?    o         	 	 	 	 	r3   rE  c                   n    e Zd ZU ee         ed<   	 ee         ed<   	 ee         ed<   	 ee         ed<   dS )*SubscriptionSchedule.ListParamsCompletedAtr@  rA  rB  rC  NrD  r2   r3   r4   ListParamsCompletedAtrH    rF  r3   rI  c                   n    e Zd ZU ee         ed<   	 ee         ed<   	 ee         ed<   	 ee         ed<   dS )&SubscriptionSchedule.ListParamsCreatedr@  rA  rB  rC  NrD  r2   r3   r4   ListParamsCreatedrK    rF  r3   rL  c                   n    e Zd ZU ee         ed<   	 ee         ed<   	 ee         ed<   	 ee         ed<   dS ))SubscriptionSchedule.ListParamsReleasedAtr@  rA  rB  rC  NrD  r2   r3   r4   ListParamsReleasedAtrN  #  rF  r3   rO  c                       e Zd ZU ed         ed<   	 eed                  ed<   	 eee                  ed<   	 ed         ed<   	 eed                  ed	<   	 eed
                  ed<   dS )!SubscriptionSchedule.ModifyParams0SubscriptionSchedule.ModifyParamsDefaultSettingsr   r   r   r   r   r   &SubscriptionSchedule.ModifyParamsPhaser   r   r   N)r-   r.   r/   r   r1   r   r   rs   r2   r3   r4   ModifyParamsrQ  5  s         %>
 	
 	
 	
	 "89
 	
 	
 	
	 DI&&&&	 :;;;;	 D!IJKKKK	 (AB
 	
 	
 	
	 	r3   rT  c                      e Zd ZU ee         ed<   	 ed         ed<   	 eed                  ed<   	 ed         ed<   	 eed                  ed	<   	 ee         ed
<   	 ed         ed<   	 ed         ed<   	 ed         ed<   	 ed         ed<   dS )rR  rc   <SubscriptionSchedule.ModifyParamsDefaultSettingsAutomaticTaxrd   re   rh   zMLiteral['']|SubscriptionSchedule.ModifyParamsDefaultSettingsBillingThresholdsri   rj   rm   rn   r   ro   ?SubscriptionSchedule.ModifyParamsDefaultSettingsInvoiceSettingsrp   rq   zHLiteral['']|SubscriptionSchedule.ModifyParamsDefaultSettingsTransferDatarr   Nr   r2   r3   r4   ModifyParamsDefaultSettingsz0SubscriptionSchedule.ModifyParamsDefaultSettingsU  r   r3   rX  c                   2    e Zd ZU eed<   	 ed         ed<   dS )rV  rC   ESubscriptionSchedule.ModifyParamsDefaultSettingsAutomaticTaxLiabilityrD   Nr   r2   r3   r4   'ModifyParamsDefaultSettingsAutomaticTaxz<SubscriptionSchedule.ModifyParamsDefaultSettingsAutomaticTax  r   r3   r[  c                   >    e Zd ZU ee         ed<   	 ed         ed<   dS )rZ  r<   r=   r?   Nr   r2   r3   r4   0ModifyParamsDefaultSettingsAutomaticTaxLiabilityzESubscriptionSchedule.ModifyParamsDefaultSettingsAutomaticTaxLiability  r   r3   r]  c                   >    e Zd ZU ee         ed<   	 ee         ed<   dS )ASubscriptionSchedule.ModifyParamsDefaultSettingsBillingThresholdsrL   rM   Nr   r2   r3   r4   ,ModifyParamsDefaultSettingsBillingThresholdsr_    r   r3   r`  c                   V    e Zd ZU ed         ed<   	 ee         ed<   	 ed         ed<   dS )rW  r   rV   rW   ESubscriptionSchedule.ModifyParamsDefaultSettingsInvoiceSettingsIssuerrX   Nr   r2   r3   r4   *ModifyParamsDefaultSettingsInvoiceSettingsz?SubscriptionSchedule.ModifyParamsDefaultSettingsInvoiceSettings  r   r3   rc  c                   >    e Zd ZU ee         ed<   	 ed         ed<   dS )rb  r<   r=   r?   Nr   r2   r3   r4   0ModifyParamsDefaultSettingsInvoiceSettingsIssuerzESubscriptionSchedule.ModifyParamsDefaultSettingsInvoiceSettingsIssuer  r   r3   re  c                   2    e Zd ZU ee         ed<   	 eed<   dS )<SubscriptionSchedule.ModifyParamsDefaultSettingsTransferDatar]   r^   Nr   r2   r3   r4   'ModifyParamsDefaultSettingsTransferDatarg    r   r3   rh  c                   v   e Zd ZU eed                  ed<   	 ee         ed<   	 ed         ed<   	 eed                  ed<   	 ed         ed	<   	 eed
                  ed<   	 ee         ed<   	 ee         ed<   	 ee         ed<   	 ed         ed<   	 ed         ed<   	 ed         ed<   	 ed         ed<   	 ed         ed<   	 ed         ed<   	 ee	         ed<   	 ee
eef                  ed<   	 ee         ed<   	 eed                  ed<   	 ed         ed <   	 ed!         ed"<   	 ee         ed#<   	 ed         ed$<   d%S )&rS  4SubscriptionSchedule.ModifyParamsPhaseAddInvoiceItemr   rc   2SubscriptionSchedule.ModifyParamsPhaseAutomaticTaxrd   re   rh   zCLiteral['']|SubscriptionSchedule.ModifyParamsPhaseBillingThresholdsri   rj   rm   r{   r   rn   r   r   r   ro   z@Literal['']|List[SubscriptionSchedule.ModifyParamsPhaseDiscount]r   r   r*   5SubscriptionSchedule.ModifyParamsPhaseInvoiceSettingsrp   *SubscriptionSchedule.ModifyParamsPhaseItemr   r   r   rq   r   r   r+   2SubscriptionSchedule.ModifyParamsPhaseTransferDatarr   r   r   Nr   r2   r3   r4   ModifyParamsPhasez&SubscriptionSchedule.ModifyParamsPhase  s        &GH
 	
 	
 	
	 "-U!3333	 #@
 	
 	
 	
	 *'2L*MNNNN	 (Q
 	
 	
 	
	 ':;
 	
 	
 	
	 C    	 c""""	 !,C 0000	 ''>????	 !!23333	 N
 	
 	
 	
	 23333	 &C
 	
 	
 	
	 @AAAA	  $$$$	 d38n----	 "#&&&&	 (AB
 	
 	
 	
	   45555	 #@
 	
 	
 	
	 4    	 34444	 	r3   ro  c                       e Zd ZU eed                  ed<   	 ee         ed<   	 ed         ed<   	 ee         ed<   	 ed         ed<   d	S )
rj  <SubscriptionSchedule.ModifyParamsPhaseAddInvoiceItemDiscountr   r   =SubscriptionSchedule.ModifyParamsPhaseAddInvoiceItemPriceDatar   r   r   r   Nr   r2   r3   r4   ModifyParamsPhaseAddInvoiceItemz4SubscriptionSchedule.ModifyParamsPhaseAddInvoiceItem;  r   r3   rs  c                   V    e Zd ZU ee         ed<   	 ee         ed<   	 ee         ed<   dS )rq  r{   r}   r~   Nr   r2   r3   r4   'ModifyParamsPhaseAddInvoiceItemDiscountz<SubscriptionSchedule.ModifyParamsPhaseAddInvoiceItemDiscountW  r   r3   ru  c                   z    e Zd ZU eed<   	 eed<   	 eed                  ed<   	 ee         ed<   	 ee         ed<   dS )rr  r   r   r   r   r   r   Nr   r2   r3   r4   (ModifyParamsPhaseAddInvoiceItemPriceDataz=SubscriptionSchedule.ModifyParamsPhaseAddInvoiceItemPriceDatae  r  r3   rw  c                   2    e Zd ZU eed<   	 ed         ed<   dS )rk  rC   ;SubscriptionSchedule.ModifyParamsPhaseAutomaticTaxLiabilityrD   Nr   r2   r3   r4   ModifyParamsPhaseAutomaticTaxz2SubscriptionSchedule.ModifyParamsPhaseAutomaticTax}  r  r3   rz  c                   >    e Zd ZU ee         ed<   	 ed         ed<   dS )ry  r<   r=   r?   Nr   r2   r3   r4   &ModifyParamsPhaseAutomaticTaxLiabilityz;SubscriptionSchedule.ModifyParamsPhaseAutomaticTaxLiability  r   r3   r|  c                   >    e Zd ZU ee         ed<   	 ee         ed<   dS )7SubscriptionSchedule.ModifyParamsPhaseBillingThresholdsrL   rM   Nr   r2   r3   r4   "ModifyParamsPhaseBillingThresholdsr~    r   r3   r  c                   V    e Zd ZU ee         ed<   	 ee         ed<   	 ee         ed<   dS ).SubscriptionSchedule.ModifyParamsPhaseDiscountr{   r}   r~   Nr   r2   r3   r4   ModifyParamsPhaseDiscountr    r   r3   r  c                   V    e Zd ZU ed         ed<   	 ee         ed<   	 ed         ed<   dS )rl  r   rV   rW   ;SubscriptionSchedule.ModifyParamsPhaseInvoiceSettingsIssuerrX   Nr   r2   r3   r4    ModifyParamsPhaseInvoiceSettingsz5SubscriptionSchedule.ModifyParamsPhaseInvoiceSettings  r  r3   r  c                   >    e Zd ZU ee         ed<   	 ed         ed<   dS )r  r<   r=   r?   Nr   r2   r3   r4   &ModifyParamsPhaseInvoiceSettingsIssuerz;SubscriptionSchedule.ModifyParamsPhaseInvoiceSettingsIssuer  r   r3   r  c                       e Zd ZU ed         ed<   	 ed         ed<   	 eeeef                  ed<   	 ee         ed<   	 ee         ed<   	 ed         ed	<   	 ee         ed
<   	 ed         ed<   dS )rm  zGLiteral['']|SubscriptionSchedule.ModifyParamsPhaseItemBillingThresholdsri   zDLiteral['']|List[SubscriptionSchedule.ModifyParamsPhaseItemDiscount]r   r   r   r   3SubscriptionSchedule.ModifyParamsPhaseItemPriceDatar   r   r   r   Nr  r2   r3   r4   ModifyParamsPhaseItemz*SubscriptionSchedule.ModifyParamsPhaseItem  r  r3   r  c                       e Zd ZU eed<   dS );SubscriptionSchedule.ModifyParamsPhaseItemBillingThresholdsr   Nr,   r2   r3   r4   &ModifyParamsPhaseItemBillingThresholdsr    r  r3   r  c                   V    e Zd ZU ee         ed<   	 ee         ed<   	 ee         ed<   dS )2SubscriptionSchedule.ModifyParamsPhaseItemDiscountr{   r}   r~   Nr   r2   r3   r4   ModifyParamsPhaseItemDiscountr    r   r3   r  c                       e Zd ZU eed<   	 eed<   	 ded<   	 eed                  ed<   	 ee         ed<   	 ee         ed<   d	S )
r  r   r   <SubscriptionSchedule.ModifyParamsPhaseItemPriceDataRecurringr#  r   r   r   r   Nr   r2   r3   r4   ModifyParamsPhaseItemPriceDataz3SubscriptionSchedule.ModifyParamsPhaseItemPriceData  r%  r3   r  c                   >    e Zd ZU ed         ed<   	 ee         ed<   dS )r  r'  r,  r-  Nr.  r2   r3   r4   'ModifyParamsPhaseItemPriceDataRecurringz<SubscriptionSchedule.ModifyParamsPhaseItemPriceDataRecurring  r0  r3   r  c                   2    e Zd ZU ee         ed<   	 eed<   dS )rn  r]   r^   Nr   r2   r3   r4   ModifyParamsPhaseTransferDataz2SubscriptionSchedule.ModifyParamsPhaseTransferData)  r   r3   r  c                   J    e Zd ZU eee                  ed<   	 ee         ed<   dS )"SubscriptionSchedule.ReleaseParamsr   preserve_cancel_dateNr   r2   r3   r4   ReleaseParamsr  3  sC         DI&&&&	 *$////	 	r3   r  c                   2    e Zd ZU eee                  ed<   dS )#SubscriptionSchedule.RetrieveParamsr   N)r-   r.   r/   r   r   rs   r1   r2   r3   r4   RetrieveParamsr  =  s+         DI&&&&	 	r3   r  r   applicationr5  r6  r7  current_phaser   r   r   r   r   idlivemoder   objectr   r:  released_subscription)activecanceled	completednot_startedreleasedstatusr    subscriptionr#   
test_clockscheduleparamsr   returnc                     t          d|                     dd                    t          |                    |                    S )
        Cancels a subscription schedule and its associated subscription immediately (if the subscription schedule has an active subscription). A subscription schedule can only be canceled if its status is not_started or active.
        r%   post,/v1/subscription_schedules/{schedule}/cancelr  r  r   _static_requestformatr   clsr  r  s      r4   _cls_cancelz SubscriptionSchedule._cls_cancel  s]     ">EE(22 F       	
 	
 		
r3   c                     dS r  Nr2   r  r  s     r4   r   zSubscriptionSchedule.cancel  	     	r3   c                     dS r  r2   r>   r  s     r4   r   zSubscriptionSchedule.cancel  	     	r3   r  c                     t          d|                     dd                    t          |                     d                              |                    S )r  r%   r  r  r  r  r  r   _requestr  r   getr  s     r4   r   zSubscriptionSchedule.cancel  se     "MM>EE($88 F      	
 	
 		
r3   c                    K   t          d|                     dd                    t          |                    |           d{V           S )r  r%   r  r  r  r  Nr   _static_request_asyncr  r   r  s      r4   _cls_cancel_asyncz&SubscriptionSchedule._cls_cancel_async  s       "++>EE(22 F    ,        	
 	
 		
r3   c                 
   K   dS r  r2   r  s     r4   cancel_asyncz!SubscriptionSchedule.cancel_async         	r3   c                 
   K   dS r  r2   r  s     r4   r  z!SubscriptionSchedule.cancel_async         	r3   r  c                    K   t          d|                     dd                    t          |                     d                              |           d{V           S )r  r%   r  r  r  r  r  Nr   _request_asyncr  r   r  r  s     r4   r  z!SubscriptionSchedule.cancel_async  s       "%%>EE($88 F    &        	
 	
 		
r3   r   c                 r    t          d|                     d|                                 |                    S )
        Creates a new subscription schedule object. Each customer can have up to 500 active or scheduled subscriptions.
        r%   r  r  )r   r  	class_urlr  r  s     r4   createzSubscriptionSchedule.create  sB     "    
 
 	
r3   c                    K   t          d|                     d|                                 |           d{V           S )r  r%   r  r  N)r   r  r  r  s     r4   create_asyncz!SubscriptionSchedule.create_async  sd       "++ ,        
 
 	
r3   r4  c                     |                      d|                                 |          }t          |t                    s$t	          dt          |          j        z            |S )D
        Retrieves the list of your subscription schedules.
        r  r  %Expected list object from API, got %s)r  r  
isinstancer   	TypeErrorr?   r-   r  r  results      r4   listzSubscriptionSchedule.list  sp     $$MMOO % 
 

 &*-- 	7<<(*  
 r3   c                    K   |                      d|                                 |           d{V }t          |t                    s$t	          dt          |          j        z            |S )r  r  r  Nr  )r  r  r  r   r  r?   r-   r  s      r4   
list_asynczSubscriptionSchedule.list_async1  s       00MMOO 1 
 
 
 
 
 
 
 

 &*-- 	7<<(*  
 r3   rQ  c                     |                                  dt          |          }t          d|                     d||                    S )<
        Updates an existing subscription schedule.
        /r%   r  r  )r  r   r   r  r  r  r  urls       r4   modifyzSubscriptionSchedule.modifyE  sX     +b///:"    
 
 	
r3   c                    K   |                                  dt          |          }t          d|                     d||           d{V           S )r  r  r%   r  r  N)r  r   r   r  r  s       r4   modify_asyncz!SubscriptionSchedule.modify_asyncV  sz       +b///:"++ ,        
 
 	
r3   r  c                     t          d|                     dd                    t          |                    |                    S )  
        Releases the subscription schedule immediately, which will stop scheduling of its phases, but leave any existing subscription in place. A schedule can only be released if its status is not_started or active. If the subscription schedule is currently associated with a subscription, releasing it will remove its subscription property and set the subscription's ID to the released_subscription property.
        r%   r  -/v1/subscription_schedules/{schedule}/releaser  r  r  r  s      r4   _cls_releasez!SubscriptionSchedule._cls_releaseg  s]     "?FF(22 G       	
 	
 		
r3   c                     dS r  Nr2   r  s     r4   r   zSubscriptionSchedule.release{  r  r3   c                     dS r  r2   r  s     r4   r   zSubscriptionSchedule.release  r  r3   r  c                     t          d|                     dd                    t          |                     d                              |                    S )r  r%   r  r  r  r  r  r  r  s     r4   r   zSubscriptionSchedule.release  se     "MM?FF($88 G      	
 	
 		
r3   c                    K   t          d|                     dd                    t          |                    |           d{V           S )r  r%   r  r  r  r  Nr  r  s      r4   _cls_release_asyncz'SubscriptionSchedule._cls_release_async  s       "++?FF(22 G    ,        	
 	
 		
r3   c                 
   K   dS r  r2   r  s     r4   release_asyncz"SubscriptionSchedule.release_async  r  r3   c                 
   K   dS r  r2   r  s     r4   r  z"SubscriptionSchedule.release_async  r  r3   r  c                    K   t          d|                     dd                    t          |                     d                              |           d{V           S )r  r%   r  r  r  r  r  Nr  r  s     r4   r  z"SubscriptionSchedule.release_async  s       "%%?FF($88 G    &        	
 	
 		
r3   r  c                 @     | |fi |}|                                  |S )
        Retrieves the details of an existing subscription schedule. You only need to supply the unique subscription schedule identifier that was returned upon subscription schedule creation.
        )refreshr  r  r  instances       r4   retrievezSubscriptionSchedule.retrieve  s2     3r$$V$$r3   c                 P   K    | |fi |}|                                  d{V  |S )r  N)refresh_asyncr  s       r4   retrieve_asyncz#SubscriptionSchedule.retrieve_async  sH       3r$$V$$$$&&&&&&&&&r3   )r  r   r   N)dr-   r.   r/   __doc__r'   r   r   r1   r   r5   rt   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r  r  r  r  r  r  r   r$  r/  r2  r=  rE  rI  rL  rO  rT  rX  r[  r]  r`  rc  re  rh  ro  rs  ru  rw  rz  r|  r  r  r  r  r  r  r  r  r  r  r  r  r   r   r0   rs   rF   r   r   classmethodr   r  r   staticmethodr   r
   r  r  r  r  r   r  r  r  r  r  r   r  r  r  r  rG   r2   r3   r4   r%   r%   $   s        
  	  '"9:;       |   i
 i
 i
 i
 i
, i
 i
 i
VE
 E
 E
 E
 E
 E
 E
 E
N    ~   $ $ $ $ $~ $ $ $L2 2 2 2 2i 2 2 2h
 
 
 
 
) 
 
 
    9       y       Y        9       )   h h h h hI h h hT    )   8    )       9   0
 
 
 
 
	 
 
 
           Y       I       9           & & & & &	 & & &P           	          <    )       	   . . . . .^ . . .`    y   $    	   $    I   $    y   $    ~   @2 2 2 2 2i 2 2 2h
 
 
 
 
) 
 
 
    9       y       Y        9       )   l l l l lI l l l\    )   8    )       9   0
 
 
 
 
	 
 
 
           Y       I       9           & & & & &	 & & &P           	          <    )       	                  /-89999 # 3- LLL L)))) j)))) &%%%>???? 	GGG NNN tCH~&&&& +,,,, K # $C=((( D    ?>:;;;; 56666 

 <=
 
 	
 
 
 [
& !'(K!L	   \ X BC	   X -((
BC
	
 
 
 )(
" 

 <=
 
 	
 
 
 [
& !'(K!L	   \ X BC	   X -..
BC
	
 
 
 /.
" 
AB
	
 
 
 [
 
AB
	
 
 
 [
 ?@	*	+   [& ?@	*	+   [& 

 &'J K
	
 
 
 [
  

 &'J K
	
 
 
 [
  

 =>
 
 	
 
 
 [
& !'(L!M	   \ X CD	   X .))
CD
	
 
 
 *)
" 

 =>
 
 	
 
 
 [
& !'(L!M	   \ X CD	   X .//
CD
	
 
 
 0/
"  &'L M	   [  &'L M	   [ &+ r3   r%   N):stripe._createable_api_resourcer   stripe._expandable_fieldr   stripe._list_objectr   stripe._listable_api_resourcer   stripe._request_optionsr   stripe._stripe_objectr   stripe._updateable_api_resourcer	   stripe._utilr
   r   typingr   r   r   r   r   r   typing_extensionsr   r   r   r   r   stripe._accountr   stripe._applicationr   stripe._couponr   stripe._customerr   stripe._discountr   r|   stripe._payment_methodr   stripe._planr   stripe._pricer   stripe._promotion_coder   stripe._subscriptionr    stripe._tax_idr!   stripe._tax_rater"   stripe.test_helpers._test_clockr#   r%   r2   r3   r4   <module>r     s_   B A A A A A 4 4 4 4 4 4 * * * * * * = = = = = = 2 2 2 2 2 2 . . . . . . A A A A A A : : : : : : : : A A A A A A A A A A A A A A A A               :''''''//////%%%%%%))))))======444444!!!!!!######444444111111$$$$$$((((((999999O O O O O01./01O O O O Or3   