
    hj                    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?e@eAdn      edo<   	 e@eB   edp<   	 e@eB   edq<   	 eBedr<   	 e@e	   eds<   	 eAdt   edu<   	 e
edv<   edw   edx<   	 eCedy<   	 eDedz<   	 e@eEeCeCf      ed{<   	 ed   ed|<   	 eFe   ed}<   	 e@eB   ed~<   	 e@eC   ed<   	 ed   ed<   	 e@eAd      ed<   	 e@eAd      ed<   	 eGdeCdeHd   dd fd       ZIeJeKdeCdeHd   dd fd              ZLeJdeHd   dd fd       ZL eMd      deHd   dd fd       ZLeGdeCdeHd   dd fd       ZNeJeKdeCdeHd   dd fd              ZOeJdeHd   dd fd       ZO eMd      deHd   dd fd       ZOeGdeHd   dd fd       ZPeGdeHd   dd fd       ZQeGdeHd   deRd    fd       ZSeGdeHd   deRd    fd       ZTeGdyeCdeHd   dd fd       ZUeGdyeCdeHd   dd fd       ZVeGdeCdeHd   dd fd       ZWeJeKdeCdeHd   dd fd              ZXeJdeHd   dd fd       ZX eMd      deHd   dd fd       ZXeGdeCdeHd   dd fd       ZYeJeKdeCdeHd   dd fd              ZZeJdeHd   dd fd       ZZ eMd      deHd   dd fd       ZZeGdyeCdeHd   dd fd       Z[eGdyeCdeHd   dd fd       Z\e	e
edZ]y)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/api/v1/venv_getwork_v1/lib/python3.12/site-packages/stripe/_subscription_schedule.pyCurrentPhaser)   3   s    	 	r2   r4   c                      e Zd ZU  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
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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   r0   r   r1   r2   r3   	Liabilityr:   ?   *    !/)"<== /00r2   r@   requires_location_inputsdisabled_reasonenabled	liabilityN
r,   r-   r.   r   r@   r   r   r0   bool_inner_class_typesr1   r2   r3   AutomaticTaxr8   >   Q    L  &g.H&IJJ M  	** #.y!9r2   rI   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?   r1   r2   r3   IssuerrN   X   rA   r2   rO   r!   account_tax_idsdays_until_dueissuerNr,   r-   r.   r   rO   r   r   r   r0   r/   rH   r1   r2   r3   InvoiceSettingsrL   W   sM      &d?7+C&DEE %SM) N"*F!3r2   rT   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   floatr0   r   r1   r2   r3   TransferDatarV   m   #    $UO+ )33r2   r[   application_fee_percentautomatic_tax	automaticphase_startbilling_cycle_anchorcharge_automaticallysend_invoicecollection_methodr   default_payment_methoddescriptioninvoice_settingsr   on_behalf_oftransfer_data)r^   ri   rk   N)r,   r-   r.   r   rI   rT   r[   r   rZ   r0   r   r   strrH   r1   r2   r3   DefaultSettingsr6   =   s    	:< 	:2	4l 	4,	< 	 "*%0	  --%&@AA	 $:;
 	
	 !))I JJ	 c]"	 *)y9::	  --	 * /)
