
    <@gA                    p   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         Z9y)    )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Zcy)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<   y)!SubscriptionSchedule.CurrentPhaseend_date
start_dateN__name__
__module____qualname__int__annotations__     \/var/www/html/AdoubleTech/venv/lib/python3.12/site-packages/stripe/_subscription_schedule.pyCurrentPhaser)   3   s    	 	r3   r5   c                   0   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y)$SubscriptionSchedule.DefaultSettingsc                   b    e Zd ZU  G d de      Zeed      ed<   	 eed<   	 ee   ed<   	 deiZ	y)1SubscriptionSchedule.DefaultSettings.AutomaticTaxc                   6    e Zd ZU eed      ed<   	 ed   ed<   y);SubscriptionSchedule.DefaultSettings.AutomaticTax.Liabilityr   accountr<   selftypeNr-   r.   r/   r   r   r1   r   r2   r3   r4   	Liabilityr;   ?   *    !/)"<== /00r3   rA   requires_location_inputsdisabled_reasonenabled	liabilityN
r-   r.   r/   r   rA   r   r   r1   bool_inner_class_typesr2   r3   r4   AutomaticTaxr9   >   Q    L  &g.H&IJJ M  	** #.y!9r3   rJ   c                   0    e Zd ZU ee   ed<   	 ee   ed<   y)6SubscriptionSchedule.DefaultSettings.BillingThresholds
amount_gtereset_billing_cycle_anchorNr-   r.   r/   r   r0   r1   rH   r2   r3   r4   BillingThresholdsrM   W   "     % )16r3   rQ   c                   f    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
y)4SubscriptionSchedule.DefaultSettings.InvoiceSettingsc                   6    e Zd ZU eed      ed<   	 ed   ed<   y);SubscriptionSchedule.DefaultSettings.InvoiceSettings.Issuerr   r<   r=   r?   Nr@   r2   r3   r4   IssuerrV   b   rB   r3   rW   r!   account_tax_idsdays_until_dueissuerNr-   r.   r/   r   rW   r   r   r   r1   r0   rI   r2   r3   r4   InvoiceSettingsrT   a   sM      &d?7+C&DEE %SM) N"*F!3r3   r\   c                   0    e Zd ZU ee   ed<   	 ed   ed<   y)1SubscriptionSchedule.DefaultSettings.TransferDataamount_percentr   destinationNr-   r.   r/   r   floatr1   r   r2   r3   r4   TransferDatar^   w   #    $UO+ )33r3   rc   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)rf   rk   rr   rt   N)r-   r.   r/   r   rJ   rQ   r\   rc   r   rb   r1   r   r   strrI   r2   r3   r4   DefaultSettingsr7   =   s    	:< 	:2	 		4l 	4,	< 	 "*%0	  --%&@AA	 %%677	 $:;
 	
	 !))I JJ	 c]"	 *)y9::	  --	 *"3 /)	
