
    +h>                    P   d dl mZ d dlmZmZmZ d dlmZ d dlm	Z	 d dl
mZ d dlmZ d dlmZ d dlmZmZmZmZmZmZ d d	lmZmZmZmZmZ d d
lmZ er<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. d dl/m0Z0 d dl1m2Z2  G d ded   ed   ed         Z3y)    )util)CreateableAPIResourceListableAPIResourceUpdateableAPIResource)ExpandableField)
ListObject)RequestOptions)StripeObject)class_method_variant)ClassVarDictListOptionalcastoverload)LiteralNotRequired	TypedDictUnpackTYPE_CHECKING)
quote_plus)Account)Application)Coupon)Customer)PaymentMethod)Plan)Price)Subscription)TaxRate)	TestClockc                   T   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er 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      Z0 G dN dOe      Z1 G dP dQe      Z2 G dR dSe      Z3 G dT dUe      Z4 G dV dWe      Z5 G dX dYe      Z6 G dZ d[e      Z7 G d\ d]e      Z8e9e:d^      ed_<   	 e9e;   ed`<   	 e9e;   eda<   	 e;edb<   	 e9e	   edc<   	 e:dd   ede<   	 e
edf<   edg   edh<   	 e<edi<   	 e=edj<   	 e9e>e<e<f      edk<   	 ed   edl<   	 e?e   edm<   	 e9e;   edn<   	 e9e<   edo<   	 edp   edq<   	 e9e:dr      eds<   	 e9e:dt      edu<   	 e@	 	 	 ddwe<dxe9e<   dye9e<   dze9e<   d{eAd|   d}d fd~       ZBeCeD	 	 	 ddwe<dxe9e<   dye9e<   dze9e<   d{eAd|   d}d fd              ZEeC	 dde9e<   d{eAd|   d}d fd       ZE eFd      	 dde9e<   d{eAd|   d}d fd       ZEe@	 	 	 	 ddxe9e<   de9e<   dye9e<   dze9e<   d{eAd   d}d fd       ZGe@	 	 	 ddxe9e<   dye9e<   dze9e<   d{eAd   d}eHd    f
d       ZIe@die<d{eAd   d}d fd       ZJe@	 	 	 ddwe<dxe9e<   dye9e<   dze9e<   d{eAd   d}d fd       ZKeCeD	 	 	 ddwe<dxe9e<   dye9e<   dze9e<   d{eAd   d}d fd              ZLeC	 dde9e<   d{eAd   d}d fd       ZL eFd      	 dde9e<   d{eAd   d}d fd       ZLe@die<d{eAd   d}d fd       ZMe	e
edZNyv)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/venv/lib/python3.12/site-packages/stripe/api_resources/subscription_schedule.pyCurrentPhaser'   4   s    	 	r1   r3   c                   8   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   e
d<   	 eed      e
d<   	 ee   e
d<   	 eeeedZy)$SubscriptionSchedule.DefaultSettingsc                       e Zd ZU eed<   y)1SubscriptionSchedule.DefaultSettings.AutomaticTaxenabledNr+   r,   r-   boolr/   r0   r1   r2   AutomaticTaxr7   ?       Mr1   r;   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   r.   r/   r:   r0   r1   r2   BillingThresholdsr>   E   "     % )16r1   rB   c                       e Zd ZU ee   ed<   y)4SubscriptionSchedule.DefaultSettings.InvoiceSettingsdays_until_dueNr+   r,   r-   r   r.   r/   r0   r1   r2   InvoiceSettingsrE   O       $SM)r1   rH   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   floatr/   r   r0   r1   r2   TransferDatarK   U   #    $UO+ )33r1   rP   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)rS   rX   r_   ra   N)r+   r,   r-   r
   r;   rB   rH   rP   r   rO   r/   r   r   str_inner_class_typesr0   r1   r2   DefaultSettingsr5   >   s
   	< 		 		l 		< 	 "*%0	  --%&@AA	 %%677	 $:;
 	
	 !))I JJ	 c]"	 #?33	 y9::	  --	 *"3 /)	
r1   rd   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   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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                   H    e Zd ZU ed   ed<   	 ee   ed<   	 eed      ed<   y))SubscriptionSchedule.Phase.AddInvoiceItemr   pricequantityr    	tax_ratesN)r+   r,   r-   r   r/   r   r.   r   r0   r1   r2   AddInvoiceItemrh      s9    "7++ sm#  Y00r1   rl   c                       e Zd ZU eed<   y)'SubscriptionSchedule.Phase.AutomaticTaxr8   Nr9   r0   r1   r2   r;   rn      r<   r1   r;   c                   0    e Zd ZU ee   ed<   	 ee   ed<   y),SubscriptionSchedule.Phase.BillingThresholdsr?   r@   NrA   r0   r1   r2   rB   rp      rC   r1   rB   c                       e Zd ZU ee   ed<   y)*SubscriptionSchedule.Phase.InvoiceSettingsrF   NrG   r0   r1   r2   rH   rr      rI   r1   rH   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                       e Zd ZU ee   ed<   y)1SubscriptionSchedule.Phase.Item.BillingThresholds	usage_gteNrG   r0   r1   r2   rB   rv      s    #C=(r1   rB   rX   metadatar   planr   ri   rj   r    rk   N)r+   r,   r-   r
   rB   r   r/   r   rb   r   r.   r   rc   r0   r1   r2   Itemrt      s    L  !)): ;; tCH~.. "&)) #7++ sm#  Y00 #78I!Jr1   rz   c                   0    e Zd ZU ee   ed<   	 ed   ed<   y)'SubscriptionSchedule.Phase.TransferDatarL   r   rM   NrN   r0   r1   r2   rP   r|      rQ   r1   rP   add_invoice_itemsrR   rS   rT   rW   rX   rY   r\   r   couponcurrencyr   r]   r    default_tax_ratesr^   r(   r_   itemsrx   r   r`   )always_invoicecreate_prorationsnoneproration_behaviorr)   ra   	trial_end)r}   rS   rX   r_   r   ra   N)r+   r,   r-   r
   rl   r;   rB   rH   rz   rP   r   r/   r   rO   r   r   rb   r.   r   rc   r0   r1   r2   Phaserf      s   	\ 		< 		 		l 		K< 	KB	< 	  //	 "*%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 /)