r2   rm   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	e
e   ed<   	 ee   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	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   r0   r1   r2   r3   r   rs      F     !:;; #?3E#FGG !))I JJr2   r   	discountsr   pricequantityr"   	tax_ratesN)r,   r-   r.   r   r   r   r0   r   r   r/   rH   r1   r2   r3   AddInvoiceItemrq      se    <  H~% #7++ sm#  Y00 #.x!8r2   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?   r1   r2   r3   r@   r      rA   r2   r@   rB   rC   rD   rE   NrF   r1   r2   r3   rI   r      rJ   r2   rI   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   rt   ru   rv   r   rw   Nrx   r1   r2   r3   r   r      sF    _X677 /ABCC %__%EFFr2   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?   r1   r2   r3   rO   r      rA   r2   rO   r!   rP   rQ   rR   NrS   r1   r2   r3   rT   r      sZ      &d?7+C&DEE %SM) V$$ #+F!3r2   rT   c                       e Zd ZU  G d de      Z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<   	 deiZy)SubscriptionSchedule.Phase.Itemc                   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   rt   ru   rv   r   rw   Nrx   r1   r2   r3   r   r      ry   r2   r   rz   metadatar   planr   r{   r|   r"   r}   N)r,   r-   r.   r   r   r   r0   r   r   rl   r   r/   rH   r1   r2   r3   Itemr      s    <  H~% tCH~.. "&)) #7++ sm#  Y00 #.x!8r2   r   c                   0    e Zd ZU ee   ed<   	 ed   ed<   y)'SubscriptionSchedule.Phase.TransferDatarW   r   rX   NrY   r1   r2   r3   r[   r   (  r\   r2   r[   add_invoice_itemsr]   r^   r_   rb   rc   rf   currencyr   rg   r"   default_tax_ratesrh   rz   r*   ri   itemsr   r   rj   always_invoicecreate_prorationsnoneproration_behaviorr+   rk   	trial_end)r   r^   rz   ri   r   rk   N)r,   r-   r.   r   r~   rI   r   rT   r   r[   r   r0   r   rZ   r   rl   r   r/   r   rH   r1   r2   r3   Phasero      s   	9\ 	9B	:< 	:2	| 		4l 	42'	9< '	9R	< 	  //	 "*%0	  --&w/I'JKK	 $:;
 	
	 	 !))I JJ	 $DO44	 c]"	 >!	 	 #?33	 Dz	 4S>**	 y9::	 $9
 	
	 	  --	 C= 	 "0)! /)
r2   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   rl   r0   rG   r1   r2   r3   CancelParamsr     s:    DI&&	 !&&	 T""	r2   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   rl   r0   r   r   r1   r2   r3   CreateParamsr     s    c""	 &>
 	
	 "89
 	
	 DI&&	 's++	 :;;	 D!IJKK	   455	r2   r   c                       e Zd ZU ee   ed<   	 ed   ed<   	 e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   r]   <SubscriptionSchedule.CreateParamsDefaultSettingsAutomaticTaxr^   r_   rb   rc   rf   rg   Literal['']|strrh   ?SubscriptionSchedule.CreateParamsDefaultSettingsInvoiceSettingsri   rj   zHLiteral['']|SubscriptionSchedule.CreateParamsDefaultSettingsTransferDatark   Nr,   r-   r.   r   rZ   r0   r   rl   r1   r2   r3   CreateParamsDefaultSettingsz0SubscriptionSchedule.CreateParamsDefaultSettings      !,U!33	 #J
 	
	 *'2L*MNN	 ':;
 	
	 !,C 00	 !!233	 &M
 	
	 ""344	 #V
 	
	r2   r   c                   *    e Zd ZU eed<   	 ed   ed<   y)r   rD   ESubscriptionSchedule.CreateParamsDefaultSettingsAutomaticTaxLiabilityrE   Nr,   r-   r.   rG   r0   r   r1   r2   r3   'CreateParamsDefaultSettingsAutomaticTaxz<SubscriptionSchedule.CreateParamsDefaultSettingsAutomaticTax  #    	 S
 	
	r2   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   rl   r0   r   r1   r2   r3   0CreateParamsDefaultSettingsAutomaticTaxLiabilityzESubscriptionSchedule.CreateParamsDefaultSettingsAutomaticTaxLiability  %    S!!	 '((	r2   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]rP   rQ   ESubscriptionSchedule.CreateParamsDefaultSettingsInvoiceSettingsIssuerrR   Nr,   r-   r.   r   r0   r/   r1   r2   r3   *CreateParamsDefaultSettingsInvoiceSettingsz?SubscriptionSchedule.CreateParamsDefaultSettingsInvoiceSettings   <    $%<==	 $C((	 S
 	
	r2   r   c                   0    e Zd ZU ee   ed<   	 ed   ed<   y)r   r;   r<   r>   Nr   r1   r2   r3   0CreateParamsDefaultSettingsInvoiceSettingsIssuerzESubscriptionSchedule.CreateParamsDefaultSettingsInvoiceSettingsIssuer  r   r2   r   c                   *    e Zd ZU ee   ed<   	 eed<   y)<SubscriptionSchedule.CreateParamsDefaultSettingsTransferDatarW   rX   Nr,   r-   r.   r   rZ   r0   rl   r1   r2   r3   'CreateParamsDefaultSettingsTransferDatar         #E**	 	r2   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ed      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   r]   2SubscriptionSchedule.CreateParamsPhaseAutomaticTaxr^   r_   rb   rc   rf   r   rg   r   r   r   rh   z@Literal['']|List[SubscriptionSchedule.CreateParamsPhaseDiscount]rz   r*   5SubscriptionSchedule.CreateParamsPhaseInvoiceSettingsri   *SubscriptionSchedule.CreateParamsPhaseItemr   