r3   rv   c                   P   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y,)-SubscriptionSchedule.Phasec                   z    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
y	)
)SubscriptionSchedule.Phase.AddInvoiceItemc                   T    e Zd ZU eed      ed<   	 eed      ed<   	 eed      ed<   y)2SubscriptionSchedule.Phase.AddInvoiceItem.Discountr   couponDiscountResourcediscountr   promotion_codeNr-   r.   r/   r   r   r1   r2   r3   r4   r   r|      F     !:;; #?3E#FGG !))I JJr3   r   	discountsr   pricequantityr"   	tax_ratesN)r-   r.   r/   r   r   r   r1   r   r   r0   rI   r2   r3   r4   AddInvoiceItemrz      se    <  H~% #7++ sm#  Y00 #.x!8r3   r   c                   b    e Zd ZU  G d de      Zeed      ed<   	 eed<   	 ee   ed<   	 deiZ	y)'SubscriptionSchedule.Phase.AutomaticTaxc                   6    e Zd ZU eed      ed<   	 ed   ed<   y)1SubscriptionSchedule.Phase.AutomaticTax.Liabilityr   r<   r=   r?   Nr@   r2   r3   r4   rA   r      rB   r3   rA   rC   rD   rE   rF   NrG   r2   r3   r4   rJ   r      rK   r3   rJ   c                   0    e Zd ZU ee   ed<   	 ee   ed<   y),SubscriptionSchedule.Phase.BillingThresholdsrN   rO   NrP   r2   r3   r4   rQ   r      rR   r3   rQ   c                   T    e Zd ZU eed      ed<   	 eed      ed<   	 eed      ed<   y)#SubscriptionSchedule.Phase.Discountr   r}   r~   r   r   r   Nr   r2   r3   r4   r   r      sF    _X677 /ABCC %__%EFFr3   r   c                   n    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
y)*SubscriptionSchedule.Phase.InvoiceSettingsc                   6    e Zd ZU eed      ed<   	 ed   ed<   y)1SubscriptionSchedule.Phase.InvoiceSettings.Issuerr   r<   r=   r?   Nr@   r2   r3   r4   rW   r      rB   r3   rW   r!   rX   rY   rZ   Nr[   r2   r3   r4   r\   r      sZ      &d?7+C&DEE %SM) V$$ #+F!3r3   r\   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y)SubscriptionSchedule.Phase.Itemc                       e Zd ZU ee   ed<   y)1SubscriptionSchedule.Phase.Item.BillingThresholds	usage_gteN)r-   r.   r/   r   r0   r1   r2   r3   r4   rQ   r     s    #C=(r3   rQ   c                   T    e Zd ZU eed      ed<   	 eed      ed<   	 eed      ed<   y)(SubscriptionSchedule.Phase.Item.Discountr   r}   r~   r   r   r   Nr   r2   r3   r4   r   r     r   r3   r   rk   r   metadatar   planr   r   r   r"   r   )rk   r   N)r-   r.   r/   r   rQ   r   r   r1   r   r   ru   r   r0   rI   r2   r3   r4   Itemr     s    L <  !)): ;; H~% tCH~.. "&)) #7++ sm#  Y00 '8%"r3   r   c                   0    e Zd ZU ee   ed<   	 ed   ed<   y)'SubscriptionSchedule.Phase.TransferDatar_   r   r`   Nra   r2   r3   r4   rc   r   N  rd   r3   rc   add_invoice_itemsre   rf   rg   rj   rk   rl   ro   r   r}   currencyr   rp   r"   default_tax_ratesrq   r   r*   rr   itemsr   r   rs   always_invoicecreate_prorationsnoneproration_behaviorr+   rt   	trial_end)r   rf   rk   r   rr   r   rt   N)r-   r.   r/   r   r   rJ   rQ   r   r\   r   rc   r   r1   r   rb   r   r   ru   r0   r   rI   r2   r3   r4   Phaserx      s   	9\ 	9B	:< 	:2	 		| 		4l 	424	< 4	l	< 	  //	 "*%0	  --&w/I'JKK	 %%677	 $:;
 	
	 233	 	 !))I JJ	 $DO44	 c]"	 >!	 	 #?33	 Dz	 4S>**	 y9::	 $9
 	
	 	  --	 C= 	 "0)"3! /)