r1   r   c                   B    e Zd ZU ed   ed<   	 ed   ed<   	 ed   ed<   y)!SubscriptionSchedule.CancelParams	List[str]expandr:   invoice_nowprorateNr+   r,   r-   r   r/   r0   r1   r2   CancelParamsr   9  s6    ,, %V,, !((r1   r   c                       e Zd ZU 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d<   	 ed   ed<   y)!SubscriptionSchedule.CreateParamsrb   customer0SubscriptionSchedule.CreateParamsDefaultSettingsdefault_settings-Literal['cancel', 'none', 'release', 'renew']end_behaviorr   r   from_subscriptionLiteral['']|Dict[str, str]rx   z,List[SubscriptionSchedule.CreateParamsPhase]phasesint|Literal['now']r)   Nr   r0   r1   r2   CreateParamsr   G  s    !%(( *B  &?   ,,  +511 "">??   NOO $$899r1   r   c                      e Zd ZU 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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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d$<   	 ed   ed%<   y&)'&SubscriptionSchedule.CreateParamsPhasez:List[SubscriptionSchedule.CreateParamsPhaseAddInvoiceItem]r}   rO   rR   2SubscriptionSchedule.CreateParamsPhaseAutomaticTaxrS   #Literal['automatic', 'phase_start']rW   zCLiteral['']|SubscriptionSchedule.CreateParamsPhaseBillingThresholdsrX   /Literal['charge_automatically', 'send_invoice']r\   rb   r~   r   r]   Literal['']|List[str]r   Literal['']|strr^   r.   r(   5SubscriptionSchedule.CreateParamsPhaseInvoiceSettingsr_   *SubscriptionSchedule.CreateParamsPhaseItemr   
iterationsDict[str, str]rx   r`   6Literal['always_invoice', 'create_prorations', 'none']r   2SubscriptionSchedule.CreateParamsPhaseTransferDatara   r:   trialr   Nr+   r,   r-   r   r/   r   r0   r1   r2   CreateParamsPhaser   m  s   *L   &1%99 'D  #.5#  !,U!   +A    && "%(( %0$66  ++BCC %%677 "%(( *G  DEE $E** ""233 &e,, !,H!  'D  v&& #5))r1   r   c                   *    e Zd ZU ed   ed<   	 eed<   y)r   rO   rL   rM   Nr+   r,   r-   r   r/   rb   r0   r1   r2   CreateParamsPhaseTransferDataz2SubscriptionSchedule.CreateParamsPhaseTransferData      '00 r1   r   c                       e Zd ZU 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d<   y)r   zGLiteral['']|SubscriptionSchedule.CreateParamsPhaseItemBillingThresholdsrX   r   rx   rb   ry   ri   3SubscriptionSchedule.CreateParamsPhaseItemPriceData
price_datar.   rj   r   rk   Nr   r0   r1   r2   CreateParamsPhaseItemz*SubscriptionSchedule.CreateParamsPhaseItem       +Y!  ""233 e$$ u%% $E  "%(( ##:;;r1   r   c                   f    e Zd ZU eed<   	 eed<   	 ded<   	 ed   ed<   	 ed   ed<   	 ed	   ed
<   y)r   r   product<SubscriptionSchedule.CreateParamsPhaseItemPriceDataRecurring	recurring0Literal['exclusive', 'inclusive', 'unspecified']tax_behaviorr.   unit_amountrb   unit_amount_decimalNr+   r,   r-   rb   r/   r   r0   r1   r2   CreateParamsPhaseItemPriceDataz3SubscriptionSchedule.CreateParamsPhaseItemPriceData  a    M L VU &B  %U++ "-U!33r1   r   c                   0    e Zd ZU ed   ed<   	 ed   ed<   y)r   daymonthweekyearintervalr.   interval_countNr+   r,   r-   r   r/   r   r0   r1   r2   'CreateParamsPhaseItemPriceDataRecurringz<SubscriptionSchedule.CreateParamsPhaseItemPriceDataRecurring  %    <== (..r1   r   c                       e Zd ZU eed<   y);SubscriptionSchedule.CreateParamsPhaseItemBillingThresholdsrw   Nr*   r0   r1   r2   &CreateParamsPhaseItemBillingThresholdsr   %      Nr1   r   c                       e Zd ZU ed   ed<   y)r   r.   rF   Nr   r0   r1   r2    CreateParamsPhaseInvoiceSettingsz5SubscriptionSchedule.CreateParamsPhaseInvoiceSettings+      '..r1   r   c                   0    e Zd ZU ed   ed<   	 ed   ed<   y)7SubscriptionSchedule.CreateParamsPhaseBillingThresholdsr.   r?   r:   r@   Nr   r0   r1   r2   "CreateParamsPhaseBillingThresholdsr   1  $    #E** )4F(;;r1   r   c                       e Zd ZU eed<   y)r   r8   Nr9   r0   r1   r2   CreateParamsPhaseAutomaticTaxz2SubscriptionSchedule.CreateParamsPhaseAutomaticTax;  r<   r1   r   c                   T    e Zd ZU ed   ed<   	 ed   ed<   	 ed   ed<   	 ed   ed<   y	)
4SubscriptionSchedule.CreateParamsPhaseAddInvoiceItemrb   ri   =SubscriptionSchedule.CreateParamsPhaseAddInvoiceItemPriceDatar   r.   rj   r   rk   Nr   r0   r1   r2   CreateParamsPhaseAddInvoiceItemr   A  N    u%% $O  "%(( ##:;;r1   r   c                   Z    e Zd ZU eed<   	 eed<   	 ed   ed<   	 ed   ed<   	 ed   ed<   y	)
r   r   r   r   r   r.   r   rb   r   Nr   r0   r1   r2   (CreateParamsPhaseAddInvoiceItemPriceDataz=SubscriptionSchedule.CreateParamsPhaseAddInvoiceItemPriceDataU  S    M L &B  %U++ "-U!33r1   r   c                       e Zd ZU 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d<   	 ed   ed<   	 ed   ed<   	 ed   ed<   y)r   rO   rR   <SubscriptionSchedule.CreateParamsDefaultSettingsAutomaticTaxrS   r   rW   zMLiteral['']|SubscriptionSchedule.CreateParamsDefaultSettingsBillingThresholdsrX   r   r\   rb   r]   r   r^   ?SubscriptionSchedule.CreateParamsDefaultSettingsInvoiceSettingsr_   r`   zHLiteral['']|SubscriptionSchedule.CreateParamsDefaultSettingsTransferDatara   Nr   r0   r1   r2   CreateParamsDefaultSettingsz0SubscriptionSchedule.CreateParamsDefaultSettingsm      %0%99 'N  #.5#  !,_!   +A   %0$66 %%677 *Q  &&788 'Z r1   r   c                   *    e Zd ZU ed   ed<   	 eed<   y)<SubscriptionSchedule.CreateParamsDefaultSettingsTransferDatarO   rL   rM   Nr   r0   r1   r2   'CreateParamsDefaultSettingsTransferDatar     r   r1   r   c                       e Zd ZU ed   ed<   y)r   r.   rF   Nr   r0   r1   r2   *CreateParamsDefaultSettingsInvoiceSettingsz?SubscriptionSchedule.CreateParamsDefaultSettingsInvoiceSettings  r   r1   r   c                   0    e Zd ZU ed   ed<   	 ed   ed<   y)ASubscriptionSchedule.CreateParamsDefaultSettingsBillingThresholdsr.   r?   r:   r@   Nr   r0   r1   r2   ,CreateParamsDefaultSettingsBillingThresholdsr     r   r1   r   c                       e Zd ZU eed<   y)r   r8   Nr9   r0   r1   r2   'CreateParamsDefaultSettingsAutomaticTaxz<SubscriptionSchedule.CreateParamsDefaultSettingsAutomaticTax  r<   r1   r   c                       e Zd ZU 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d<   	 ed   ed<   	 ed   ed<   	 ed   ed<   y)SubscriptionSchedule.ListParamsz-SubscriptionSchedule.ListParamsCanceledAt|intcanceled_atz.SubscriptionSchedule.ListParamsCompletedAt|intcompleted_atz*SubscriptionSchedule.ListParamsCreated|intcreatedrb   r   ending_beforer   r   r.   limitz-SubscriptionSchedule.ListParamsReleasedAt|intreleased_atr:   	scheduledstarting_afterNr   r0   r1   r2   
ListParamsr     s    $?  &@  !!MNN "%(( 'u--  ,, u%% %?  #6** (..r1   r   c                   T    e Zd ZU ed   ed<   	 ed   ed<   	 ed   ed<   	 ed   ed<   y))SubscriptionSchedule.ListParamsReleasedAtr.   gtgteltlteNr   r0   r1   r2   ListParamsReleasedAtr     H    E"" U## E"" U##r1   r   c                   T    e Zd ZU ed   ed<   	 ed   ed<   	 ed   ed<   	 ed   ed<   y)&SubscriptionSchedule.ListParamsCreatedr.   r   r   r   r   Nr   r0   r1   r2   ListParamsCreatedr    r  r1   r  c                   T    e Zd ZU ed   ed<   	 ed   ed<   	 ed   ed<   	 ed   ed<   y)*SubscriptionSchedule.ListParamsCompletedAtr.   r   r   r   r   Nr   r0   r1   r2   ListParamsCompletedAtr    r  r1   r  c                   T    e Zd ZU ed   ed<   	 ed   ed<   	 ed   ed<   	 ed   ed<   y))SubscriptionSchedule.ListParamsCanceledAtr.   r   r   r   r   Nr   r0   r1   r2   ListParamsCanceledAtr	  )  r  r1   r
  c                   x    e Zd ZU ed   ed<   	 ed   ed<   	 ed   ed<   	 ed   ed<   	 ed	   ed