iterationsr   rj   r   r   2SubscriptionSchedule.CreateParamsPhaseTransferDatark   trialr   Nr,   r-   r.   r   r   r0   rZ   r   rl   r/   r   rG   r1   r2   r3   CreateParamsPhasez&SubscriptionSchedule.CreateParamsPhase$  s   &GH
 	
	 "-U!33	 #@
 	
	 *'2L*MNN	 ':;
 	
	 c""	 !,C 00	 ''>??	 !!233	 N
 	
	 c""	 &C
 	
	 @AA	  $$	 d38n--	 "#&&	 (AB
 	
	 #@
 	
	 4  	 s##	r2   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.CreateParamsPhaseAddInvoiceItemDiscountrz   r{   =SubscriptionSchedule.CreateParamsPhaseAddInvoiceItemPriceData
price_datar|   r   r}   Nr,   r-   r.   r   r   r0   rl   r/   r1   r2   r3   CreateParamsPhaseAddInvoiceItemz4SubscriptionSchedule.CreateParamsPhaseAddInvoiceItem  m    N
 	

	 3	  K
 	
	 c""	 677	r2   r   c                   B    e Zd ZU ee   ed<   	 ee   ed<   	 ee   ed<   y)r   rt   rv   rw   Nr,   r-   r.   r   rl   r0   r1   r2   r3   'CreateParamsPhaseAddInvoiceItemDiscountz<SubscriptionSchedule.CreateParamsPhaseAddInvoiceItemDiscount  6    C  	 c""	 $C((	r2   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.   rl   r0   r   r   r/   r1   r2   r3   (CreateParamsPhaseAddInvoiceItemPriceDataz=SubscriptionSchedule.CreateParamsPhaseAddInvoiceItemPriceData  Y    	 	 ";<
 	
	 !%%	 )--	r2   r   c                   *    e Zd ZU eed<   	 ed   ed<   y)r   rD   ;SubscriptionSchedule.CreateParamsPhaseAutomaticTaxLiabilityrE   Nr   r1   r2   r3   CreateParamsPhaseAutomaticTaxz2SubscriptionSchedule.CreateParamsPhaseAutomaticTax  #    	 I
 	
	r2   r   c                   0    e Zd ZU ee   ed<   	 ed   ed<   y)r   r;   r<   r>   Nr   r1   r2   r3   &CreateParamsPhaseAutomaticTaxLiabilityz;SubscriptionSchedule.CreateParamsPhaseAutomaticTaxLiability  r   r2   r   c                   B    e Zd ZU ee   ed<   	 ee   ed<   	 ee   ed<   y).SubscriptionSchedule.CreateParamsPhaseDiscountrt   rv   rw   Nr   r1   r2   r3   CreateParamsPhaseDiscountr     r   r2   r   c                   B    e Zd ZU ed   ed<   	 ee   ed<   	 ed   ed<   y)r   r   rP   rQ   ;SubscriptionSchedule.CreateParamsPhaseInvoiceSettingsIssuerrR   Nr   r1   r2   r3    CreateParamsPhaseInvoiceSettingsz5SubscriptionSchedule.CreateParamsPhaseInvoiceSettings  <    $%<==	 $C((	 I
 	
	r2   r   c                   0    e Zd ZU ee   ed<   	 ed   ed<   y)r   r;   r<   r>   Nr   r1   r2   r3   &CreateParamsPhaseInvoiceSettingsIssuerz;SubscriptionSchedule.CreateParamsPhaseInvoiceSettingsIssuer  r   r2   r   c                       e Zd ZU 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   zDLiteral['']|List[SubscriptionSchedule.CreateParamsPhaseItemDiscount]rz   r   r   r{   3SubscriptionSchedule.CreateParamsPhaseItemPriceDatar   r|   r   r}   Nr,   r-   r.   r   r0   r   rl   r/   r1   r2   r3   CreateParamsPhaseItemz*SubscriptionSchedule.CreateParamsPhaseItem      R
 	
	 d38n--	 #	 3	  A
 	
	 c""	 677	r2   r  c                   B    e Zd ZU ee   ed<   	 ee   ed<   	 ee   ed<   y)2SubscriptionSchedule.CreateParamsPhaseItemDiscountrt   rv   rw   Nr   r1   r2   r3   CreateParamsPhaseItemDiscountr  &  r   r2   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   r1   r2   r3   CreateParamsPhaseItemPriceDataz3SubscriptionSchedule.CreateParamsPhaseItemPriceData4  i    	 	 K	
	 ";<
 	
	 !%%	 )--	r2   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   r0   r   r/   r1   r2   r3   'CreateParamsPhaseItemPriceDataRecurringz<SubscriptionSchedule.CreateParamsPhaseItemPriceDataRecurringR  %    899	 $C((	r2   r  c                   *    e Zd ZU ee   ed<   	 eed<   y)r   rW   rX   Nr   r1   r2   r3   CreateParamsPhaseTransferDataz2SubscriptionSchedule.CreateParamsPhaseTransferData\  r   r2   r  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   r0   rl   r   r/   rG   r1   r2   r3   