r3   r   c                   H    e Zd ZU eee      ed<   	 ee   ed<   	 ee   ed<   y)!SubscriptionSchedule.CancelParamsexpandinvoice_nowprorateNr-   r.   r/   r   r   ru   r1   rH   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<   y)!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   ru   r1   r   r   r2   r3   r4   CreateParamsr     s    c""	 &>
 	
	 "89
 	
	 DI&&	 's++	 :;;	 D!IJKK	   4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<   y)r   re   <SubscriptionSchedule.CreateParamsDefaultSettingsAutomaticTaxrf   rg   rj   zMLiteral['']|SubscriptionSchedule.CreateParamsDefaultSettingsBillingThresholdsrk   rl   ro   rp   Literal['']|strrq   ?SubscriptionSchedule.CreateParamsDefaultSettingsInvoiceSettingsrr   rs   zHLiteral['']|SubscriptionSchedule.CreateParamsDefaultSettingsTransferDatart   Nr-   r.   r/   r   rb   r1   r   ru   r2   r3   r4   CreateParamsDefaultSettingsz0SubscriptionSchedule.CreateParamsDefaultSettings      !,U!33	 #J
 	
	 *'2L*MNN	 ([
 	
	 ':;
 	
	 !,C 00	 !!233	 &M
 	
	 ""344	 #V
 	
	r3   r   c                   *    e Zd ZU eed<   	 ed   ed<   y)r   rE   ESubscriptionSchedule.CreateParamsDefaultSettingsAutomaticTaxLiabilityrF   Nr-   r.   r/   rH   r1   r   r2   r3   r4   'CreateParamsDefaultSettingsAutomaticTaxz<SubscriptionSchedule.CreateParamsDefaultSettingsAutomaticTax  #    	 S
 	
	r3   r   c                   0    e Zd ZU ee   ed<   	 ed   ed<   y)r   r<   r=   r?   Nr-   r.   r/   r   ru   r1   r   r2   r3   r4   0CreateParamsDefaultSettingsAutomaticTaxLiabilityzESubscriptionSchedule.CreateParamsDefaultSettingsAutomaticTaxLiability+  %    S!!	 '((	r3   r   c                   0    e Zd ZU ee   ed<   	 ee   ed<   y)ASubscriptionSchedule.CreateParamsDefaultSettingsBillingThresholdsrN   rO   Nr-   r.   r/   r   r0   r1   rH   r2   r3   r4   ,CreateParamsDefaultSettingsBillingThresholdsr   5  $    $$	 %0$55	r3   r   c                   B    e Zd ZU ed   ed<   	 ee   ed<   	 ed   ed<   y)r   Literal['']|List[str]rX   rY   ESubscriptionSchedule.CreateParamsDefaultSettingsInvoiceSettingsIssuerrZ   Nr-   r.   r/   r   r1   r0   r2   r3   r4   *CreateParamsDefaultSettingsInvoiceSettingsz?SubscriptionSchedule.CreateParamsDefaultSettingsInvoiceSettings?  <    $%<==	 $C((	 S
 	
	r3   r   c                   0    e Zd ZU ee   ed<   	 ed   ed<   y)r   r<   r=   r?   Nr   r2   r3   r4   0CreateParamsDefaultSettingsInvoiceSettingsIssuerzESubscriptionSchedule.CreateParamsDefaultSettingsInvoiceSettingsIssuerO  r   r3   r   c                   *    e Zd ZU ee   ed<   	 eed<   y)<SubscriptionSchedule.CreateParamsDefaultSettingsTransferDatar_   r`   Nr-   r.   r/   r   rb   r1   ru   r2   r3   r4   'CreateParamsDefaultSettingsTransferDatar   Y      #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"<   y#)$r   4SubscriptionSchedule.CreateParamsPhaseAddInvoiceItemr   re   2SubscriptionSchedule.CreateParamsPhaseAutomaticTaxrf   rg   rj   zCLiteral['']|SubscriptionSchedule.CreateParamsPhaseBillingThresholdsrk   rl   ro   r}   r   rp   r   r   r   rq   z@Literal['']|List[SubscriptionSchedule.CreateParamsPhaseDiscount]r   r*   5SubscriptionSchedule.CreateParamsPhaseInvoiceSettingsrr   *SubscriptionSchedule.CreateParamsPhaseItemr   
iterationsr   rs   r   r   2SubscriptionSchedule.CreateParamsPhaseTransferDatart   trialr   Nr-   r.   r/   r   r   r1   rb   r   ru   r0   r   rH   r2   r3   r4   CreateParamsPhasez&SubscriptionSchedule.CreateParamsPhasec  s   &GH
 	
	 "-U!33	 #@
 	
	 *'2L*MNN	 (Q
 	
	 ':;
 	
	 C  	 c""	 !,C 00	 ''>??	 !!233	 N
 	
	 c""	 &C
 	
	 @AA	  $$	 d38n--	 "#&&	 (AB
 	
	 #@
 	
	 4  	 s##	r3   r   c                   l    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<   y	)
r   <SubscriptionSchedule.CreateParamsPhaseAddInvoiceItemDiscountr   r   =SubscriptionSchedule.CreateParamsPhaseAddInvoiceItemPriceData
price_datar   r   r   Nr-   r.   r/   r   r   r1   ru   r0   r2   r3   r4   CreateParamsPhaseAddInvoiceItemz4SubscriptionSchedule.CreateParamsPhaseAddInvoiceItem  m    N
 	

	 3	  K
 	
	 c""	 677	r3   r   c                   B    e Zd ZU ee   ed<   	 ee   ed<   	 ee   ed<   y)r   r}   r   r   Nr-   r.   r/   r   ru   r1   r2   r3   r4   'CreateParamsPhaseAddInvoiceItemDiscountz<SubscriptionSchedule.CreateParamsPhaseAddInvoiceItemDiscount  6    C  	 c""	 $C((	r3   r   c                   `    e Zd ZU eed<   	 eed<   	 eed      ed<   	 ee   ed<   	 ee   ed<   y)r   r   product	exclusive	inclusiveunspecifiedtax_behaviorunit_amountunit_amount_decimalNr-   r.   r/   ru   r1   r   r   r0   r2   r3   r4   (CreateParamsPhaseAddInvoiceItemPriceDataz=SubscriptionSchedule.CreateParamsPhaseAddInvoiceItemPriceData  Y    	 	 ";<
 	
	 !%%	 )--	r3   r  c                   *    e Zd ZU eed<   	 ed   ed<   y)r   rE   ;SubscriptionSchedule.CreateParamsPhaseAutomaticTaxLiabilityrF   Nr   r2   r3   r4   CreateParamsPhaseAutomaticTaxz2SubscriptionSchedule.CreateParamsPhaseAutomaticTax  #    	 I
 	
	r3   r  c                   0    e Zd ZU ee   ed<   	 ed   ed<   y)r  r<   r=   r?   Nr   r2   r3   r4   &CreateParamsPhaseAutomaticTaxLiabilityz;SubscriptionSchedule.CreateParamsPhaseAutomaticTaxLiability  r   r3   r
  c                   0    e Zd ZU ee   ed<   	 ee   ed<   y)7SubscriptionSchedule.CreateParamsPhaseBillingThresholdsrN   rO   Nr   r2   r3   r4   "CreateParamsPhaseBillingThresholdsr  %  r   r3   r  c                   B    e Zd ZU ee   ed<   	 ee   ed<   	 ee   ed<   y).SubscriptionSchedule.CreateParamsPhaseDiscountr}   r   r   Nr   r2   r3   r4   CreateParamsPhaseDiscountr  /  r   r3   r  c                   B    e Zd ZU ed   ed<   	 ee   ed<   	 ed   ed<   y)r   r   rX   rY   ;SubscriptionSchedule.CreateParamsPhaseInvoiceSettingsIssuerrZ   Nr   r2   r3   r4    CreateParamsPhaseInvoiceSettingsz5SubscriptionSchedule.CreateParamsPhaseInvoiceSettings=  <    $%<==	 $C((	 I
 	
	r3   r  c                   0    e Zd ZU ee   ed<   	 ed   ed<   y)r  r<   r=   r?   Nr   r2   r3   r4   &CreateParamsPhaseInvoiceSettingsIssuerz;SubscriptionSchedule.CreateParamsPhaseInvoiceSettingsIssuerM  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<   y)r   zGLiteral['']|SubscriptionSchedule.CreateParamsPhaseItemBillingThresholdsrk   zDLiteral['']|List[SubscriptionSchedule.CreateParamsPhaseItemDiscount]r   r   r   r   3SubscriptionSchedule.CreateParamsPhaseItemPriceDatar   r   r   r   Nr-   r.   r/   r   r1   r   ru   r0   r2   r3   r4   CreateParamsPhaseItemz*SubscriptionSchedule.CreateParamsPhaseItemW      'U
 	
	 R
 	
	 d38n--	 #	 3	  A
 	
	 c""	 677	r3   r  c                       e Zd ZU eed<   y);SubscriptionSchedule.CreateParamsPhaseItemBillingThresholdsr   Nr,   r2   r3   r4   &CreateParamsPhaseItemBillingThresholdsr        	r3   r  c                   B    e Zd ZU ee   ed<   	 ee   ed<   	 ee   ed<   y)2SubscriptionSchedule.CreateParamsPhaseItemDiscountr}   r   r   Nr   r2   r3   r4   CreateParamsPhaseItemDiscountr!    r   r3   r"  c                   l    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<   y	)