<   	 ed   ed<   y)!SubscriptionSchedule.ModifyParams0SubscriptionSchedule.ModifyParamsDefaultSettingsr   r   r   r   r   r   rx   z,List[SubscriptionSchedule.ModifyParamsPhase]r   r   r   Nr   r0   r1   r2   ModifyParamsr  ;  s}    )B  &?   ,, "">??   NOO !,H! r1   r  c                      e Zd ZU 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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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d$<   	 ed%   ed&<   	 ed   ed'<   y())&SubscriptionSchedule.ModifyParamsPhasez:List[SubscriptionSchedule.ModifyParamsPhaseAddInvoiceItem]r}   rO   rR   2SubscriptionSchedule.ModifyParamsPhaseAutomaticTaxrS   r   rW   zCLiteral['']|SubscriptionSchedule.ModifyParamsPhaseBillingThresholdsrX   r   r\   rb   r~   r   r]   r   r   r   r^   r   r(   5SubscriptionSchedule.ModifyParamsPhaseInvoiceSettingsr_   *SubscriptionSchedule.ModifyParamsPhaseItemr   r.   r   r   rx   r`   r   r   r)   2SubscriptionSchedule.ModifyParamsPhaseTransferDatara   r:   r   r   Nr   r0   r1   r2   ModifyParamsPhaser  [  s   *L   &1%99 'D  #.5#  !,U!   +A    && "%(( %0$66  ++BCC %%677 ""677 *G  DEE $E** ""233 &e,, !,H!  $$899 'D  v&& ##788r1   r  c                   *    e Zd ZU ed   ed<   	 eed<   y)r  rO   rL   rM   Nr   r0   r1   r2   ModifyParamsPhaseTransferDataz2SubscriptionSchedule.ModifyParamsPhaseTransferData  r   r1   r  c                       e Zd ZU 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d<   y)r  zGLiteral['']|SubscriptionSchedule.ModifyParamsPhaseItemBillingThresholdsrX   r   rx   rb   ry   ri   3SubscriptionSchedule.ModifyParamsPhaseItemPriceDatar   r.   rj   r   rk   Nr   r0   r1   r2   ModifyParamsPhaseItemz*SubscriptionSchedule.ModifyParamsPhaseItem  r   r1   r  c                   f    e Zd ZU eed<   	 eed<   	 ded<   	 ed   ed<   	 ed   ed<   	 ed	   ed
<   y)r  r   r   <SubscriptionSchedule.ModifyParamsPhaseItemPriceDataRecurringr   r   r   r.   r   rb   r   Nr   r0   r1   r2   ModifyParamsPhaseItemPriceDataz3SubscriptionSchedule.ModifyParamsPhaseItemPriceData  r   r1   r  c                   0    e Zd ZU ed   ed<   	 ed   ed<   y)r  r   r   r.   r   Nr   r0   r1   r2   'ModifyParamsPhaseItemPriceDataRecurringz<SubscriptionSchedule.ModifyParamsPhaseItemPriceDataRecurring  r   r1   r  c                       e Zd ZU eed<   y);SubscriptionSchedule.ModifyParamsPhaseItemBillingThresholdsrw   Nr*   r0   r1   r2   &ModifyParamsPhaseItemBillingThresholdsr!    r   r1   r"  c                       e Zd ZU ed   ed<   y)r  r.   rF   Nr   r0   r1   r2    ModifyParamsPhaseInvoiceSettingsz5SubscriptionSchedule.ModifyParamsPhaseInvoiceSettings  r   r1   r$  c                   0    e Zd ZU ed   ed<   	 ed   ed<   y)7SubscriptionSchedule.ModifyParamsPhaseBillingThresholdsr.   r?   r:   r@   Nr   r0   r1   r2   "ModifyParamsPhaseBillingThresholdsr&  #  r   r1   r'  c                       e Zd ZU eed<   y)r  r8   Nr9   r0   r1   r2   ModifyParamsPhaseAutomaticTaxz2SubscriptionSchedule.ModifyParamsPhaseAutomaticTax-  r<   r1   r)  c                   T    e Zd ZU ed   ed<   	 ed   ed<   	 ed   ed<   	 ed   ed<   y	)
4SubscriptionSchedule.ModifyParamsPhaseAddInvoiceItemrb   ri   =SubscriptionSchedule.ModifyParamsPhaseAddInvoiceItemPriceDatar   r.   rj   r   rk   Nr   r0   r1   r2   ModifyParamsPhaseAddInvoiceItemr+  3  r   r1   r-  c                   Z    e Zd ZU eed<   	 eed<   	 ed   ed<   	 ed   ed<   	 ed   ed<   y	)
r,  r   r   r   r   r.   r   rb   r   Nr   r0   r1   r2   (ModifyParamsPhaseAddInvoiceItemPriceDataz=SubscriptionSchedule.ModifyParamsPhaseAddInvoiceItemPriceDataG  r   r1   r/  c                       e Zd ZU 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d<   	 ed   ed<   	 ed   ed<   	 ed   ed<   y)r  rO   rR   <SubscriptionSchedule.ModifyParamsDefaultSettingsAutomaticTaxrS   r   rW   zMLiteral['']|SubscriptionSchedule.ModifyParamsDefaultSettingsBillingThresholdsrX   r   r\   rb   r]   r   r^   ?SubscriptionSchedule.ModifyParamsDefaultSettingsInvoiceSettingsr_   r`   zHLiteral['']|SubscriptionSchedule.ModifyParamsDefaultSettingsTransferDatara   Nr   r0   r1   r2   ModifyParamsDefaultSettingsz0SubscriptionSchedule.ModifyParamsDefaultSettings_  r   r1   r3  c                   *    e Zd ZU ed   ed<   	 eed<   y)<SubscriptionSchedule.ModifyParamsDefaultSettingsTransferDatarO   rL   rM   Nr   r0   r1   r2   'ModifyParamsDefaultSettingsTransferDatar5    r   r1   r6  c                       e Zd ZU ed   ed<   y)r2  r.   rF   Nr   r0   r1   r2   *ModifyParamsDefaultSettingsInvoiceSettingsz?SubscriptionSchedule.ModifyParamsDefaultSettingsInvoiceSettings  r   r1   r8  c                   0    e Zd ZU ed   ed<   	 ed   ed<   y)ASubscriptionSchedule.ModifyParamsDefaultSettingsBillingThresholdsr.   r?   r:   r@   Nr   r0   r1   r2   ,ModifyParamsDefaultSettingsBillingThresholdsr:    r   r1   r;  c                       e Zd ZU eed<   y)r1  r8   Nr9   r0   r1   r2   'ModifyParamsDefaultSettingsAutomaticTaxz<SubscriptionSchedule.ModifyParamsDefaultSettingsAutomaticTax  r<   r1   r=  c                   0    e Zd ZU ed   ed<   	 ed   ed<   y)"SubscriptionSchedule.ReleaseParamsr   r   r:   preserve_cancel_dateNr   r0   r1   r2   ReleaseParamsr?    s$    ,, #.f"55r1   rA  c                       e Zd ZU ed   ed<   y)#SubscriptionSchedule.RetrieveParamsr   r   Nr   r0   r1   r2   RetrieveParamsrC    s    ,,r1   rD  r   applicationr   r   r   current_phaser   r   r   )cancelr   releaserenewr   idlivemoderx   objectr   r   released_subscription)activecanceled	completednot_startedreleasedstatusr   subscriptionr!   
test_clockNscheduleapi_keystripe_versionstripe_accountparamsr   returnc                     t        d| j                  ddj                  t        j                  |            ||||            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rV  rW  rX  rY  rZ  r   _static_requestformatr   sanitize_idclsrV  rW  rX  rY  rZ  s         r2   _cls_cancelz SubscriptionSchedule._cls_cancel  sZ     ">EE!--h7 F   --   	
 	
r1   c                      yr]  Nr0   rV  rW  rX  rY  rZ  s        r2   rG  zSubscriptionSchedule.cancel'       	r1   idempotency_keyc                      yrj  r0   selfrm  rZ  s      r2   rG  zSubscriptionSchedule.cancel5       	r1   rh  c                     t        d| j                  ddj                  t        j                  | j                  d                  ||            S )r]  r#   r^  r_  rJ  r`  rm  rZ  r   _requestrd  r   re  getro  s      r2   rG  zSubscriptionSchedule.cancel@  sZ     "MM>EE!--dhhtn= F  !0  

 
	