ListParamsr  f  s     ;
 	
	 "<
 	
	 IJJ	 c""	 #3''	 DI&&	 3	 !;
 	
	 t$$	 $C((	r2   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   r/   r0   r1   r2   r3   ListParamsCanceledAtr'    H    	 	 	 	r2   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.ListParamsCompletedAtr(  r)  r*  r+  Nr,  r1   r2   r3   ListParamsCompletedAtr0    r.  r2   r1  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.ListParamsCreatedr(  r)  r*  r+  Nr,  r1   r2   r3   ListParamsCreatedr3    r.  r2   r4  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.ListParamsReleasedAtr(  r)  r*  r+  Nr,  r1   r2   r3   ListParamsReleasedAtr6    r.  r2   r7  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   r0   r   r   rl   r1   r2   r3   ModifyParamsr9    s    %>
 	
	 "89
 	
	 DI&&	 :;;	 D!IJKK	 (AB
 	
	r2   r<  c                       e Zd ZU ee   ed<   	 ed   ed<   	 e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:  r]   <SubscriptionSchedule.ModifyParamsDefaultSettingsAutomaticTaxr^   r_   rb   rc   rf   rg   r   rh   ?SubscriptionSchedule.ModifyParamsDefaultSettingsInvoiceSettingsri   rj   zHLiteral['']|SubscriptionSchedule.ModifyParamsDefaultSettingsTransferDatark   Nr   r1   r2   r3   ModifyParamsDefaultSettingsz0SubscriptionSchedule.ModifyParamsDefaultSettings  r   r2   r@  c                   *    e Zd ZU eed<   	 ed   ed<   y)r>  rD   ESubscriptionSchedule.ModifyParamsDefaultSettingsAutomaticTaxLiabilityrE   Nr   r1   r2   r3   'ModifyParamsDefaultSettingsAutomaticTaxz<SubscriptionSchedule.ModifyParamsDefaultSettingsAutomaticTax,  r   r2   rC  c                   0    e Zd ZU ee   ed<   	 ed   ed<   y)rB  r;   r<   r>   Nr   r1   r2   r3   0ModifyParamsDefaultSettingsAutomaticTaxLiabilityzESubscriptionSchedule.ModifyParamsDefaultSettingsAutomaticTaxLiability8  r   r2   rE  c                   B    e Zd ZU ed   ed<   	 ee   ed<   	 ed   ed<   y)r?  r   rP   rQ   ESubscriptionSchedule.ModifyParamsDefaultSettingsInvoiceSettingsIssuerrR   Nr   r1   r2   r3   *ModifyParamsDefaultSettingsInvoiceSettingsz?SubscriptionSchedule.ModifyParamsDefaultSettingsInvoiceSettingsB  r   r2   rH  c                   0    e Zd ZU ee   ed<   	 ed   ed<   y)rG  r;   r<   r>   Nr   r1   r2   r3   0ModifyParamsDefaultSettingsInvoiceSettingsIssuerzESubscriptionSchedule.ModifyParamsDefaultSettingsInvoiceSettingsIssuerR  r   r2   rJ  c                   *    e Zd ZU ee   ed<   	 eed<   y)<SubscriptionSchedule.ModifyParamsDefaultSettingsTransferDatarW   rX   Nr   r1   r2   r3   'ModifyParamsDefaultSettingsTransferDatarL  \  r   r2   rM  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ed      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")#r;  4SubscriptionSchedule.ModifyParamsPhaseAddInvoiceItemr   r]   2SubscriptionSchedule.ModifyParamsPhaseAutomaticTaxr^   r_   rb   rc   rf   r   rg   r   r   r   rh   z@Literal['']|List[SubscriptionSchedule.ModifyParamsPhaseDiscount]rz   r   r*   5SubscriptionSchedule.ModifyParamsPhaseInvoiceSettingsri   *SubscriptionSchedule.ModifyParamsPhaseItemr   r   r   rj   r   r   r+   2SubscriptionSchedule.ModifyParamsPhaseTransferDatark   r   r   Nr   r1   r2   r3   ModifyParamsPhasez&SubscriptionSchedule.ModifyParamsPhasef  s   &GH
 	
	 "-U!33	 #@
 	
	 *'2L*MNN	 ':;
 	
	 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	r2   rT  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	)