r  r   r   <SubscriptionSchedule.CreateParamsPhaseItemPriceDataRecurring	recurringr   r   r   r  Nr  r2   r3   r4   CreateParamsPhaseItemPriceDataz3SubscriptionSchedule.CreateParamsPhaseItemPriceData  i    	 	 K	
	 ";<
 	
	 !%%	 )--	r3   r&  c                   0    e Zd ZU ed   ed<   	 ee   ed<   y)r$  daymonthweekyearintervalinterval_countNr-   r.   r/   r   r1   r   r0   r2   r3   r4   'CreateParamsPhaseItemPriceDataRecurringz<SubscriptionSchedule.CreateParamsPhaseItemPriceDataRecurring  %    899	 $C((	r3   r1  c                   *    e Zd ZU ee   ed<   	 eed<   y)r   r_   r`   Nr   r2   r3   r4   CreateParamsPhaseTransferDataz2SubscriptionSchedule.CreateParamsPhaseTransferData  r   r3   r4  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<   y)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   ru   r   r0   rH   r2   r3   r4   
ListParamsr6    s     ;
 	
	 "<
 	
	 IJJ	 c""	 #3''	 DI&&	 3	 !;
 	
	 t$$	 $C((	r3   r?  c                   T    e Zd ZU ee   ed<   	 ee   ed<   	 ee   ed<   	 ee   ed<   y))SubscriptionSchedule.ListParamsCanceledAtgtgteltlteNr-   r.   r/   r   r0   r1   r2   r3   r4   ListParamsCanceledAtrA    H    	 	 	 	r3   rG  c                   T    e Zd ZU ee   ed<   	 ee   ed<   	 ee   ed<   	 ee   ed<   y)*SubscriptionSchedule.ListParamsCompletedAtrB  rC  rD  rE  NrF  r2   r3   r4   ListParamsCompletedAtrJ    rH  r3   rK  c                   T    e Zd ZU ee   ed<   	 ee   ed<   	 ee   ed<   	 ee   ed<   y)&SubscriptionSchedule.ListParamsCreatedrB  rC  rD  rE  NrF  r2   r3   r4   ListParamsCreatedrM    rH  r3   rN  c                   T    e Zd ZU ee   ed<   	 ee   ed<   	 ee   ed<   	 ee   ed<   y))SubscriptionSchedule.ListParamsReleasedAtrB  rC  rD  rE  NrF  r2   r3   r4   ListParamsReleasedAtrP  +  rH  r3   rQ  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<   y)!SubscriptionSchedule.ModifyParams0SubscriptionSchedule.ModifyParamsDefaultSettingsr   r   r   r   r   r   &SubscriptionSchedule.ModifyParamsPhaser   r   r   N)r-   r.   r/   r   r1   r   r   ru   r2   r3   r4   ModifyParamsrS  =  s    %>
 	
	 "89
 	
	 DI&&	 :;;	 D!IJKK	 (AB
 	
	r3   rV  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<   y)rT  re   <SubscriptionSchedule.ModifyParamsDefaultSettingsAutomaticTaxrf   rg   rj   zMLiteral['']|SubscriptionSchedule.ModifyParamsDefaultSettingsBillingThresholdsrk   rl   ro   rp   r   rq   ?SubscriptionSchedule.ModifyParamsDefaultSettingsInvoiceSettingsrr   rs   zHLiteral['']|SubscriptionSchedule.ModifyParamsDefaultSettingsTransferDatart   Nr   r2   r3   r4   ModifyParamsDefaultSettingsz0SubscriptionSchedule.ModifyParamsDefaultSettings]  r   r3   rZ  c                   *    e Zd ZU eed<   	 ed   ed<   y)rX  rE   ESubscriptionSchedule.ModifyParamsDefaultSettingsAutomaticTaxLiabilityrF   Nr   r2   r3   r4   'ModifyParamsDefaultSettingsAutomaticTaxz<SubscriptionSchedule.ModifyParamsDefaultSettingsAutomaticTax  r   r3   r]  c                   0    e Zd ZU ee   ed<   	 ed   ed<   y)r\  r<   r=   r?   Nr   r2   r3   r4   0ModifyParamsDefaultSettingsAutomaticTaxLiabilityzESubscriptionSchedule.ModifyParamsDefaultSettingsAutomaticTaxLiability  r   r3   r_  c                   0    e Zd ZU ee   ed<   	 ee   ed<   y)ASubscriptionSchedule.ModifyParamsDefaultSettingsBillingThresholdsrN   rO   Nr   r2   r3   r4   ,ModifyParamsDefaultSettingsBillingThresholdsra    r   r3   rb  c                   B    e Zd ZU ed   ed<   	 ee   ed<   	 ed   ed<   y)rY  r   rX   rY   ESubscriptionSchedule.ModifyParamsDefaultSettingsInvoiceSettingsIssuerrZ   Nr   r2   r3   r4   *ModifyParamsDefaultSettingsInvoiceSettingsz?SubscriptionSchedule.ModifyParamsDefaultSettingsInvoiceSettings  r   r3   re  c                   0    e Zd ZU ee   ed<   	 ed   ed<   y)rd  r<   r=   r?   Nr   r2   r3   r4   0ModifyParamsDefaultSettingsInvoiceSettingsIssuerzESubscriptionSchedule.ModifyParamsDefaultSettingsInvoiceSettingsIssuer  r   r3   rg  c                   *    e Zd ZU ee   ed<   	 eed<   y)<SubscriptionSchedule.ModifyParamsDefaultSettingsTransferDatar_   r`   Nr   r2   r3   r4   'ModifyParamsDefaultSettingsTransferDatari    r   r3   rj  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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$<   y%)&rU  4SubscriptionSchedule.ModifyParamsPhaseAddInvoiceItemr   re   2SubscriptionSchedule.ModifyParamsPhaseAutomaticTaxrf   rg   rj   zCLiteral['']|SubscriptionSchedule.ModifyParamsPhaseBillingThresholdsrk   rl   ro   r}   r   rp   r   r   r   rq   z@Literal['']|List[SubscriptionSchedule.ModifyParamsPhaseDiscount]r   r   r*   5SubscriptionSchedule.ModifyParamsPhaseInvoiceSettingsrr   *SubscriptionSchedule.ModifyParamsPhaseItemr   r   r   rs   r   r   r+   2SubscriptionSchedule.ModifyParamsPhaseTransferDatart   r   r   Nr   r2   r3   r4   ModifyParamsPhasez&SubscriptionSchedule.ModifyParamsPhase  s   &GH
 	
	 "-U!33	 #@
 	
	 *'2L*MNN	 (Q
 	
	 ':;
 	
	 C  	 c""	 !,C 00	 ''>??	 !!233	 N
 	
	 233	 &C
 	
	 @AA	  $$	 d38n--	 "#&&	 (AB
 	
	   455	 #@
 	
	 4  	 344	r3   rq  c                   l    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<   y	)