r1   r   c                 `    t        d| j                  d| j                         |||||            S )z
        Creates a new subscription schedule object. Each customer can have up to 500 active or scheduled subscriptions.
        r#   r^  )r   rc  	class_url)rg  rW  rm  rX  rY  rZ  s         r2   createzSubscriptionSchedule.createU  s=     "
 	
r1   r   c                     | j                  d| j                         ||||      }t        |t              s!t	        dt        |      j                  z        |S )zD
        Retrieves the list of your subscription schedules.
        rv  ra  z%Expected list object from API, got %s)rc  rx  
isinstancer   	TypeErrortyper+   )rg  rW  rX  rY  rZ  results         r2   listzSubscriptionSchedule.listn  sf     $$MMO)) % 
 &*-7<((* 
 r1   r  c                 z    | j                         dt        |      }t        d| j                  d||            S )z<
        Updates an existing subscription schedule.
        /r#   r^  )rZ  )rx  r   r   rc  )rg  rJ  rZ  urls       r2   modifyzSubscriptionSchedule.modify  s=     *R.9"F;
 	
r1   r?  c                     t        d| j                  ddj                  t        j                  |            ||||            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`  ra  rb  rf  s         r2   _cls_releasez!SubscriptionSchedule._cls_release  sZ     "?FF!--h7 G   --   	
 	