rO  <SubscriptionSchedule.ModifyParamsPhaseAddInvoiceItemDiscountrz   r{   =SubscriptionSchedule.ModifyParamsPhaseAddInvoiceItemPriceDatar   r|   r   r}   Nr   r1   r2   r3   ModifyParamsPhaseAddInvoiceItemz4SubscriptionSchedule.ModifyParamsPhaseAddInvoiceItem  r   r2   rX  c                   B    e Zd ZU ee   ed<   	 ee   ed<   	 ee   ed<   y)rV  rt   rv   rw   Nr   r1   r2   r3   'ModifyParamsPhaseAddInvoiceItemDiscountz<SubscriptionSchedule.ModifyParamsPhaseAddInvoiceItemDiscount  r   r2   rZ  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)rW  r   r   r   r   r   r   Nr   r1   r2   r3   (ModifyParamsPhaseAddInvoiceItemPriceDataz=SubscriptionSchedule.ModifyParamsPhaseAddInvoiceItemPriceData  r   r2   r\  c                   *    e Zd ZU eed<   	 ed   ed<   y)rP  rD   ;SubscriptionSchedule.ModifyParamsPhaseAutomaticTaxLiabilityrE   Nr   r1   r2   r3   ModifyParamsPhaseAutomaticTaxz2SubscriptionSchedule.ModifyParamsPhaseAutomaticTax  r   r2   r_  c                   0    e Zd ZU ee   ed<   	 ed   ed<   y)r^  r;   r<   r>   Nr   r1   r2   r3   &ModifyParamsPhaseAutomaticTaxLiabilityz;SubscriptionSchedule.ModifyParamsPhaseAutomaticTaxLiability  r   r2   ra  c                   B    e Zd ZU ee   ed<   	 ee   ed<   	 ee   ed<   y).SubscriptionSchedule.ModifyParamsPhaseDiscountrt   rv   rw   Nr   r1   r2   r3   ModifyParamsPhaseDiscountrc  "  r   r2   rd  c                   B    e Zd ZU ed   ed<   	 ee   ed<   	 ed   ed<   y)rQ  r   rP   rQ   ;SubscriptionSchedule.ModifyParamsPhaseInvoiceSettingsIssuerrR   Nr   r1   r2   r3    ModifyParamsPhaseInvoiceSettingsz5SubscriptionSchedule.ModifyParamsPhaseInvoiceSettings0  r   r2   rg  c                   0    e Zd ZU ee   ed<   	 ed   ed<   y)rf  r;   r<   r>   Nr   r1   r2   r3   &ModifyParamsPhaseInvoiceSettingsIssuerz;SubscriptionSchedule.ModifyParamsPhaseInvoiceSettingsIssuer@  r   r2   ri  c                       e Zd ZU 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)rR  zDLiteral['']|List[SubscriptionSchedule.ModifyParamsPhaseItemDiscount]rz   r   r   r{   3SubscriptionSchedule.ModifyParamsPhaseItemPriceDatar   r|   r   r}   Nr  r1   r2   r3   ModifyParamsPhaseItemz*SubscriptionSchedule.ModifyParamsPhaseItemJ  r  r2   rl  c                   B    e Zd ZU ee   ed<   	 ee   ed<   	 ee   ed<   y)2SubscriptionSchedule.ModifyParamsPhaseItemDiscountrt   rv   rw   Nr   r1   r2   r3   ModifyParamsPhaseItemDiscountrn  l  r   r2   ro  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	)
rk  r   r   <SubscriptionSchedule.ModifyParamsPhaseItemPriceDataRecurringr  r   r   r   r   Nr   r1   r2   r3   ModifyParamsPhaseItemPriceDataz3SubscriptionSchedule.ModifyParamsPhaseItemPriceDataz  r  r2   rr  c                   0    e Zd ZU ed   ed<   	 ee   ed<   y)rq  r  r  r  Nr  r1   r2   r3   'ModifyParamsPhaseItemPriceDataRecurringz<SubscriptionSchedule.ModifyParamsPhaseItemPriceDataRecurring  r  r2   rt  c                   *    e Zd ZU ee   ed<   	 eed<   y)rS  rW   rX   Nr   r1   r2   r3   ModifyParamsPhaseTransferDataz2SubscriptionSchedule.ModifyParamsPhaseTransferData  r   r2   rv  c                   6    e Zd ZU eee      ed<   	 ee   ed<   y)"SubscriptionSchedule.ReleaseParamsr   preserve_cancel_dateNr   r1   r2   r3   ReleaseParamsrx    s(    DI&&	 *$//	r2   rz  c                   $    e Zd ZU eee      ed<   y)#SubscriptionSchedule.RetrieveParamsr   N)r,   r-   r.   r   r   rl   r0   r1   r2   r3   RetrieveParamsr|    s    DI&&	r2   r}  r   applicationr  r  r  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      r3   _cls_cancelz SubscriptionSchedule._cls_cancel  sK     ">EE(2 F     	
 		