rl  <SubscriptionSchedule.ModifyParamsPhaseAddInvoiceItemDiscountr   r   =SubscriptionSchedule.ModifyParamsPhaseAddInvoiceItemPriceDatar   r   r   r   Nr   r2   r3   r4   ModifyParamsPhaseAddInvoiceItemz4SubscriptionSchedule.ModifyParamsPhaseAddInvoiceItemC  r   r3   ru  c                   B    e Zd ZU ee   ed<   	 ee   ed<   	 ee   ed<   y)rs  r}   r   r   Nr   r2   r3   r4   'ModifyParamsPhaseAddInvoiceItemDiscountz<SubscriptionSchedule.ModifyParamsPhaseAddInvoiceItemDiscount_  r   r3   rw  c                   `    e Zd ZU eed<   	 eed<   	 eed      ed<   	 ee   ed<   	 ee   ed<   y)rt  r   r   r   r   r   r  Nr  r2   r3   r4   (ModifyParamsPhaseAddInvoiceItemPriceDataz=SubscriptionSchedule.ModifyParamsPhaseAddInvoiceItemPriceDatam  r  r3   ry  c                   *    e Zd ZU eed<   	 ed   ed<   y)rm  rE   ;SubscriptionSchedule.ModifyParamsPhaseAutomaticTaxLiabilityrF   Nr   r2   r3   r4   ModifyParamsPhaseAutomaticTaxz2SubscriptionSchedule.ModifyParamsPhaseAutomaticTax  r  r3   r|  c                   0    e Zd ZU ee   ed<   	 ed   ed<   y)r{  r<   r=   r?   Nr   r2   r3   r4   &ModifyParamsPhaseAutomaticTaxLiabilityz;SubscriptionSchedule.ModifyParamsPhaseAutomaticTaxLiability  r   r3   r~  c                   0    e Zd ZU ee   ed<   	 ee   ed<   y)7SubscriptionSchedule.ModifyParamsPhaseBillingThresholdsrN   rO   Nr   r2   r3   r4   "ModifyParamsPhaseBillingThresholdsr    r   r3   r  c                   B    e Zd ZU ee   ed<   	 ee   ed<   	 ee   ed<   y).SubscriptionSchedule.ModifyParamsPhaseDiscountr}   r   r   Nr   r2   r3   r4   ModifyParamsPhaseDiscountr    r   r3   r  c                   B    e Zd ZU ed   ed<   	 ee   ed<   	 ed   ed<   y)rn  r   rX   rY   ;SubscriptionSchedule.ModifyParamsPhaseInvoiceSettingsIssuerrZ   Nr   r2   r3   r4    ModifyParamsPhaseInvoiceSettingsz5SubscriptionSchedule.ModifyParamsPhaseInvoiceSettings  r  r3   r  c                   0    e Zd ZU ee   ed<   	 ed   ed<   y)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<   y)ro  zGLiteral['']|SubscriptionSchedule.ModifyParamsPhaseItemBillingThresholdsrk   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<   y);SubscriptionSchedule.ModifyParamsPhaseItemBillingThresholdsr   Nr,   r2   r3   r4   &ModifyParamsPhaseItemBillingThresholdsr    r  r3   r  c                   B    e Zd ZU ee   ed<   	 ee   ed<   	 ee   ed<   y)2SubscriptionSchedule.ModifyParamsPhaseItemDiscountr}   r   r   Nr   r2   r3   r4   ModifyParamsPhaseItemDiscountr    r   r3   r  c                   l    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<   y	)
r  r   r   <SubscriptionSchedule.ModifyParamsPhaseItemPriceDataRecurringr%  r   r   r   r  Nr  r2   r3   r4   ModifyParamsPhaseItemPriceDataz3SubscriptionSchedule.ModifyParamsPhaseItemPriceData	  r'  r3   r  c                   0    e Zd ZU ed   ed<   	 ee   ed<   y)r  r)  r.  r/  Nr0  r2   r3   r4   'ModifyParamsPhaseItemPriceDataRecurringz<SubscriptionSchedule.ModifyParamsPhaseItemPriceDataRecurring'  r2  r3   r  c                   *    e Zd ZU ee   ed<   	 eed<   y)rp  r_   r`   Nr   r2   r3   r4   ModifyParamsPhaseTransferDataz2SubscriptionSchedule.ModifyParamsPhaseTransferData1  r   r3   r  c                   6    e Zd ZU eee      ed<   	 ee   ed<   y)"SubscriptionSchedule.ReleaseParamsr   preserve_cancel_dateNr   r2   r3   r4   ReleaseParamsr  ;  s(    DI&&	 *$//	r3   r  c                   $    e Zd ZU eee      ed<   y)#SubscriptionSchedule.RetrieveParamsr   N)r-   r.   r/   r   r   ru   r1   r2   r3   r4   RetrieveParamsr  E  s    DI&&	r3   r  r   applicationr7  r8  r9  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                 p    t        d| j                  ddj                  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  sK     ">EE(2 F     	
 		