r1   c                      yr  Nr0   rk  s        r2   rH  zSubscriptionSchedule.release  rl  r1   c                      yr  r0   ro  s      r2   rH  zSubscriptionSchedule.release  rq  r1   r  c                     t        d| j                  ddj                  t        j                  | j                  d                  ||            S )r  r#   r^  r  rJ  r`  rs  rt  ro  s      r2   rH  zSubscriptionSchedule.release  sZ     "MM?FF!--dhhtn= G  !0  

 
	
r1   rC  c                 8     | |fi |}|j                          |S )z
        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)rg  rJ  rZ  instances       r2   retrievezSubscriptionSchedule.retrieve  s$     r$V$r1   )rF  r   r   )NNN)N)NNNN)Or+   r,   r-   __doc__r%   r   r   r/   r
   r3   rd   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
  r  r  r  r  r  r  r"  r$  r'  r)  r-  r/  r3  r6  r8  r;  r=  rA  rD  r   r   r.   rb   r:   r   r   classmethodr   rh  r   staticmethodrG  r   ry  r   r  r  r  rH  r  rc   r0   r1   r2   r#   r#   %   s   
 	  '(  | M
, M
^h
 h
T 	> 	$	> $	Ld		 d	L	I 	 	I  	D	Y 	8	i 		Y 		y 		 		I 		i 	(	y 	04	) 4	l	i 		 		9 		i 	.	 .	`	9 	$		 	$	I 	$	9 	$	> 	@h		 h	T	I 	 	I  	D	Y 	8	i 		Y 		y 		 		I 		i 	(	y 	04	) 4	l	i 		 		9 		i 		N 		^ 	 /-899 # 3- L L)) j)) &%>?? 	G N tCH~&& +,, K # $C=( D  ?>:;; 566  "&(,(,

 #
 !	

 !
 <=
 
 
 
2  "&(,(,	

#
 !
 !	

 <=
 
 
  
  *.!# <= 
 	  -( *.
!#
 <=
 
 	
 )
(  "&)-(,(,
#
 "#
 !	

 !
 <=
 
 
 
0  "&(,(,	# ! !	
 :; 
*	+ 6 



 &'J K

	

 

  "&(,(,

 #
 !	

 !
 =>
 
 
 
2  "&(,(,	

#
 !
 !	

 =>
 
 
  
  *.!# => 
 	  .) *.
!#
 =>
 
 	
 *
(  &'L M	  &+r1   r#   N)4striper   stripe.api_resources.abstractr   r   r   %stripe.api_resources.expandable_fieldr    stripe.api_resources.list_objectr   stripe.request_optionsr	   stripe.stripe_objectr
   stripe.utilr   typingr   r   r   r   r   r   typing_extensionsr   r   r   r   r   urllib.parser   stripe.api_resources.accountr    stripe.api_resources.applicationr   stripe.api_resources.couponr   stripe.api_resources.customerr   #stripe.api_resources.payment_methodr   stripe.api_resources.planr   stripe.api_resources.pricer   !stripe.api_resources.subscriptionr   stripe.api_resources.tax_rater    ,stripe.api_resources.test_helpers.test_clockr!   r#   r0   r1   r2   <module>r     s     
 B 7 1 - , A A  $4<26A.0>5FI01./01Ir1   