r2   c                      yr  Nr1   r  r  s     r3   r   zSubscriptionSchedule.cancel       	r2   c                      yr  r1   r=   r  s     r3   r   zSubscriptionSchedule.cancel"       	r2   r  c                     t        d| j                  ddj                  t        | j	                  d                  |            S )r  r%   r  r  r  r  r  r   _requestr  r   getr  s     r3   r   zSubscriptionSchedule.cancel+  sQ     "MM>EE($8 F    	
 		
r2   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      r3   _cls_cancel_asyncz&SubscriptionSchedule._cls_cancel_async=  sY      "++>EE(2 F   ,  	
 		
   7AA
	Ac                    K   ywr  r1   r  s     r3   cancel_asyncz!SubscriptionSchedule.cancel_asyncQ        	   c                    K   ywr  r1   r  s     r3   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     r3   r  z!SubscriptionSchedule.cancel_asyncd  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     r3   createzSubscriptionSchedule.createv  s6     "   
 	
r2   c                 v   K   t        d| j                  d| j                         |       d{         S 7 w)r  r%   r  r  N)r   r  r  r  s     r3   create_asyncz!SubscriptionSchedule.create_async  sD      "++ ,  
 	
s   ,97
	9r  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      r3   listzSubscriptionSchedule.list  s]     $$MMO % 

 &*-7<((* 
 r2   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      r3   
list_asynczSubscriptionSchedule.list_async  sk      00MMO 1 
 

 &*-7<((* 
 
s   &A"A 8A"r9  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       r3   modifyzSubscriptionSchedule.modify  sD     +b/:"   
 	
r2   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       r3   modify_asyncz!SubscriptionSchedule.modify_async  sR      +b/:"++ ,  
 	
s   <A	A
	A	rx  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      r3   _cls_releasez!SubscriptionSchedule._cls_release  sK     "?FF(2 G     	
 		
r2   c                      yr  Nr1   r  s     r3   r   zSubscriptionSchedule.release  r  r2   c                      yr  r1   r  s     r3   r   zSubscriptionSchedule.release  r  r2   r  c                     t        d| j                  ddj                  t        | j	                  d                  |            S )r  r%   r  r  r  r  r  r  r  s     r3   r   zSubscriptionSchedule.release  sQ     "MM?FF($8 G    	
 		
r2   c                    K   t        d| j                  ddj                  t        |            |       d{         S 7 w)r  r%   r  r  r  r  Nr  r  s      r3   _cls_release_asyncz'SubscriptionSchedule._cls_release_async  sY      "++?FF(2 G   ,  	
 		
r  c                    K   ywr  r1   r  s     r3   release_asyncz"SubscriptionSchedule.release_async-  r  r  c                    K   ywr  r1   r  s     r3   r  z"SubscriptionSchedule.release_async7  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     r3   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       r3   retrievezSubscriptionSchedule.retrieveR  s$     r$V$r2   c                 T   K    | |fi |}|j                          d{    |S 7 w)r  N)refresh_asyncr  s       r3   retrieve_asyncz#SubscriptionSchedule.retrieve_async]  s3      r$V$$$&&& 	's   (&()r  r   r   N)^r,   r-   r.   __doc__r'   r   r   r0   r   r4   rm   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-  r1  r4  r7  r<  r@  rC  rE  rH  rJ  rM  rT  rX  rZ  r\  r_  ra  rd  rg  ri  rl  ro  rr  rt  rv  rz  r}  r   r   r/   rl   rG   r   r   classmethodr   r  r   staticmethodr   r
   r  r  r  r  r   r  r  r  r  r  r   r  r  r  r  rH   r1   r2   r3   r%   r%   $   s   
 	  '"9:; | ^
, ^
@i
 i
V~ $~ $L,i ,\
) 
9 Y  9 ) ^I ^@) 8) 9 0
	 
 I 9    	  D	  <) 	 .^ .`y $	 $I $y $~ @,i ,\
) 
9 Y  9 ) bI bH) 8) 9 0
	 
 I 9    	  D	  <) 	    /-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	  &+r2   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   ru   stripe._payment_methodr   stripe._planr   stripe._pricer   stripe._promotion_coder   stripe._subscriptionr    stripe._tax_idr!   stripe._tax_rater"   stripe.test_helpers._test_clockr#   r%   r1   r2   r3   <module>r     s    B 4 * = 2 . A : A A  '/%)=4!#41$(9H01./01Hr2   