r3   c                      yr  Nr2   r  r  s     r4   r   zSubscriptionSchedule.cancel       	r3   c                      yr  r2   r>   r  s     r4   r   zSubscriptionSchedule.cancel       	r3   r  c                     t        d| j                  ddj                  t        | j	                  d                  |            S )r  r%   r  r  r  r  r  r   _requestr  r   getr  s     r4   r   zSubscriptionSchedule.cancel  sQ     "MM>EE($8 F    	
 		
r3   c                    K   t        d| j                  ddj                  t        |            |       d{         S 7 w)r  r%   r  r  r  r  Nr   _static_request_asyncr  r   r  s      r4   _cls_cancel_asyncz&SubscriptionSchedule._cls_cancel_async  sY      "++>EE(2 F   ,  	
 		
   7AA
	Ac                    K   ywr  r2   r  s     r4   cancel_asyncz!SubscriptionSchedule.cancel_async        	   c                    K   ywr  r2   r  s     r4   r  z!SubscriptionSchedule.cancel_async        	r  r  c                    K   t        d| j                  ddj                  t        | j	                  d                  |       d{         S 7 w)r  r%   r  r  r  r  r  Nr   _request_asyncr  r   r  r  s     r4   r  z!SubscriptionSchedule.cancel_async  sa      "%%>EE($8 F   &  	
 		
   AAA
		Ar   c                 Z    t        d| j                  d| j                         |            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  s6     "   
 	
r3   c                 v   K   t        d| j                  d| j                         |       d{         S 7 w)r  r%   r  r  N)r   r  r  r  s     r4   create_asyncz!SubscriptionSchedule.create_async  sD      "++ ,  
 	
s   ,97
	9r6  c                     | j                  d| j                         |      }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%  s]     $$MMO % 

 &*-7<((* 
 r3   c                    K   | j                  d| j                         |       d{   }t        |t              s!t	        dt        |      j                  z        |S 7 7w)r  r  r  Nr  )r  r  r  r   r  r?   r-   r  s      r4   
list_asynczSubscriptionSchedule.list_async9  sk      00MMO 1 
 

 &*-7<((* 
 
s   &A"A 8A"rS  c                 z    | j                         dt        |      }t        d| j                  d||            S )<
        Updates an existing subscription schedule.
        /r%   r  r  )r  r   r   r  r  r  r  urls       r4   modifyzSubscriptionSchedule.modifyM  sD     +b/:"   
 	
r3   c                    K   | j                         dt        |      }t        d| j                  d||       d{         S 7 w)r  r  r%   r  r  N)r  r   r   r  r  s       r4   modify_asyncz!SubscriptionSchedule.modify_async^  sR      +b/:"++ ,  
 	
s   <A	A
	A	r  c                 p    t        d| j                  ddj                  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_releaseo  sK     "?FF(2 G     	
 		
r3   c                      yr  Nr2   r  s     r4   r   zSubscriptionSchedule.release  r  r3   c                      yr  r2   r  s     r4   r   zSubscriptionSchedule.release  r  r3   r  c                     t        d| j                  ddj                  t        | j	                  d                  |            S )r  r%   r  r  r  r  r  r  r  s     r4   r   zSubscriptionSchedule.release  sQ     "MM?FF($8 G    	
 		
r3   c                    K   t        d| j                  ddj                  t        |            |       d{         S 7 w)r  r%   r  r  r  r  Nr  r  s      r4   _cls_release_asyncz'SubscriptionSchedule._cls_release_async  sY      "++?FF(2 G   ,  	
 		
r  c                    K   ywr  r2   r  s     r4   release_asyncz"SubscriptionSchedule.release_async  r  r  c                    K   ywr  r2   r  s     r4   r  z"SubscriptionSchedule.release_async  r  r  r  c                    K   t        d| j                  ddj                  t        | j	                  d                  |       d{         S 7 w)r  r%   r  r  r  r  r  Nr  r  s     r4   r  z"SubscriptionSchedule.release_async  sa      "%%?FF($8 G   &  	
 		
r  r  c                 8     | |fi |}|j                          |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  s$     r$V$r3   c                 T   K    | |fi |}|j                          d{    |S 7 w)r   N)refresh_asyncr  s       r4   retrieve_asyncz#SubscriptionSchedule.retrieve_async  s3      r$V$$$&&& 	's   (&()r  r   r   N)dr-   r.   r/   __doc__r'   r   r   r1   r   r5   rv   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&  r1  r4  r?  rG  rK  rN  rQ  rV  rZ  r]  r_  rb  re  rg  rj  rq  ru  rw  ry  r|  r~  r  r  r  r  r  r  r  r  r  r  r  r  r   r   r0   ru   rH   r   r   classmethodr   r  r   staticmethodr   r
   r  r  r  r  r   r  r  r  r  r  r   r  r  r  r  rI   r2   r3   r4   r%   r%   $   s   
 	  '"9:; | m
, m
^I
 I
V~ $~ $L2i 2h
) 
9 y Y  9 ) hI hT) 8) 9 0
	 
 Y I 9   &	 &P 	  <) 	 .^ .`y $	 $I $y $~ @2i 2h
) 
9 y Y  9 ) lI l\) 8) 9 0
	 
 Y I 9   &	 &P 	  <) 	    /-899 # 3- L L)) j)) &%>?? 	G N tCH~&& +,, K # $C=( D  ?>:;; 566 

 <=
 
 	
 
& !'(K!L	   BC	  -(
BC
	
 )
" 

 <=
 
 	
 
& !'(K!L	   BC	  -.
BC
	
 /
" 
AB
	
 
 
AB
	
 
 ?@	*	+ & ?@	*	+ & 

 &'J K
	
 
  

 &'J K
	
 
  

 =>
 
 	
 
& !'(L!M	   CD	  .)
CD
	
 *
" 

 =>
 
 	
 
& !'(L!M	   CD	  ./
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 4 * = 2 . A : A A  '/%)=4!#41$(9W01./01Wr3   