GET | /bookings | Find booked events for currently logged in user | This service is used to get bookings for the current user, the result will be paged if the query returns a to large set of values. |
---|
import datetime
import decimal
from marshmallow.fields import *
from servicestack import *
from typing import *
from dataclasses import dataclass, field
from dataclasses_json import dataclass_json, LetterCase, Undefined, config
from enum import Enum, IntEnum
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class QueryBase:
skip: Optional[int] = None
"""
Skip over a given number of elements in a sequence and then return the remainder. Use this when you need paging.<br/><br/><strong>Example:</strong><br/><code>?skip=10&orderBy=Id</code>
"""
take: Optional[int] = None
"""
Return a given number of elements in a sequence and then skip over the remainder. Use this when you need paging.<br/><br/><strong>Example:</strong><br/><code>?take=20</code>
"""
order_by: Optional[str] = None
"""
Comma separated list of fields to order by. Prefix the field name with a minus if you wan't to invert the sort for that field.<br/><br/><strong>Example:</strong><br/><code>?orderBy=Id,-Age,FirstName</code>
"""
order_by_desc: Optional[str] = None
"""
Comma separated list of fields to order by in descending order. Prefix the field name with a minus if you wan't to invert the sort for that field.<br/><br/><strong>Example:</strong><br/><code>?orderByDesc=Id,-Age,FirstName</code>
"""
include: Optional[str] = None
"""
Include any of the aggregates <code>AVG, COUNT, FIRST, LAST, MAX, MIN, SUM</code> in your result set. The results will be returned in the meta field.<br/><br/><strong>Example:</strong><br/><code>?include=COUNT(*) as Total</code><br/><br/>or multiple fields with<br/><code>?include=Count(*) Total, Min(Age), AVG(Age) AverageAge</code><br/></br>or unique with<br/><code>?include=COUNT(DISTINCT LivingStatus) as UniqueStatus</code>
"""
fields: Optional[str] = None
meta: Optional[Dict[str, str]] = None
From = TypeVar('From')
Into = TypeVar('Into')
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class QueryDb2(Generic[From, Into], QueryBase, IReturn[QueryResponse[Into]]):
@staticmethod
def response_type(): return QueryResponse[Into]
class BookingStatusEnum(IntEnum):
BOOKED = 1
UNBOOKED = 2
RESERVED = 3
CANCELED = 4
AWAITING_PAYMENT = 5
AWAITING_PAYMENT_NO_TIME_LIMIT = 6
PAYED = 7
AWAITING_PAYMENT_REQUEST_FROM_ADMIN = 8
AWAITING_PAYMENT_FROM_PROVIDER = 9
INVOICED = 10
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class BookingStatusQueryResponse:
id: int = 0
name: Optional[str] = None
description: Optional[str] = None
icon: Optional[str] = None
color: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class CustomFieldValueResponse:
value: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class CustomFieldConfigData:
# @ApiMember(Description="Custom field id")
id: int = 0
"""
Custom field id
"""
# @ApiMember(Description="Configuration name. Example: 'Number of persons'.")
name: Optional[str] = None
"""
Configuration name. Example: 'Number of persons'.
"""
# @ApiMember(Description="Custom field description. Example: 'For how many persons is this booking?'")
description: Optional[str] = None
"""
Custom field description. Example: 'For how many persons is this booking?'
"""
# @ApiMember(Description="Field width. Example: 20 for 20px")
width: Optional[int] = None
"""
Field width. Example: 20 for 20px
"""
# @ApiMember(Description="Data field of custom field. Valid values are: TextBox, ... Example: 'TextBox'")
data_type: Optional[str] = None
"""
Data field of custom field. Valid values are: TextBox, ... Example: 'TextBox'
"""
# @ApiMember(Description="Default value of the field. Example: '3'")
default_value: Optional[str] = None
"""
Default value of the field. Example: '3'
"""
# @ApiMember(Description="Determines if the field is required to have a value or not")
is_mandatory: bool = False
"""
Determines if the field is required to have a value or not
"""
# @ApiMember(Description="Error message shown to the user if the field data is required but not entered")
mandatory_error_message: Optional[str] = None
"""
Error message shown to the user if the field data is required but not entered
"""
# @ApiMember(Description="Max lenght of the field")
max_length: int = 0
"""
Max lenght of the field
"""
# @ApiMember(Description="If the field should have multiple lines")
multiple_line_text: bool = False
"""
If the field should have multiple lines
"""
# @ApiMember(Description="Regular expression used for validation of the field")
reg_ex: Optional[str] = None
"""
Regular expression used for validation of the field
"""
# @ApiMember(Description="Error message shown if the regular expression validation failed")
reg_ex_error_message: Optional[str] = None
"""
Error message shown if the regular expression validation failed
"""
# @ApiMember(Description="The values to select from if Datatype is DropDown for this custom field")
values: Optional[List[CustomFieldValueResponse]] = None
"""
The values to select from if Datatype is DropDown for this custom field
"""
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class CustomFieldDataResponse:
id: int = 0
column: Optional[str] = None
name: Optional[str] = None
description: Optional[str] = None
value: Optional[str] = None
# @ApiMember(Description="Data field of custom field. Valid values are: TextBox, ... Example: 'TextBox'")
data_type: Optional[str] = None
"""
Data field of custom field. Valid values are: TextBox, ... Example: 'TextBox'
"""
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class BookedResource:
id: int = 0
name: Optional[str] = None
color: Optional[str] = None
image_url: Optional[str] = None
email: Optional[str] = None
mobile_phone: Optional[str] = None
access_group: Optional[str] = None
email_notification: bool = False
sms_notification: bool = False
email_reminder: bool = False
sms_reminder: bool = False
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class BookedResourceType:
# @ApiMember(Description="The resource type id")
id: int = 0
"""
The resource type id
"""
# @ApiMember(Description="The resource type name")
name: Optional[str] = None
"""
The resource type name
"""
# @ApiMember(Description="The resources inside resource type")
resources: Optional[List[BookedResource]] = None
"""
The resources inside resource type
"""
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class BookedCompany:
id: Optional[str] = None
name: Optional[str] = None
logo_type: Optional[str] = None
category: Optional[str] = None
street1: Optional[str] = None
street2: Optional[str] = None
zip_code: Optional[str] = None
city: Optional[str] = None
country_id: Optional[str] = None
longitude: Optional[str] = None
latitude: Optional[str] = None
phone: Optional[str] = None
email: Optional[str] = None
home_page: Optional[str] = None
site_path: Optional[str] = None
is_favorite: bool = False
payment_provider_id: Optional[int] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class BookedCustomer:
id: Optional[str] = None
firstname: Optional[str] = None
lastname: Optional[str] = None
email: Optional[str] = None
phone: Optional[str] = None
facebook_user_name: Optional[str] = None
image_url: Optional[str] = None
corporate_identity_number: Optional[str] = None
invoice_address1: Optional[str] = None
invoice_address2: Optional[str] = None
invoice_city: Optional[str] = None
invoice_postal_code: Optional[str] = None
invoice_country_code: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class BookedQuantity:
# @ApiMember(Description="The quantity Id")
id: int = 0
"""
The quantity Id
"""
# @ApiMember(Description="The quantity for booked on this price category")
quantity: int = 0
"""
The quantity for booked on this price category
"""
# @ApiMember(Description="The price")
price: Optional[float] = None
"""
The price
"""
# @ApiMember(Description="The price bofore rebate codes")
price_before_rebate: Optional[float] = None
"""
The price bofore rebate codes
"""
# @ApiMember(Description="The price currency")
currency_id: Optional[str] = None
"""
The price currency
"""
# @ApiMember(Description="The price sign")
price_sign: Optional[str] = None
"""
The price sign
"""
# @ApiMember(Description="The price category")
category: Optional[str] = None
"""
The price category
"""
# @ApiMember(Description="The price VAT in percent")
vat: Optional[Decimal] = None
"""
The price VAT in percent
"""
# @ApiMember(Description="The price text to display")
price_text: Optional[str] = None
"""
The price text to display
"""
# @ApiMember(Description="If the quantity you add should occupy a spot. Default is true. If no it will only be a row that includes price information.")
occupies_spot: bool = False
"""
If the quantity you add should occupy a spot. Default is true. If no it will only be a row that includes price information.
"""
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class GroupBookingSettings:
active: bool = False
min: int = 0
max: int = 0
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class MultipleResourceSettings:
active: bool = False
min: int = 0
max: int = 0
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class ServiceInfoResponse:
id: int = 0
name: Optional[str] = None
description: Optional[str] = None
image_url: Optional[str] = None
length_in_minutes: Optional[int] = None
max_number_of_spots_per_booking: int = 0
min_number_of_spots_per_booking: int = 0
group_booking: Optional[GroupBookingSettings] = None
multiple_resource: Optional[MultipleResourceSettings] = None
is_group_booking: bool = False
is_payment_enabled: bool = False
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class BookingLogEventTypeResponse:
# @ApiMember(Description="The event type id")
id: int = 0
"""
The event type id
"""
# @ApiMember(Description="The event type name")
name: Optional[str] = None
"""
The event type name
"""
# @ApiMember(Description="The event type description")
description: Optional[str] = None
"""
The event type description
"""
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class BookingLogQueryResponse:
# @ApiMember(Description="The booking log id")
id: int = 0
"""
The booking log id
"""
# @ApiMember(Description="The booking id")
booking_id: int = 0
"""
The booking id
"""
# @ApiMember(Description="The type of event")
event_type_id: int = 0
"""
The type of event
"""
# @ApiMember(Description="The type of event")
event_type: Optional[BookingLogEventTypeResponse] = None
"""
The type of event
"""
# @ApiMember(Description="Comments that could be added to the event log item")
comments: Optional[str] = None
"""
Comments that could be added to the event log item
"""
# @ApiMember(Description="The user created the event")
user_name: Optional[str] = None
"""
The user created the event
"""
# @ApiMember(Description="Then date when the event occured")
created: datetime.datetime = datetime.datetime(1, 1, 1)
"""
Then date when the event occured
"""
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class CurrencyInfoResponse:
# @ApiMember(Description="The currency id")
id: Optional[str] = None
"""
The currency id
"""
# @ApiMember(Description="The currency id")
name: Optional[str] = None
"""
The currency id
"""
# @ApiMember(Description="The currency id")
currency_sign: Optional[str] = None
"""
The currency id
"""
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class BookingPaymentLogQueryResponse:
# @ApiMember(Description="The booking payment log id")
id: int = 0
"""
The booking payment log id
"""
# @ApiMember(Description="The booking id")
booking_id: int = 0
"""
The booking id
"""
# @ApiMember(Description="The payment reference id")
payment_reference_id: Optional[str] = None
"""
The payment reference id
"""
# @ApiMember(Description="The payment order item reference id")
order_item_reference_id: Optional[str] = None
"""
The payment order item reference id
"""
# @ApiMember(Description="The payment reference id")
payment_provider_id: Optional[int] = None
"""
The payment reference id
"""
# @ApiMember(Description="The payment amount")
amount: float = 0.0
"""
The payment amount
"""
# @ApiMember(Description="The payment VAT in percent")
vat: Decimal = decimal.Decimal(0)
"""
The payment VAT in percent
"""
# @ApiMember(Description="The payment amount that is credited")
amount_credited: float = 0.0
"""
The payment amount that is credited
"""
# @ApiMember(Description="The payment currency id")
currency_id: Optional[str] = None
"""
The payment currency id
"""
# @ApiMember(Description="The payment currency info")
currency_info: Optional[CurrencyInfoResponse] = None
"""
The payment currency info
"""
# @ApiMember(Description="Comments that could be added to the event log item")
comments: Optional[str] = None
"""
Comments that could be added to the event log item
"""
# @ApiMember(Description="The date when the payment items was created")
created: datetime.datetime = datetime.datetime(1, 1, 1)
"""
The date when the payment items was created
"""
# @ApiMember(Description="The date when the payment items was update")
updated: datetime.datetime = datetime.datetime(1, 1, 1)
"""
The date when the payment items was update
"""
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class BookingCheckoutQueryResponse:
# @ApiMember(Description="The checkout id")
id: Optional[str] = None
"""
The checkout id
"""
# @ApiMember(Description="The booking id")
booking_id: int = 0
"""
The booking id
"""
# @ApiMember(Description="The purchase id")
purchase_id: Optional[int] = None
"""
The purchase id
"""
# @ApiMember(Description="The payment checkout expiration datetime")
expiration_time: Optional[datetime.datetime] = None
"""
The payment checkout expiration datetime
"""
# @ApiMember(Description="The payment snippet code")
snippet: Optional[str] = None
"""
The payment snippet code
"""
# @ApiMember(Description="The payment status")
status: Optional[str] = None
"""
The payment status
"""
# @ApiMember(Description="Log message")
message: Optional[str] = None
"""
Log message
"""
# @ApiMember(Description="When the checkout log item was created")
created: datetime.datetime = datetime.datetime(1, 1, 1)
"""
When the checkout log item was created
"""
# @ApiMember(Description="When the checkout log item was updated")
updated: datetime.datetime = datetime.datetime(1, 1, 1)
"""
When the checkout log item was updated
"""
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class ExternalReferenceResponse:
company_id: Optional[str] = None
id: Optional[str] = None
owner_id: Optional[str] = None
reference_type: Optional[str] = None
external_data: Optional[str] = None
created_by: Optional[str] = None
updated: datetime.datetime = datetime.datetime(1, 1, 1)
created: datetime.datetime = datetime.datetime(1, 1, 1)
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class BookingCalendarExportStatus:
calendar_id: Optional[str] = None
booking_id: int = 0
synced: Optional[bool] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class BookingQueryResponse:
id: int = 0
company_id: Optional[str] = None
from_: datetime.datetime = field(metadata=config(field_name='from'), default=datetime.datetime(1, 1, 1))
to: datetime.datetime = datetime.datetime(1, 1, 1)
status: Optional[BookingStatusEnum] = None
status_id: int = 0
status_name: Optional[str] = None
status_info: Optional[BookingStatusQueryResponse] = None
send_email_reminder: bool = False
send_sms_reminder: bool = False
send_sms_confirmation: bool = False
send_email_confirmation: bool = False
last_time_to_un_book: Optional[datetime.datetime] = None
custom_fields: Optional[List[CustomFieldConfigData]] = None
custom_field_values: Optional[List[CustomFieldDataResponse]] = None
booked_resource_types: Optional[List[BookedResourceType]] = None
company: Optional[BookedCompany] = None
customer: Optional[BookedCustomer] = None
quantities: Optional[List[BookedQuantity]] = None
service: Optional[ServiceInfoResponse] = None
payment_expiration: Optional[datetime.datetime] = None
log: Optional[List[BookingLogQueryResponse]] = None
payment_log: Optional[List[BookingPaymentLogQueryResponse]] = None
checkout_log: Optional[List[BookingCheckoutQueryResponse]] = None
external_reference: Optional[List[ExternalReferenceResponse]] = None
response_status: Optional[ResponseStatus] = None
calendar_export_status: Optional[BookingCalendarExportStatus] = None
length_in_minutes: Optional[int] = None
booked_by: Optional[str] = None
booked_comments: Optional[str] = None
unbooked_comments: Optional[str] = None
comments_to_customer: Optional[str] = None
created_date: datetime.datetime = datetime.datetime(1, 1, 1)
updated_date: datetime.datetime = datetime.datetime(1, 1, 1)
unbooked_on: Optional[datetime.datetime] = None
cancellation_code: Optional[str] = None
rating_code: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class BaseModel:
pass
class IDbConnectionFactory:
pass
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class ServerData:
htt_p__h_o_s_t: Optional[str] = None
htt_p__c_o_n_n_e_c_t_i_o_n: Optional[str] = None
htt_p__c_a_c_h_e__c_o_n_t_r_o_l: Optional[str] = None
htt_p__a_c_c_e_p_t: Optional[str] = None
htt_p__u_s_e_r__a_g_e_n_t: Optional[str] = None
htt_p__a_c_c_e_p_t__e_n_c_o_d_i_n_g: Optional[str] = None
htt_p__a_c_c_e_p_t__l_a_n_g_u_a_g_e: Optional[str] = None
path: Optional[str] = None
serve_r__s_o_f_t_w_a_r_e: Optional[str] = None
serve_r__n_a_m_e: Optional[str] = None
serve_r__a_d_d_r: Optional[str] = None
serve_r__p_o_r_t: Optional[str] = None
remot_e__a_d_d_r: Optional[str] = None
remot_e__p_o_r_t: Optional[str] = None
gatewa_y__i_n_t_e_r_f_a_c_e: Optional[str] = None
serve_r__p_r_o_t_o_c_o_l: Optional[str] = None
reques_t__m_e_t_h_o_d: Optional[str] = None
quer_y__s_t_r_i_n_g: Optional[str] = None
reques_t__t_i_m_e: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class Credentials:
hash: Optional[str] = None
id: Optional[str] = None
version: Optional[str] = None
client: Optional[str] = None
serverdata: Optional[ServerData] = None
time: Optional[str] = None
test: Optional[str] = None
language: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class CheckoutData:
terms: Optional[str] = None
privacy_policy: Optional[str] = None
redirect_on_success: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class CheckoutPaymentData:
currency: Optional[str] = None
language: Optional[str] = None
country: Optional[str] = None
autoactivate: Optional[str] = None
orderid: Optional[str] = None
returnmethod: Optional[str] = None
accepturl: Optional[str] = None
cancelurl: Optional[str] = None
callbackurl: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentInfo:
paymentdate: Optional[str] = None
paymentterms: Optional[str] = None
yourreference: Optional[str] = None
ourreference: Optional[str] = None
projectname: Optional[str] = None
deliverymethod: Optional[str] = None
deliveryterms: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class CartHandling:
withouttax: Optional[str] = None
taxrate: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class CartTotal:
rounding: Optional[str] = None
withouttax: Optional[str] = None
tax: Optional[str] = None
withtax: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class Address(StripeEntity1["Address"]):
city: Optional[str] = None
country: Optional[str] = None
line1: Optional[str] = None
line2: Optional[str] = None
postal_code: Optional[str] = None
state: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class Shipping(StripeEntity1["Shipping"]):
address: Optional[Address] = None
carrier: Optional[str] = None
name: Optional[str] = None
phone: Optional[str] = None
tracking_number: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class Cart:
handling: Optional[CartHandling] = None
total: Optional[CartTotal] = None
shipping: Optional[Shipping] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class CustomerBilling:
firstname: Optional[str] = None
lastname: Optional[str] = None
company: Optional[str] = None
street: Optional[str] = None
street2: Optional[str] = None
zip: Optional[str] = None
city: Optional[str] = None
country: Optional[str] = None
phone: Optional[str] = None
email: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class QvicklyCustomer:
nr: Optional[str] = None
pno: Optional[str] = None
billing: Optional[CustomerBilling] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class InitCheckoutData:
checkout_data: Optional[CheckoutData] = None
payment_data: Optional[CheckoutPaymentData] = None
payment_info: Optional[PaymentInfo] = None
articles: Optional[List[QvicklyArticle]] = None
cart: Optional[Cart] = None
qvickly_customer: Optional[QvicklyCustomer] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class InitCheckoutRequestBody:
credentials: Optional[Credentials] = None
data: Optional[InitCheckoutData] = None
function: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class QvicklyCheckoutResponse:
number: int = 0
status: Optional[str] = None
order_id: Optional[str] = None
url: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class QvikclyPaymentData:
method: Optional[str] = None
paymentplanid: Optional[str] = None
currency: Optional[str] = None
country: Optional[str] = None
language: Optional[str] = None
autoactivate: Optional[str] = None
orderid: Optional[str] = None
status: Optional[str] = None
paymentid_related: Optional[str] = None
url: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class Card:
promptname: Optional[str] = None
recurring: Optional[str] = None
recurringnr: Optional[str] = None
accepturl: Optional[str] = None
cancelurl: Optional[str] = None
callbackurl: Optional[str] = None
returnmethod: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class Settlement:
number: Optional[str] = None
date: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class QvicklyPaymentResponse:
payment_data: Optional[QvikclyPaymentData] = None
payment_info: Optional[PaymentInfo] = None
card: Optional[Card] = None
settlement: Optional[Settlement] = None
qvickly_customer: Optional[QvicklyCustomer] = None
articles: Optional[List[QvicklyArticle]] = None
cart: Optional[Cart] = None
class Payson2CheckoutStatus(str, Enum):
NONE = 'None'
CREATED = 'Created'
FORMS_FILLED = 'FormsFilled'
READY_TO_PAY = 'ReadyToPay'
PROCESSING_PAYMENT = 'ProcessingPayment'
READY_TO_SHIP = 'ReadyToShip'
SHIPPED = 'Shipped'
PAID_TO_ACCOUNT = 'PaidToAccount'
CANCELED = 'Canceled'
CREDITED = 'Credited'
EXPIRED = 'Expired'
DENIED = 'Denied'
class CustomerType(str, Enum):
PERSON = 'Person'
BUSINESS = 'Business'
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class UserAccessKeys(BaseModel):
# @Required()
company_id: Optional[str] = None
# @Required()
access_key_type_id: int = 0
# @Required()
value: Optional[str] = None
# @Required()
customer_id: Optional[str] = None
description: Optional[str] = None
# @Required()
id: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class ExternalReference(BaseModel):
# @Required()
company_id: Optional[str] = None
# @Required()
id: Optional[str] = None
# @Required()
owner_id: Optional[str] = None
# @Required()
reference_type: Optional[str] = None
external_data: Optional[str] = None
created_by: Optional[str] = None
# @Required()
updated: datetime.datetime = datetime.datetime(1, 1, 1)
# @Required()
created: datetime.datetime = datetime.datetime(1, 1, 1)
modified_date: Optional[datetime.datetime] = None
class CompanyStatus(IntEnum):
REGISTERED = 1
AWAITING_APPROVAL = 2
APPROVED = 3
INACTIVE = 4
CLOSED_DOWN = 5
NOT_APPROVED = 6
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class CustomFieldValue(BaseModel):
# @Required()
company_id: Optional[str] = None
id: int = 0
# @Required()
value: Optional[str] = None
# @Required()
active: bool = False
sort_order: Optional[int] = None
modified_date: Optional[datetime.datetime] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class CustomField(BaseModel):
# @Required()
table: Optional[str] = None
# @Required()
column: Optional[str] = None
# @Required()
data_type: Optional[str] = None
# @Required()
description: Optional[str] = None
# @Required()
active: bool = False
modified_date: Optional[datetime.datetime] = None
id: int = 0
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class RegEx(BaseModel):
# @Required()
name: Optional[str] = None
# @Required()
description: Optional[str] = None
# @Required()
reg_ex_code: Optional[str] = None
error_message: Optional[str] = None
modified_date: Optional[datetime.datetime] = None
id: int = 0
class ScheduleType(str, Enum):
NOT_DEFINED = 'NotDefined'
RECURRING_SCHEDULE = 'RecurringSchedule'
DATE_SCHEDULE = 'DateSchedule'
class ISchedule:
company_id: Optional[str] = None
resources: Optional[IList[Resource]] = None
type: Optional[ScheduleType] = None
active: bool = False
is_resource_specific: bool = False
class ITimeException(IInterval):
id: int = 0
reason_text: Optional[str] = None
is_block: bool = False
reason_text_public: Optional[str] = None
is_recurring: bool = False
resource_ids: Optional[List[int]] = None
class IBookedTime(IInterval):
id: int = 0
service_id: int = 0
booked_spots: int = 0
total_spots: int = 0
pause_after_in_minutes: int = 0
status: Optional[BookingStatusEnum] = None
status_id: int = 0
customer: Optional[BookedCustomer] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class Resource(BaseModel, ICustomFieldTable, IBaseModelCreated, IBaseModelUpdated):
# @Ignore()
priority: int = 0
# @Ignore()
schedules: Optional[IList[ISchedule]] = None
# @Ignore()
exceptions: Optional[IList[ITimeException]] = None
# @Ignore()
bookings: Optional[IList[IBookedTime]] = None
# @Ignore()
custom_fields_config: Optional[IList[CustomFieldConfig]] = None
# @Ignore()
custom_fields_data: Optional[IList[CustomFieldDataResponse]] = None
# @Required()
company_id: Optional[str] = None
id: int = 0
# @Required()
name: Optional[str] = None
# @Required()
active: bool = False
description: Optional[str] = None
image_url: Optional[str] = None
# @Required()
updated_date: datetime.datetime = datetime.datetime(1, 1, 1)
# @Required()
created_date: datetime.datetime = datetime.datetime(1, 1, 1)
# @Required()
color: Optional[str] = None
email: Optional[str] = None
mobile_phone: Optional[str] = None
email_notification: Optional[bool] = None
sms_notification: Optional[bool] = None
# @Required()
send_s_m_s_reminder: bool = False
# @Required()
send_email_reminder: bool = False
modified_date: Optional[datetime.datetime] = None
access_group: Optional[str] = None
text_field1: Optional[str] = None
text_field2: Optional[str] = None
text_field3: Optional[str] = None
text_field4: Optional[str] = None
text_field5: Optional[str] = None
text_field6: Optional[str] = None
text_field7: Optional[str] = None
text_field8: Optional[str] = None
text_field9: Optional[str] = None
text_field10: Optional[str] = None
text_field11: Optional[str] = None
text_field12: Optional[str] = None
text_field13: Optional[str] = None
text_field14: Optional[str] = None
text_field15: Optional[str] = None
text_field16: Optional[str] = None
text_field17: Optional[str] = None
text_field18: Optional[str] = None
text_field19: Optional[str] = None
text_field20: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class ResourceType(BaseModel, IBaseModelCreated, IBaseModelUpdated):
# @Ignore()
selectable_by_user: bool = False
# @Ignore()
resources: Optional[List[Resource]] = None
# @Required()
company_id: Optional[str] = None
id: int = 0
# @Required()
name: Optional[str] = None
description: Optional[str] = None
# @Required()
active: bool = False
# @Required()
updated_date: datetime.datetime = datetime.datetime(1, 1, 1)
# @Required()
created_date: datetime.datetime = datetime.datetime(1, 1, 1)
modified_date: Optional[datetime.datetime] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class RebateCodeType(BaseModel):
# @Required()
name: Optional[str] = None
description: Optional[str] = None
modified_date: Optional[datetime.datetime] = None
id: int = 0
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class AppliedRebateCodes:
rebate_code_id: int = 0
rebate_code_sign: Optional[str] = None
rebate_code_value: int = 0
rebate_amount: float = 0.0
rebate_code_type: Optional[RebateCodeType] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class TotalPriceInformation:
total_price: float = 0.0
total_v_a_t_amount: float = 0.0
total_rebate: float = 0.0
total_price_before_rebate: float = 0.0
applied_codes: Optional[List[AppliedRebateCodes]] = None
price_sign: Optional[str] = None
currency_id: Optional[str] = None
vat: Decimal = decimal.Decimal(0)
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class Currency(BaseModel):
# @Required()
name: Optional[str] = None
# @Required()
currency_sign: Optional[str] = None
# @Required()
active: bool = False
modified_date: Optional[datetime.datetime] = None
# @Required()
id: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PriceMapping(BaseModel):
# @Required()
company_id: Optional[str] = None
# @Required()
id: Optional[str] = None
# @Required()
service_price_id: int = 0
reference_type: Optional[str] = None
external_reference: Optional[str] = None
# @Required()
updated_date: datetime.datetime = datetime.datetime(1, 1, 1)
# @Required()
created_date: datetime.datetime = datetime.datetime(1, 1, 1)
modified_date: Optional[datetime.datetime] = None
class BokaMeraDayOfWeek(IntEnum):
MONDAY = 1
TUESDAY = 2
WEDNESDAY = 3
THURSDAY = 4
FRIDAY = 5
SATURDAY = 6
SUNDAY = 7
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class ServicePriceDayOfWeekRelation(BaseModel):
# @Ignore()
day_of_week: Optional[BokaMeraDayOfWeek] = None
# @Required()
company_id: Optional[str] = None
# @Required()
service_price_id: int = 0
# @Required()
day_of_week_id: int = 0
modified_date: Optional[datetime.datetime] = None
id: int = 0
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class RebateCodeStatus(BaseModel):
# @Required()
name: Optional[str] = None
description: Optional[str] = None
modified_date: Optional[datetime.datetime] = None
id: int = 0
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class ArticleServiceRelation(BaseModel):
# @Required()
company_id: Optional[str] = None
id: int = 0
# @Required()
service_id: int = 0
# @Required()
article_id: int = 0
class ArticleTypeEnum(IntEnum):
SERVICE_ARTICLE = 1
STAND_ALONE_ARTICLE = 2
REBATE_CODE_PUNCH_TICKET_ARTICLE = 3
REBATE_CODE_GIFT_CARD_ARTICLE = 4
REBATE_CODE_VALUE_CARD_ARTICLE = 5
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class Article(BaseModel, IBaseModelCreated, IBaseModelUpdated):
company: Optional[Company] = None
currency_info: Optional[Currency] = None
article_service_relations: Optional[List[ArticleServiceRelation]] = None
# @Ignore()
service_ids: Optional[List[int]] = None
# @Ignore()
article_type: Optional[ArticleTypeEnum] = None
# @Required()
company_id: Optional[str] = None
id: int = 0
# @Required()
name: Optional[str] = None
# @Required()
article_type_id: int = 0
description: Optional[str] = None
image_url: Optional[str] = None
# @Required()
active: bool = False
# @Required()
amount: int = 0
# @Required()
price: float = 0.0
vat: Optional[Decimal] = None
# @Required()
# @StringLength(50)
currency_id: Optional[str] = None
# @Required()
updated_date: datetime.datetime = datetime.datetime(1, 1, 1)
# @Required()
created_date: datetime.datetime = datetime.datetime(1, 1, 1)
modified_date: Optional[datetime.datetime] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class RebateCodeDayOfWeekRelation(BaseModel):
# @Ignore()
day_of_week: Optional[BokaMeraDayOfWeek] = None
# @Required()
day_of_week_id: int = 0
# @Required()
rebate_code_id: int = 0
# @Required()
company_id: Optional[str] = None
id: int = 0
modified_date: Optional[datetime.datetime] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class RebateCodeServiceRelation(BaseModel):
# @Required()
company_id: Optional[str] = None
# @Required()
service_id: int = 0
# @Required()
rebate_code_id: int = 0
id: int = 0
modified_date: Optional[datetime.datetime] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class RebateCodeBookingPriceRelation(BaseModel):
# @Required()
company_id: Optional[str] = None
# @Required()
price_id: int = 0
# @Required()
rebate_code_id: int = 0
id: int = 0
modified_date: Optional[datetime.datetime] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class RebateCodeCustomerRelation(BaseModel):
# @Required()
company_id: Optional[str] = None
# @Required()
customer_id: Optional[str] = None
# @Required()
rebate_code_id: int = 0
id: int = 0
modified_date: Optional[datetime.datetime] = None
rebate_code_email_sent_to_customer: bool = False
message_to_receiver: Optional[str] = None
buyer: bool = False
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class DaysOfWeek(BaseModel):
# @Required()
day_of_week: Optional[str] = None
# @Required()
day_of_week_translation: Optional[str] = None
day_of_week_active: Optional[bool] = None
day_of_week_sort_order: Optional[int] = None
modified_date: Optional[datetime.datetime] = None
id: int = 0
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class RebateCodeTransaction(BaseModel, IBaseModelCreated, IBaseModelUpdated):
# @Ignore()
booking: Optional[Booking] = None
# @Ignore()
rebate_code: Optional[RebateCode] = None
# @Ignore()
customer: Optional[Customer] = None
id: int = 0
company_id: Optional[str] = None
note: Optional[str] = None
# @Required()
rebate_code_id: int = 0
# @Required()
amount: float = 0.0
# @Required()
usage: int = 0
booking_id: Optional[int] = None
# @Required()
updated_date: datetime.datetime = datetime.datetime(1, 1, 1)
# @Required()
created_date: datetime.datetime = datetime.datetime(1, 1, 1)
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class RebateCode(PayableEntity):
# @References(typeof(RebateCodeType))
rebate_code_type_id: int = 0
rebate_code_type_info: Optional[RebateCodeType] = None
# @References(typeof(RebateCodeStatus))
rebate_code_status_id: int = 0
rebate_code_status_info: Optional[RebateCodeStatus] = None
# @Ignore()
article: Optional[Article] = None
# @Ignore()
services: Optional[List[Service]] = None
rebate_code_day_of_week_relation: Optional[List[RebateCodeDayOfWeekRelation]] = None
rebate_code_service_relation: Optional[List[RebateCodeServiceRelation]] = None
rebate_code_booking_price_relation: Optional[List[RebateCodeBookingPriceRelation]] = None
rebate_code_customer_relation: Optional[List[RebateCodeCustomerRelation]] = None
# @Ignore()
services_names: Optional[str] = None
# @Ignore()
days_of_week: Optional[List[DaysOfWeek]] = None
# @Ignore()
rebate_code_status: Optional[RebateCodeStatus] = None
# @Ignore()
rebate_code_type: Optional[RebateCodeType] = None
# @Ignore()
transactions: Optional[List[RebateCodeTransaction]] = None
# @Ignore()
remaining_amount: Optional[float] = None
# @Ignore()
remaining_usage: Optional[int] = None
# @Ignore()
current_number_of_uses_per_customer: int = 0
# @Ignore()
is_specific_by_day_of_week: bool = False
# @Ignore()
active: bool = False
# @Ignore()
active_by_status: bool = False
# @Ignore()
rebate_code_currency_sign: Optional[str] = None
currency_info: Optional[Currency] = None
# @Ignore()
payment_received: bool = False
# @Ignore()
internal_reference_id: Optional[str] = None
# @Required()
valid_from: datetime.datetime = datetime.datetime(1, 1, 1)
# @Required()
valid_to: datetime.datetime = datetime.datetime(1, 1, 1)
# @Required()
rebate_code_sign: Optional[str] = None
# @Required()
rebate_code_value: int = 0
# @Required()
max_number_of_uses: int = 0
# @Required()
max_number_of_uses_per_customer: int = 0
# @Required()
number_of_uses_used: int = 0
personal_note: Optional[str] = None
# @Required()
created_by: Optional[str] = None
# @Required()
created: datetime.datetime = datetime.datetime(1, 1, 1)
# @Required()
updated_by: Optional[str] = None
# @Required()
updated_date: datetime.datetime = datetime.datetime(1, 1, 1)
# @Required()
from_time: datetime.timedelta = datetime.timedelta()
# @Required()
to_time: datetime.timedelta = datetime.timedelta()
modified_date: Optional[datetime.datetime] = None
id: int = 0
article_id: Optional[int] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class ServicePrice(BaseModel, IInterval):
# @References(typeof(Currency))
currency_id: Optional[str] = None
currency_info: Optional[Currency] = None
# @Ignore()
service: Optional[Service] = None
# @Ignore()
price_mappings: Optional[List[PriceMapping]] = None
# @Ignore()
is_time_specific: bool = False
# @Ignore()
is_days_of_week_specific: bool = False
day_of_weeks: Optional[List[ServicePriceDayOfWeekRelation]] = None
# @Ignore()
price_before_rebate: Optional[float] = None
# @Ignore()
rebate_codes_applied: Optional[List[RebateCode]] = None
# @Ignore()
price_text: Optional[str] = None
# @Ignore()
overlapping_prices: Optional[List[ServicePrice]] = None
# @Required()
company_id: Optional[str] = None
id: int = 0
# @Required()
service_id: int = 0
price: Optional[float] = None
# @Required()
updated: datetime.datetime = datetime.datetime(1, 1, 1)
# @Required()
created: datetime.datetime = datetime.datetime(1, 1, 1)
# @Required()
from_time: datetime.timedelta = datetime.timedelta()
# @Required()
to_time: datetime.timedelta = datetime.timedelta()
# @Required()
vat: Decimal = decimal.Decimal(0)
category: Optional[str] = None
modified_date: Optional[datetime.datetime] = None
# @Required()
from_: datetime.datetime = field(metadata=config(field_name='from'), default=datetime.datetime(1, 1, 1))
# @Required()
to: datetime.datetime = datetime.datetime(1, 1, 1)
# @Required()
calculation_type_id: int = 0
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class BookingStatusOptions:
id: int = 0
name: Optional[str] = None
description: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class ScheduleView(BaseModel):
# @Required()
name: Optional[str] = None
modified_date: Optional[datetime.datetime] = None
id: int = 0
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class WeekNumberSetting(BaseModel):
# @Required()
name: Optional[str] = None
# @Required()
description: Optional[str] = None
modified_date: Optional[datetime.datetime] = None
# @Required()
id: int = 0
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class BookingTemplate(BaseModel):
# @Required()
name: Optional[str] = None
# @Required()
description: Optional[str] = None
# @Required()
used_by_application: Optional[str] = None
modified_date: Optional[datetime.datetime] = None
id: int = 0
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class CalendarType(BaseModel):
# @Required()
name: Optional[str] = None
# @Required()
description: Optional[str] = None
# @Required()
active: bool = False
modified_date: Optional[datetime.datetime] = None
id: int = 0
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class FreeSpotTexts(BaseModel):
# @Required()
text_singular: Optional[str] = None
# @Required()
text_plural: Optional[str] = None
modified_date: Optional[datetime.datetime] = None
# @Required()
id: int = 0
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class BookingSettings(BaseModel):
# @References(typeof(FreeSpotTexts))
free_spot_texts_id: int = 0
# @Ignore()
send_email_confirmation: bool = False
# @Ignore()
schedule_view_options: Optional[List[ScheduleView]] = None
# @Ignore()
week_number_setting_options: Optional[List[WeekNumberSetting]] = None
# @Ignore()
booking_template_options: Optional[List[BookingTemplate]] = None
# @Ignore()
calendar_type_options: Optional[List[CalendarType]] = None
# @Ignore()
free_spot_text_options: Optional[List[FreeSpotTexts]] = None
# @Ignore()
booking_status_options: Optional[List[BookingStatusOptions]] = None
free_spot_texts_info: Optional[FreeSpotTexts] = None
# @Ignore()
free_spots_text_singular: Optional[str] = None
# @Ignore()
free_spots_text_plural: Optional[str] = None
# @Required()
booking_status_id: int = 0
# @Required()
schedule_view_id: int = 0
# @Required()
booking_template_id: int = 0
# @Required()
calendar_type_id: int = 0
# @Required()
allow_booking_on_unbooked_times: bool = False
# @Required()
send_email_reminder: bool = False
# @Required()
send_sms_reminder: bool = False
# @Required()
send_sms_confirmation: bool = False
# @Required()
email_reminder_time: int = 0
# @Required()
sms_reminder_time: int = 0
# @Required()
max_active_bookings: int = 0
# @Required()
send_notifications: bool = False
send_notifications_email: Optional[str] = None
# @Required()
enable_mobile_app: bool = False
schedule_start_time: Optional[datetime.timedelta] = None
schedule_end_time: Optional[datetime.timedelta] = None
receipt_template: Optional[str] = None
# @Required()
schedule_time_slot_minutes: int = 0
# @Required()
show_free_times_left: bool = False
# @Required()
enable_i_cal_group_bookings: bool = False
agreement_template: Optional[str] = None
# @Required()
schedule_show_time_exeptions: bool = False
# @Required()
enable_bookings_on_same_time: bool = False
# @Required()
show_week_number_setting_id: int = 0
# @Required()
enable_show_booked_times: bool = False
# @Required()
enable_send_follow_up_message: bool = False
# @Required()
follow_up_message_time: int = 0
message_text: Optional[str] = None
# @Required()
schedule_group_resources: bool = False
# @Required()
book_spot_user_response_minutes: int = 0
# @Required()
is_book_spot_directly: bool = False
# @Required()
book_spot_directly_time_left_minutes: int = 0
# @Required()
send_email_notification_queue: bool = False
# @Required()
send_s_m_s_notification_queue: bool = False
# @Required()
scheduler_disable_horizontal_scrolling: bool = False
# @Required()
book_only_on_existing_customers: bool = False
# @Required()
auto_generate_unique_pin_code: bool = False
# @Required()
weighted_prices: bool = False
modified_date: Optional[datetime.datetime] = None
# @Required()
auto_create_user_profile: bool = False
show_multiple_resources_as_one: bool = False
show_multi_day_as_time: bool = False
# @Required()
id: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class AdminPaymentOptions(BaseModel):
# @Required()
name: Optional[str] = None
# @Required()
description: Optional[str] = None
modified_date: Optional[datetime.datetime] = None
# @Required()
id: int = 0
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentProviders(BaseModel):
# @Required()
name: Optional[str] = None
# @Required()
description: Optional[str] = None
# @Required()
category: Optional[str] = None
url: Optional[str] = None
# @Required()
active: bool = False
modified_date: Optional[datetime.datetime] = None
# @Required()
id: int = 0
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentSetting(BaseModel):
admin_payment_option: Optional[AdminPaymentOptions] = None
# @Ignore()
admin_payment_options: Optional[List[AdminPaymentOptions]] = None
# @Ignore()
payment_provider_options: Optional[List[PaymentProviders]] = None
# @Required()
enabled: bool = False
# @Required()
invoice_fee: int = 0
# @Required()
allow_credit_card_payment: bool = False
# @Required()
allow_invoice_payment: bool = False
# @Required()
allow_bank_payment: bool = False
# @Required()
guarantee_offered: bool = False
# @Required()
refund_on_cancel_booking: bool = False
default_payment_option_id: Optional[int] = None
# @Required()
payment_provider_id: int = 0
# @Required()
send_payment_request_directly: bool = False
modified_date: Optional[datetime.datetime] = None
# @Required()
id: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class AverageRatingScore:
average_score: float = 0.0
score1_count: int = 0
score2_count: int = 0
score3_count: int = 0
score4_count: int = 0
score5_count: int = 0
count: int = 0
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class Review(BaseModel):
review_id: Optional[str] = None
# @Required()
company_id: Optional[str] = None
# @Required()
title: Optional[str] = None
# @Required()
description: Optional[str] = None
# @Required()
author: Optional[str] = None
# @Required()
status: int = 0
# @Required()
created: datetime.datetime = datetime.datetime(1, 1, 1)
# @Required()
updated: datetime.datetime = datetime.datetime(1, 1, 1)
modified_date: Optional[datetime.datetime] = None
review_answer: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class Rating(BaseModel):
review_id: Optional[str] = None
review: Optional[Review] = None
# @Required()
company_id: Optional[str] = None
# @Required()
booking_id: int = 0
# @Required()
rating_score: int = 0
# @Required()
status: int = 0
# @Required()
created: datetime.datetime = datetime.datetime(1, 1, 1)
# @Required()
updated: datetime.datetime = datetime.datetime(1, 1, 1)
modified_date: Optional[datetime.datetime] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class Service(BaseModel, ICustomFieldTable, IBaseModelCreated, IBaseModelUpdated):
# @Ignore()
resource_types: Optional[List[ResourceType]] = None
# @Ignore()
resources: Optional[List[Resource]] = None
# @Ignore()
total_price: Optional[TotalPriceInformation] = None
# @Ignore()
prices: Optional[List[ServicePrice]] = None
# @Ignore()
booking_status_options: Optional[List[BookingStatusOptions]] = None
# @Ignore()
is_group_booking: bool = False
# @Ignore()
is_multiple_resource: bool = False
# @Ignore()
settings: Optional[BookingSettings] = None
# @Ignore()
payment_setting: Optional[PaymentSetting] = None
# @Ignore()
booking_custom_fields_config: Optional[IList[CustomFieldConfig]] = None
# @Ignore()
customer_custom_fields_config: Optional[IList[CustomFieldConfig]] = None
# @Ignore()
custom_fields_config: Optional[IList[CustomFieldConfig]] = None
# @Ignore()
custom_fields_data: Optional[IList[CustomFieldDataResponse]] = None
# @Ignore()
schedules: Optional[IList[ISchedule]] = None
# @Ignore()
customer_active_bookings: Optional[IList[Booking]] = None
# @Ignore()
schedule_type: Optional[ScheduleType] = None
# @Ignore()
last_time_to_unbook_threshold: datetime.timedelta = datetime.timedelta()
# @Ignore()
last_time_to_book_threshold: datetime.timedelta = datetime.timedelta()
# @Ignore()
rating_score: Optional[AverageRatingScore] = None
# @Ignore()
ratings: Optional[List[Rating]] = None
# @Required()
company_id: Optional[str] = None
id: int = 0
# @Required()
name: Optional[str] = None
# @Required()
description: Optional[str] = None
group: Optional[str] = None
# @Required()
active: bool = False
# @Required()
sort_order: int = 0
# @Required()
pause_after_booking: int = 0
# @Required()
unbook_before_days: int = 0
# @Required()
unbook_before_hours: int = 0
# @Required()
unbook_before_minutes: int = 0
# @Required()
book_before_days: int = 0
# @Required()
book_before_hours: int = 0
# @Required()
book_before_minutes: int = 0
duration: Optional[int] = None
duration_type_id: int = 0
min_duration: Optional[int] = None
max_duration: Optional[int] = None
duration_interval: Optional[int] = None
total_spots: Optional[int] = None
image_url: Optional[str] = None
# @Required()
schedule_type_id: int = 0
# @Required()
updated_date: datetime.datetime = datetime.datetime(1, 1, 1)
# @Required()
created_date: datetime.datetime = datetime.datetime(1, 1, 1)
# @Required()
only_visible_by_admin: bool = False
# @Required()
min_number_of_spots_per_booking: int = 0
# @Required()
max_number_of_spots_per_booking: int = 0
# @Required()
min_number_of_resources_to_book: int = 0
# @Required()
max_number_of_resources_to_book: int = 0
# @Required()
is_payment_enabled: bool = False
# @Required()
max_payment_time: int = 0
# @Required()
lock_spots_to_booking: bool = False
# @Required()
enable_booking_queue: bool = False
modified_date: Optional[datetime.datetime] = None
# @Required()
booking_status_id: int = 0
# @Required()
enable_code_lock_sync: bool = False
# @Required()
enable_customer_manual_payment: bool = False
price_view_type_id: Optional[int] = None
text_field1: Optional[str] = None
text_field2: Optional[str] = None
text_field3: Optional[str] = None
text_field4: Optional[str] = None
text_field5: Optional[str] = None
text_field6: Optional[str] = None
text_field7: Optional[str] = None
text_field8: Optional[str] = None
text_field9: Optional[str] = None
text_field10: Optional[str] = None
text_field11: Optional[str] = None
text_field12: Optional[str] = None
text_field13: Optional[str] = None
text_field14: Optional[str] = None
text_field15: Optional[str] = None
text_field16: Optional[str] = None
text_field17: Optional[str] = None
text_field18: Optional[str] = None
text_field19: Optional[str] = None
text_field20: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class CustomFieldServiceRelation(BaseModel):
# @Required()
company_id: Optional[str] = None
id: int = 0
# @Required()
custom_field_config_id: int = 0
# @Required()
service_id: int = 0
modified_date: Optional[datetime.datetime] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class CustomFieldConfig(BaseModel):
# @Ignore()
values: Optional[List[CustomFieldValue]] = None
custom_field: Optional[CustomField] = None
# @Ignore()
reg_ex: Optional[RegEx] = None
# @Ignore()
services: Optional[List[Service]] = None
custom_field_service_relation: Optional[List[CustomFieldServiceRelation]] = None
# @Required()
company_id: Optional[str] = None
id: int = 0
group_id: Optional[int] = None
# @Required()
field_id: int = 0
# @Required()
icon_id: int = 0
reg_ex_id: Optional[int] = None
# @Required()
name: Optional[str] = None
# @Required()
description: Optional[str] = None
# @Required()
datatype: Optional[str] = None
# @Required()
max_length: int = 0
# @Required()
is_public: bool = False
# @Required()
is_hidden: bool = False
# @Required()
is_mandatory: bool = False
default_value: Optional[str] = None
reg_ex_error_message: Optional[str] = None
mandatory_error_message: Optional[str] = None
width: Optional[int] = None
# @Required()
multiple_line_text: bool = False
modified_date: Optional[datetime.datetime] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class CompanyType(BaseModel):
# @Required()
name: Optional[str] = None
# @Required()
description: Optional[str] = None
modified_date: Optional[datetime.datetime] = None
# @Required()
id: int = 0
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class CodeLockSystem(BaseModel):
# @Required()
name: Optional[str] = None
# @Required()
supplier: Optional[str] = None
logo_type: Optional[str] = None
# @Required()
description: Optional[str] = None
modified_date: Optional[datetime.datetime] = None
# @Required()
id: int = 0
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class CodeLockSetting(BaseModel):
# @Ignore()
code_lock_system_options: Optional[List[CodeLockSystem]] = None
# @Required()
active: bool = False
# @Required()
code_lock_systems_id: int = 0
# @Required()
valid_before_minutes: int = 0
# @Required()
valid_after_minutes: int = 0
# @Required()
delete_old_by_schedule: bool = False
# @Required()
created: datetime.datetime = datetime.datetime(1, 1, 1)
# @Required()
updated: datetime.datetime = datetime.datetime(1, 1, 1)
modified_date: Optional[datetime.datetime] = None
# @Required()
send_email_notification: bool = False
# @Required()
send_s_m_s_notification: bool = False
# @Required()
email_notification_time: int = 0
# @Required()
sms_notification_time: int = 0
# @Required()
id: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class LanguageResponse:
id: Optional[str] = None
name: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class CompanySetting(BaseModel):
# @Ignore()
languages: Optional[List[LanguageResponse]] = None
# @Required()
active: bool = False
inactive_message: Optional[str] = None
# @Required()
searchable: bool = False
ga_tracking_id: Optional[str] = None
facebook_pixel_id: Optional[str] = None
# @Required()
multi_language: bool = False
# @Required()
enable_a_p_i_translation: bool = False
# @Required()
default_language: Optional[str] = None
modified_date: Optional[datetime.datetime] = None
gtm_tracking_id: Optional[str] = None
# @Required()
show_on_market_place: bool = False
google_ads_conversion_id: Optional[str] = None
linkedin_tag_id: Optional[str] = None
google_ads_conversion_label: Optional[str] = None
send_customer_information_to_external_providers: bool = False
# @Required()
id: Optional[str] = None
is_webhook_feature_enabled: bool = False
sms_message_send_limit: Optional[int] = None
email_message_send_limit: Optional[int] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class WidgetServiceLayouts(BaseModel):
# @Required()
name: Optional[str] = None
# @Required()
description: Optional[str] = None
# @Required()
code: Optional[str] = None
modified_date: Optional[datetime.datetime] = None
# @Required()
id: int = 0
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class WidgetTimeLayouts(BaseModel):
# @Required()
name: Optional[str] = None
# @Required()
description: Optional[str] = None
# @Required()
code: Optional[str] = None
modified_date: Optional[datetime.datetime] = None
# @Required()
id: int = 0
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class WidgetBookingLayouts(BaseModel):
# @Required()
name: Optional[str] = None
# @Required()
description: Optional[str] = None
# @Required()
code: Optional[str] = None
modified_date: Optional[datetime.datetime] = None
# @Required()
id: int = 0
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class WidgetBookingMethods(BaseModel):
# @Required()
name: Optional[str] = None
# @Required()
description: Optional[str] = None
# @Required()
code: Optional[str] = None
modified_date: Optional[datetime.datetime] = None
# @Required()
id: int = 0
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class HomepageWidgetSetting(BaseModel):
# @Ignore()
widget_service_layout_options: Optional[List[WidgetServiceLayouts]] = None
# @Ignore()
widget_time_layout_options: Optional[List[WidgetTimeLayouts]] = None
# @Ignore()
widget_booking_layout_options: Optional[List[WidgetBookingLayouts]] = None
# @Ignore()
widget_booking_method_options: Optional[List[WidgetBookingMethods]] = None
# @Required()
service_layout_id: int = 0
# @Required()
time_layout_id: int = 0
# @Required()
booking_layout_id: int = 0
# @Required()
primary_color: Optional[str] = None
# @Required()
show_service_image: bool = False
# @Required()
show_next_available_time: bool = False
# @Required()
show_end_time: bool = False
booked_time_slot_text: Optional[str] = None
# @Required()
dark_theme: bool = False
# @Required()
show_rebate_code_field: bool = False
modified_date: Optional[datetime.datetime] = None
# @Required()
enable_create_account: bool = False
# @Required()
enable_login: bool = False
# @Required()
enable_direct_booking: bool = False
# @Required()
enable_facebook_login: bool = False
# @Required()
show_subscribe_to_newsletter: bool = False
# @Required()
id: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class HomepageTemplate(BaseModel):
# @Required()
name: Optional[str] = None
# @Required()
description: Optional[str] = None
image_url: Optional[str] = None
# @Required()
premium: bool = False
modified_date: Optional[datetime.datetime] = None
id: int = 0
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class HeroSectionStyle(BaseModel):
# @Required()
name: Optional[str] = None
description: Optional[str] = None
modified_date: Optional[datetime.datetime] = None
# @Required()
id: int = 0
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class HomepageSetting(BaseModel, ICompany):
# @Ignore()
homepage_template_options: Optional[List[HomepageTemplate]] = None
# @Ignore()
homepage_hero_section_style_options: Optional[List[HeroSectionStyle]] = None
# @Ignore()
company_id: Optional[str] = None
welcome_page_heading: Optional[str] = None
welcome_page_body: Optional[str] = None
about_us_page_heading: Optional[str] = None
about_us_page_body: Optional[str] = None
# @Required()
home_page_template_id: int = 0
image_url: Optional[str] = None
# @Required()
updated: datetime.datetime = datetime.datetime(1, 1, 1)
# @Required()
created: datetime.datetime = datetime.datetime(1, 1, 1)
homepage_heading: Optional[str] = None
# @Required()
hero_section_style_id: int = 0
modified_date: Optional[datetime.datetime] = None
# @Required()
show_rating: bool = False
# @Required()
enable_homepage: bool = False
# @Required()
id: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class LicenseTypeItem(BaseModel):
# @Ignore()
name: Optional[str] = None
# @Ignore()
license_type: Optional[LicenseType] = None
# @Required()
license_types_id: int = 0
# @Required()
license_items_id: int = 0
# @Required()
number_of_items: int = 0
id: int = 0
modified_date: Optional[datetime.datetime] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class Country(BaseModel):
# @References(typeof(Currency))
currency_id: Optional[str] = None
currency_info: Optional[Currency] = None
# @Required()
name: Optional[str] = None
culture: Optional[str] = None
time_zone: Optional[str] = None
modified_date: Optional[datetime.datetime] = None
# @Required()
id: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class LicensePrice(BaseModel):
# @Ignore()
country: Optional[Country] = None
# @Ignore()
monthly_payment: bool = False
# @Required()
license_type_id: int = 0
# @Required()
country_id: Optional[str] = None
# @Required()
price: int = 0
modified_date: Optional[datetime.datetime] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class LicenseType(BaseModel):
# @Ignore()
license_items: Optional[IList[LicenseTypeItem]] = None
# @Ignore()
prices: Optional[IList[LicensePrice]] = None
# @Ignore()
is_free: bool = False
# @Ignore()
period_of_notice_days: int = 0
# @Ignore()
next_license_option: Optional[LicenseType] = None
# @Required()
name: Optional[str] = None
# @Required()
description: Optional[str] = None
# @Required()
extra_license_option: bool = False
modified_date: Optional[datetime.datetime] = None
active: bool = False
id: int = 0
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class License(BaseModel):
type: Optional[LicenseType] = None
# @Required()
company_id: Optional[str] = None
id: int = 0
# @Required()
type_id: int = 0
# @Required()
valid_from: datetime.datetime = datetime.datetime(1, 1, 1)
# @Required()
valid_to: datetime.datetime = datetime.datetime(1, 1, 1)
# @Required()
active: bool = False
# @Required()
updated: datetime.datetime = datetime.datetime(1, 1, 1)
# @Required()
created: datetime.datetime = datetime.datetime(1, 1, 1)
modified_date: Optional[datetime.datetime] = None
meta_data: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class KeyCloakRole:
id: Optional[str] = None
name: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class CompanyUser(BaseModel, IUser, IBaseModelCreated, IBaseModelUpdated):
resource: Optional[Resource] = None
# @Ignore()
roles: Optional[List[KeyCloakRole]] = None
# @Ignore()
company: Optional[Company] = None
email: Optional[str] = None
# @Ignore()
full_name: Optional[str] = None
resource_id: Optional[int] = None
worker_id: Optional[str] = None
# @Required()
active: bool = False
# @Required()
is_super_admin: bool = False
# @Required()
created_date: datetime.datetime = datetime.datetime(1, 1, 1)
# @Required()
updated_date: datetime.datetime = datetime.datetime(1, 1, 1)
modified_date: Optional[datetime.datetime] = None
# @Required()
company_id: Optional[str] = None
# @Required()
id: Optional[str] = None
user_id: Optional[str] = None
firstname: Optional[str] = None
lastname: Optional[str] = None
phone: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class CompanyCategory(BaseModel):
# @Required()
name: Optional[str] = None
# @Required()
header: Optional[str] = None
# @Required()
description: Optional[str] = None
image_url: Optional[str] = None
# @Required()
active: bool = False
sort_order: Optional[int] = None
modified_date: Optional[datetime.datetime] = None
id: int = 0
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class Company(BaseModel):
# @Ignore()
status: Optional[CompanyStatus] = None
# @Ignore()
active: bool = False
# @Ignore()
customer_custom_fields_config: Optional[IList[CustomFieldConfig]] = None
# @Ignore()
booking_agreements: Optional[str] = None
# @Ignore()
booking_settings: Optional[BookingSettings] = None
# @Ignore()
company_type: Optional[CompanyType] = None
# @Ignore()
code_lock_settings: Optional[CodeLockSetting] = None
# @Ignore()
payment_settings: Optional[PaymentSetting] = None
# @Ignore()
settings: Optional[CompanySetting] = None
# @Ignore()
widget_settings: Optional[HomepageWidgetSetting] = None
# @Ignore()
homepage_settings: Optional[HomepageSetting] = None
# @Ignore()
rating_score: Optional[AverageRatingScore] = None
# @Ignore()
ratings: Optional[List[Rating]] = None
# @Ignore()
distance: Optional[float] = None
# @Ignore()
licenses: Optional[List[License]] = None
# @Ignore()
company_users: Optional[List[CompanyUser]] = None
# @Ignore()
active_licenses: Optional[List[License]] = None
# @Ignore()
current_license: Optional[License] = None
# @Ignore()
is_free_account: bool = False
# @Ignore()
default_language: Optional[CultureInfo] = None
category: Optional[CompanyCategory] = None
# @Ignore()
lat: float = 0.0
# @Ignore()
lon: float = 0.0
# @Ignore()
is_favorite: bool = False
# @Ignore()
external_references: Optional[IList[ExternalReference]] = None
# @Required()
organisation_number: Optional[str] = None
# @Required()
status_id: int = 0
# @Required()
category_id: int = 0
# @Required()
site_path: Optional[str] = None
# @Required()
name: Optional[str] = None
street1: Optional[str] = None
street2: Optional[str] = None
zip_code: Optional[str] = None
city: Optional[str] = None
opening_hours: Optional[str] = None
fax_number: Optional[str] = None
# @Required()
email: Optional[str] = None
phone: Optional[str] = None
details: Optional[str] = None
logo_type: Optional[str] = None
# @Required()
approved_by_admin: bool = False
# @Required()
updated: datetime.datetime = datetime.datetime(1, 1, 1)
# @Required()
created: datetime.datetime = datetime.datetime(1, 1, 1)
ip_address: Optional[str] = None
homepage: Optional[str] = None
domain_name: Optional[str] = None
# @Required()
country_id: Optional[str] = None
# @Required()
company_owner_id: int = 0
type_id: Optional[int] = None
modified_date: Optional[datetime.datetime] = None
# @Required()
id: Optional[str] = None
deletion_notification_date: Optional[datetime.datetime] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class CustomerComment(BaseModel):
# @Required()
company_id: Optional[str] = None
id: int = 0
# @Required()
customer_id: Optional[str] = None
# @Required()
comments: Optional[str] = None
# @Required()
updated: datetime.datetime = datetime.datetime(1, 1, 1)
# @Required()
created: datetime.datetime = datetime.datetime(1, 1, 1)
image_url: Optional[str] = None
modified_date: Optional[datetime.datetime] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class Customer(BaseModel, IUser, ICustomFieldTable):
identity_id: int = 0
id: Optional[str] = None
# @Ignore()
customer_id: Optional[str] = None
# @Ignore()
access_keys: Optional[IList[UserAccessKeys]] = None
email: Optional[str] = None
# @Ignore()
external_references: Optional[IList[ExternalReference]] = None
# @Ignore()
company: Optional[Company] = None
# @Ignore()
custom_fields_config: Optional[IList[CustomFieldConfig]] = None
# @Ignore()
custom_fields_data: Optional[IList[CustomFieldDataResponse]] = None
# @Ignore()
comments: Optional[IList[CustomerComment]] = None
# @Ignore()
rebate_codes: Optional[IList[RebateCode]] = None
firstname: Optional[str] = None
# @Ignore()
full_name: Optional[str] = None
# @Ignore()
image_url: Optional[str] = None
# @Required()
active: bool = False
facebook_username: Optional[str] = None
# @Required()
updated: datetime.datetime = datetime.datetime(1, 1, 1)
# @Required()
created: datetime.datetime = datetime.datetime(1, 1, 1)
ip_address: Optional[str] = None
modified_date: Optional[datetime.datetime] = None
text_field1: Optional[str] = None
text_field2: Optional[str] = None
text_field3: Optional[str] = None
text_field4: Optional[str] = None
text_field5: Optional[str] = None
text_field6: Optional[str] = None
text_field7: Optional[str] = None
text_field8: Optional[str] = None
text_field9: Optional[str] = None
text_field10: Optional[str] = None
text_field11: Optional[str] = None
text_field12: Optional[str] = None
text_field13: Optional[str] = None
text_field14: Optional[str] = None
text_field15: Optional[str] = None
text_field16: Optional[str] = None
text_field17: Optional[str] = None
text_field18: Optional[str] = None
text_field19: Optional[str] = None
text_field20: Optional[str] = None
user_id: Optional[str] = None
lastname: Optional[str] = None
phone: Optional[str] = None
corporate_identity_number: Optional[str] = None
invoice_address1: Optional[str] = None
invoice_address2: Optional[str] = None
invoice_city: Optional[str] = None
invoice_postal_code: Optional[str] = None
invoice_country_code: Optional[str] = None
# @Required()
company_id: Optional[str] = None
subscribed_to_newsletter: bool = False
class ItemType(str, Enum):
PHYSICAL = 'Physical'
SERVICE = 'Service'
FEE = 'Fee'
DISCOUNT = 'Discount'
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class Item:
item_id: Optional[str] = None
discount_rate: Decimal = decimal.Decimal(0)
ean: Optional[str] = None
image_uri: Optional[str] = None
name: Optional[str] = None
quantity: Decimal = decimal.Decimal(0)
reference: Optional[str] = None
tax_rate: Decimal = decimal.Decimal(0)
total_price_excluding_tax: Decimal = decimal.Decimal(0)
total_price_including_tax: Decimal = decimal.Decimal(0)
total_tax_amount: Decimal = decimal.Decimal(0)
credited_amount: Decimal = decimal.Decimal(0)
type: Optional[ItemType] = None
unit_price: Decimal = decimal.Decimal(0)
uri: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class Order:
currency: Optional[Currency] = None
total_fee_excluding_tax: Decimal = decimal.Decimal(0)
total_fee_including_tax: Decimal = decimal.Decimal(0)
total_price_excluding_tax: Decimal = decimal.Decimal(0)
total_price_including_tax: Decimal = decimal.Decimal(0)
total_tax_amount: Decimal = decimal.Decimal(0)
total_credited_amount: Decimal = decimal.Decimal(0)
items: Optional[IList[Item]] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class Merchant:
checkout_uri: Optional[str] = None
confirmation_uri: Optional[str] = None
notification_uri: Optional[str] = None
validation_uri: Optional[str] = None
terms_uri: Optional[str] = None
reference: Optional[str] = None
partner_id: Optional[str] = None
class ColorScheme(str, Enum):
WHITE = 'White'
BLUE = 'Blue'
GRAY = 'Gray'
GRAY_TEXT_LOGOS = 'GrayTextLogos'
BLUE_TEXT_LOGOS = 'BlueTextLogos'
WHITE_TEXT_LOGOS = 'WhiteTextLogos'
WHITE_NO_FOOTER = 'WhiteNoFooter'
GRAY_NO_FOOTER = 'GrayNoFooter'
BLUE_NO_FOOTER = 'BlueNoFooter'
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class Gui:
color_scheme: Optional[ColorScheme] = None
locale: Optional[str] = None
request_phone: bool = False
phone_optional: bool = False
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class History:
created: Optional[datetime.datetime] = None
ready_to_pay: Optional[datetime.datetime] = None
ready_to_ship: Optional[datetime.datetime] = None
shipped: Optional[datetime.datetime] = None
paid_to_account: Optional[datetime.datetime] = None
canceled: Optional[datetime.datetime] = None
expired: Optional[datetime.datetime] = None
denied: Optional[datetime.datetime] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class Payson2CheckoutResponse:
id: Optional[str] = None
expiration_time: Optional[datetime.datetime] = None
snippet: Optional[str] = None
status: Optional[Payson2CheckoutStatus] = None
customer: Optional[Customer] = None
order: Optional[Order] = None
merchant: Optional[Merchant] = None
gui: Optional[Gui] = None
history: Optional[History] = None
purchase_id: Optional[int] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class BaseOptions(INestedOptions):
expand: Optional[List[str]] = None
extra_params: Optional[Dict[str, Object]] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionAfterExpirationRecoveryOptions(INestedOptions):
allow_promotion_codes: Optional[bool] = None
enabled: Optional[bool] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionAfterExpirationOptions(INestedOptions):
recovery: Optional[SessionAfterExpirationRecoveryOptions] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionAutomaticTaxLiabilityOptions(INestedOptions):
account: Optional[str] = None
type: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionAutomaticTaxOptions(INestedOptions):
enabled: Optional[bool] = None
liability: Optional[SessionAutomaticTaxLiabilityOptions] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionConsentCollectionPaymentMethodReuseAgreementOptions(INestedOptions):
position: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionConsentCollectionOptions(INestedOptions):
payment_method_reuse_agreement: Optional[SessionConsentCollectionPaymentMethodReuseAgreementOptions] = None
promotions: Optional[str] = None
terms_of_service: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionCustomFieldDropdownOptionOptions(INestedOptions):
label: Optional[str] = None
value: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionCustomFieldDropdownOptions(INestedOptions):
default_value: Optional[str] = None
options: Optional[List[SessionCustomFieldDropdownOptionOptions]] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionCustomFieldLabelOptions(INestedOptions):
custom: Optional[str] = None
type: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionCustomFieldNumericOptions(INestedOptions):
default_value: Optional[str] = None
maximum_length: Optional[int] = None
minimum_length: Optional[int] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionCustomFieldTextOptions(INestedOptions):
default_value: Optional[str] = None
maximum_length: Optional[int] = None
minimum_length: Optional[int] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionCustomFieldOptions(INestedOptions):
dropdown: Optional[SessionCustomFieldDropdownOptions] = None
key: Optional[str] = None
label: Optional[SessionCustomFieldLabelOptions] = None
numeric: Optional[SessionCustomFieldNumericOptions] = None
optional: Optional[bool] = None
text: Optional[SessionCustomFieldTextOptions] = None
type: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionCustomTextAfterSubmitOptions(INestedOptions):
message: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionCustomTextShippingAddressOptions(INestedOptions):
message: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionCustomTextSubmitOptions(INestedOptions):
message: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionCustomTextTermsOfServiceAcceptanceOptions(INestedOptions):
message: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionCustomTextOptions(INestedOptions):
after_submit: Optional[SessionCustomTextAfterSubmitOptions] = None
shipping_address: Optional[SessionCustomTextShippingAddressOptions] = None
submit: Optional[SessionCustomTextSubmitOptions] = None
terms_of_service_acceptance: Optional[SessionCustomTextTermsOfServiceAcceptanceOptions] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionCustomerUpdateOptions(INestedOptions):
address: Optional[str] = None
name: Optional[str] = None
shipping: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionDiscountOptions(INestedOptions):
coupon: Optional[str] = None
promotion_code: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionInvoiceCreationInvoiceDataCustomFieldOptions(INestedOptions):
name: Optional[str] = None
value: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionInvoiceCreationInvoiceDataIssuerOptions(INestedOptions):
account: Optional[str] = None
type: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionInvoiceCreationInvoiceDataRenderingOptionsOptions(INestedOptions):
amount_tax_display: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionInvoiceCreationInvoiceDataOptions(INestedOptions, IHasMetadata):
account_tax_ids: Optional[List[str]] = None
custom_fields: Optional[List[SessionInvoiceCreationInvoiceDataCustomFieldOptions]] = None
description: Optional[str] = None
footer: Optional[str] = None
issuer: Optional[SessionInvoiceCreationInvoiceDataIssuerOptions] = None
metadata: Optional[Dict[str, str]] = None
rendering_options: Optional[SessionInvoiceCreationInvoiceDataRenderingOptionsOptions] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionInvoiceCreationOptions(INestedOptions):
enabled: Optional[bool] = None
invoice_data: Optional[SessionInvoiceCreationInvoiceDataOptions] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionLineItemAdjustableQuantityOptions(INestedOptions):
enabled: Optional[bool] = None
maximum: Optional[int] = None
minimum: Optional[int] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionLineItemPriceDataProductDataOptions(INestedOptions, IHasMetadata):
description: Optional[str] = None
images: Optional[List[str]] = None
metadata: Optional[Dict[str, str]] = None
name: Optional[str] = None
tax_code: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionLineItemPriceDataRecurringOptions(INestedOptions):
interval: Optional[str] = None
interval_count: Optional[int] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionLineItemPriceDataOptions(INestedOptions):
currency: Optional[str] = None
product: Optional[str] = None
product_data: Optional[SessionLineItemPriceDataProductDataOptions] = None
recurring: Optional[SessionLineItemPriceDataRecurringOptions] = None
tax_behavior: Optional[str] = None
unit_amount: Optional[int] = None
unit_amount_decimal: Optional[Decimal] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionLineItemOptions(INestedOptions):
adjustable_quantity: Optional[SessionLineItemAdjustableQuantityOptions] = None
dynamic_tax_rates: Optional[List[str]] = None
price: Optional[str] = None
price_data: Optional[SessionLineItemPriceDataOptions] = None
quantity: Optional[int] = None
tax_rates: Optional[List[str]] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class AddressOptions(INestedOptions):
city: Optional[str] = None
country: Optional[str] = None
line1: Optional[str] = None
line2: Optional[str] = None
postal_code: Optional[str] = None
state: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class ChargeShippingOptions(INestedOptions):
address: Optional[AddressOptions] = None
carrier: Optional[str] = None
name: Optional[str] = None
phone: Optional[str] = None
tracking_number: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionPaymentIntentDataTransferDataOptions(INestedOptions):
amount: Optional[int] = None
destination: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionPaymentIntentDataOptions(INestedOptions, IHasMetadata):
application_fee_amount: Optional[int] = None
capture_method: Optional[str] = None
description: Optional[str] = None
metadata: Optional[Dict[str, str]] = None
on_behalf_of: Optional[str] = None
receipt_email: Optional[str] = None
setup_future_usage: Optional[str] = None
shipping: Optional[ChargeShippingOptions] = None
statement_descriptor: Optional[str] = None
statement_descriptor_suffix: Optional[str] = None
transfer_data: Optional[SessionPaymentIntentDataTransferDataOptions] = None
transfer_group: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionPaymentMethodDataOptions(INestedOptions):
allow_redisplay: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionPaymentMethodOptionsAcssDebitMandateOptionsOptions(INestedOptions):
custom_mandate_url: Optional[str] = None
default_for: Optional[List[str]] = None
interval_description: Optional[str] = None
payment_schedule: Optional[str] = None
transaction_type: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionPaymentMethodOptionsAcssDebitOptions(INestedOptions):
currency: Optional[str] = None
mandate_options: Optional[SessionPaymentMethodOptionsAcssDebitMandateOptionsOptions] = None
setup_future_usage: Optional[str] = None
verification_method: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionPaymentMethodOptionsAffirmOptions(INestedOptions):
setup_future_usage: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionPaymentMethodOptionsAfterpayClearpayOptions(INestedOptions):
setup_future_usage: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionPaymentMethodOptionsAlipayOptions(INestedOptions):
setup_future_usage: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionPaymentMethodOptionsAmazonPayOptions(INestedOptions):
setup_future_usage: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionPaymentMethodOptionsAuBecsDebitOptions(INestedOptions):
setup_future_usage: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionPaymentMethodOptionsBacsDebitOptions(INestedOptions):
setup_future_usage: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionPaymentMethodOptionsBancontactOptions(INestedOptions):
setup_future_usage: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionPaymentMethodOptionsBoletoOptions(INestedOptions):
expires_after_days: Optional[int] = None
setup_future_usage: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionPaymentMethodOptionsCardInstallmentsOptions(INestedOptions):
enabled: Optional[bool] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionPaymentMethodOptionsCardOptions(INestedOptions):
installments: Optional[SessionPaymentMethodOptionsCardInstallmentsOptions] = None
request_three_d_secure: Optional[str] = None
setup_future_usage: Optional[str] = None
statement_descriptor_suffix_kana: Optional[str] = None
statement_descriptor_suffix_kanji: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionPaymentMethodOptionsCashappOptions(INestedOptions):
setup_future_usage: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionPaymentMethodOptionsCustomerBalanceBankTransferEuBankTransferOptions(INestedOptions):
country: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionPaymentMethodOptionsCustomerBalanceBankTransferOptions(INestedOptions):
eu_bank_transfer: Optional[SessionPaymentMethodOptionsCustomerBalanceBankTransferEuBankTransferOptions] = None
requested_address_types: Optional[List[str]] = None
type: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionPaymentMethodOptionsCustomerBalanceOptions(INestedOptions):
bank_transfer: Optional[SessionPaymentMethodOptionsCustomerBalanceBankTransferOptions] = None
funding_type: Optional[str] = None
setup_future_usage: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionPaymentMethodOptionsEpsOptions(INestedOptions):
setup_future_usage: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionPaymentMethodOptionsFpxOptions(INestedOptions):
setup_future_usage: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionPaymentMethodOptionsGiropayOptions(INestedOptions):
setup_future_usage: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionPaymentMethodOptionsGrabpayOptions(INestedOptions):
setup_future_usage: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionPaymentMethodOptionsIdealOptions(INestedOptions):
setup_future_usage: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionPaymentMethodOptionsKlarnaOptions(INestedOptions):
setup_future_usage: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionPaymentMethodOptionsKonbiniOptions(INestedOptions):
expires_after_days: Optional[int] = None
setup_future_usage: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionPaymentMethodOptionsLinkOptions(INestedOptions):
setup_future_usage: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionPaymentMethodOptionsMobilepayOptions(INestedOptions):
setup_future_usage: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionPaymentMethodOptionsMultibancoOptions(INestedOptions):
setup_future_usage: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionPaymentMethodOptionsOxxoOptions(INestedOptions):
expires_after_days: Optional[int] = None
setup_future_usage: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionPaymentMethodOptionsP24Options(INestedOptions):
setup_future_usage: Optional[str] = None
tos_shown_and_accepted: Optional[bool] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionPaymentMethodOptionsPaynowOptions(INestedOptions):
setup_future_usage: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionPaymentMethodOptionsPaypalOptions(INestedOptions):
capture_method: Optional[str] = None
preferred_locale: Optional[str] = None
reference: Optional[str] = None
risk_correlation_id: Optional[str] = None
setup_future_usage: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionPaymentMethodOptionsPixOptions(INestedOptions):
expires_after_seconds: Optional[int] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionPaymentMethodOptionsRevolutPayOptions(INestedOptions):
setup_future_usage: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionPaymentMethodOptionsSepaDebitOptions(INestedOptions):
setup_future_usage: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionPaymentMethodOptionsSofortOptions(INestedOptions):
setup_future_usage: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionPaymentMethodOptionsSwishOptions(INestedOptions):
reference: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionPaymentMethodOptionsUsBankAccountFinancialConnectionsOptions(INestedOptions):
permissions: Optional[List[str]] = None
prefetch: Optional[List[str]] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionPaymentMethodOptionsUsBankAccountOptions(INestedOptions):
financial_connections: Optional[SessionPaymentMethodOptionsUsBankAccountFinancialConnectionsOptions] = None
setup_future_usage: Optional[str] = None
verification_method: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionPaymentMethodOptionsWechatPayOptions(INestedOptions):
app_id: Optional[str] = None
client: Optional[str] = None
setup_future_usage: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionPaymentMethodOptionsOptions(INestedOptions):
acss_debit: Optional[SessionPaymentMethodOptionsAcssDebitOptions] = None
affirm: Optional[SessionPaymentMethodOptionsAffirmOptions] = None
afterpay_clearpay: Optional[SessionPaymentMethodOptionsAfterpayClearpayOptions] = None
alipay: Optional[SessionPaymentMethodOptionsAlipayOptions] = None
amazon_pay: Optional[SessionPaymentMethodOptionsAmazonPayOptions] = None
au_becs_debit: Optional[SessionPaymentMethodOptionsAuBecsDebitOptions] = None
bacs_debit: Optional[SessionPaymentMethodOptionsBacsDebitOptions] = None
bancontact: Optional[SessionPaymentMethodOptionsBancontactOptions] = None
boleto: Optional[SessionPaymentMethodOptionsBoletoOptions] = None
card: Optional[SessionPaymentMethodOptionsCardOptions] = None
cashapp: Optional[SessionPaymentMethodOptionsCashappOptions] = None
customer_balance: Optional[SessionPaymentMethodOptionsCustomerBalanceOptions] = None
eps: Optional[SessionPaymentMethodOptionsEpsOptions] = None
fpx: Optional[SessionPaymentMethodOptionsFpxOptions] = None
giropay: Optional[SessionPaymentMethodOptionsGiropayOptions] = None
grabpay: Optional[SessionPaymentMethodOptionsGrabpayOptions] = None
ideal: Optional[SessionPaymentMethodOptionsIdealOptions] = None
klarna: Optional[SessionPaymentMethodOptionsKlarnaOptions] = None
konbini: Optional[SessionPaymentMethodOptionsKonbiniOptions] = None
link: Optional[SessionPaymentMethodOptionsLinkOptions] = None
mobilepay: Optional[SessionPaymentMethodOptionsMobilepayOptions] = None
multibanco: Optional[SessionPaymentMethodOptionsMultibancoOptions] = None
oxxo: Optional[SessionPaymentMethodOptionsOxxoOptions] = None
p24: Optional[SessionPaymentMethodOptionsP24Options] = None
paynow: Optional[SessionPaymentMethodOptionsPaynowOptions] = None
paypal: Optional[SessionPaymentMethodOptionsPaypalOptions] = None
pix: Optional[SessionPaymentMethodOptionsPixOptions] = None
revolut_pay: Optional[SessionPaymentMethodOptionsRevolutPayOptions] = None
sepa_debit: Optional[SessionPaymentMethodOptionsSepaDebitOptions] = None
sofort: Optional[SessionPaymentMethodOptionsSofortOptions] = None
swish: Optional[SessionPaymentMethodOptionsSwishOptions] = None
us_bank_account: Optional[SessionPaymentMethodOptionsUsBankAccountOptions] = None
wechat_pay: Optional[SessionPaymentMethodOptionsWechatPayOptions] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionPhoneNumberCollectionOptions(INestedOptions):
enabled: Optional[bool] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionSavedPaymentMethodOptionsOptions(INestedOptions):
allow_redisplay_filters: Optional[List[str]] = None
payment_method_save: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionSetupIntentDataOptions(INestedOptions, IHasMetadata):
description: Optional[str] = None
metadata: Optional[Dict[str, str]] = None
on_behalf_of: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionShippingAddressCollectionOptions(INestedOptions):
allowed_countries: Optional[List[str]] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionShippingOptionShippingRateDataDeliveryEstimateMaximumOptions(INestedOptions):
unit: Optional[str] = None
value: Optional[int] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionShippingOptionShippingRateDataDeliveryEstimateMinimumOptions(INestedOptions):
unit: Optional[str] = None
value: Optional[int] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionShippingOptionShippingRateDataDeliveryEstimateOptions(INestedOptions):
maximum: Optional[SessionShippingOptionShippingRateDataDeliveryEstimateMaximumOptions] = None
minimum: Optional[SessionShippingOptionShippingRateDataDeliveryEstimateMinimumOptions] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionShippingOptionShippingRateDataFixedAmountCurrencyOptionsOptions(INestedOptions):
amount: Optional[int] = None
tax_behavior: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionShippingOptionShippingRateDataFixedAmountOptions(INestedOptions):
amount: Optional[int] = None
currency: Optional[str] = None
currency_options: Optional[Dict[str, SessionShippingOptionShippingRateDataFixedAmountCurrencyOptionsOptions]] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionShippingOptionShippingRateDataOptions(INestedOptions, IHasMetadata):
delivery_estimate: Optional[SessionShippingOptionShippingRateDataDeliveryEstimateOptions] = None
display_name: Optional[str] = None
fixed_amount: Optional[SessionShippingOptionShippingRateDataFixedAmountOptions] = None
metadata: Optional[Dict[str, str]] = None
tax_behavior: Optional[str] = None
tax_code: Optional[str] = None
type: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionShippingOptionOptions(INestedOptions):
shipping_rate: Optional[str] = None
shipping_rate_data: Optional[SessionShippingOptionShippingRateDataOptions] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionSubscriptionDataInvoiceSettingsIssuerOptions(INestedOptions):
account: Optional[str] = None
type: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionSubscriptionDataInvoiceSettingsOptions(INestedOptions):
issuer: Optional[SessionSubscriptionDataInvoiceSettingsIssuerOptions] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionSubscriptionDataTransferDataOptions(INestedOptions):
amount_percent: Optional[Decimal] = None
destination: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionSubscriptionDataTrialSettingsEndBehaviorOptions(INestedOptions):
missing_payment_method: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionSubscriptionDataTrialSettingsOptions(INestedOptions):
end_behavior: Optional[SessionSubscriptionDataTrialSettingsEndBehaviorOptions] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionSubscriptionDataOptions(INestedOptions, IHasMetadata):
application_fee_percent: Optional[Decimal] = None
billing_cycle_anchor: Optional[datetime.datetime] = None
default_tax_rates: Optional[List[str]] = None
description: Optional[str] = None
invoice_settings: Optional[SessionSubscriptionDataInvoiceSettingsOptions] = None
metadata: Optional[Dict[str, str]] = None
on_behalf_of: Optional[str] = None
proration_behavior: Optional[str] = None
transfer_data: Optional[SessionSubscriptionDataTransferDataOptions] = None
trial_end: Optional[datetime.datetime] = None
trial_period_days: Optional[int] = None
trial_settings: Optional[SessionSubscriptionDataTrialSettingsOptions] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionTaxIdCollectionOptions(INestedOptions):
enabled: Optional[bool] = None
required: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionCreateOptions(BaseOptions, IHasMetadata):
after_expiration: Optional[SessionAfterExpirationOptions] = None
allow_promotion_codes: Optional[bool] = None
automatic_tax: Optional[SessionAutomaticTaxOptions] = None
billing_address_collection: Optional[str] = None
cancel_url: Optional[str] = None
client_reference_id: Optional[str] = None
consent_collection: Optional[SessionConsentCollectionOptions] = None
currency: Optional[str] = None
custom_fields: Optional[List[SessionCustomFieldOptions]] = None
custom_text: Optional[SessionCustomTextOptions] = None
customer: Optional[str] = None
customer_creation: Optional[str] = None
customer_email: Optional[str] = None
customer_update: Optional[SessionCustomerUpdateOptions] = None
discounts: Optional[List[SessionDiscountOptions]] = None
expires_at: Optional[datetime.datetime] = None
invoice_creation: Optional[SessionInvoiceCreationOptions] = None
line_items: Optional[List[SessionLineItemOptions]] = None
locale: Optional[str] = None
metadata: Optional[Dict[str, str]] = None
mode: Optional[str] = None
payment_intent_data: Optional[SessionPaymentIntentDataOptions] = None
payment_method_collection: Optional[str] = None
payment_method_configuration: Optional[str] = None
payment_method_data: Optional[SessionPaymentMethodDataOptions] = None
payment_method_options: Optional[SessionPaymentMethodOptionsOptions] = None
payment_method_types: Optional[List[str]] = None
phone_number_collection: Optional[SessionPhoneNumberCollectionOptions] = None
redirect_on_completion: Optional[str] = None
return_url: Optional[str] = None
saved_payment_method_options: Optional[SessionSavedPaymentMethodOptionsOptions] = None
setup_intent_data: Optional[SessionSetupIntentDataOptions] = None
shipping_address_collection: Optional[SessionShippingAddressCollectionOptions] = None
shipping_options: Optional[List[SessionShippingOptionOptions]] = None
submit_type: Optional[str] = None
subscription_data: Optional[SessionSubscriptionDataOptions] = None
success_url: Optional[str] = None
tax_id_collection: Optional[SessionTaxIdCollectionOptions] = None
ui_mode: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentAutomaticPaymentMethodsOptions(INestedOptions):
allow_redirects: Optional[str] = None
enabled: Optional[bool] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentMandateDataCustomerAcceptanceOfflineOptions(INestedOptions):
pass
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentMandateDataCustomerAcceptanceOnlineOptions(INestedOptions):
ip_address: Optional[str] = None
user_agent: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentMandateDataCustomerAcceptanceOptions(INestedOptions):
accepted_at: Optional[datetime.datetime] = None
offline: Optional[PaymentIntentMandateDataCustomerAcceptanceOfflineOptions] = None
online: Optional[PaymentIntentMandateDataCustomerAcceptanceOnlineOptions] = None
type: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentMandateDataOptions(INestedOptions):
customer_acceptance: Optional[PaymentIntentMandateDataCustomerAcceptanceOptions] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentPaymentMethodDataAcssDebitOptions(INestedOptions):
account_number: Optional[str] = None
institution_number: Optional[str] = None
transit_number: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentPaymentMethodDataAffirmOptions(INestedOptions):
pass
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentPaymentMethodDataAfterpayClearpayOptions(INestedOptions):
pass
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentPaymentMethodDataAlipayOptions(INestedOptions):
pass
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentPaymentMethodDataAmazonPayOptions(INestedOptions):
pass
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentPaymentMethodDataAuBecsDebitOptions(INestedOptions):
account_number: Optional[str] = None
bsb_number: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentPaymentMethodDataBacsDebitOptions(INestedOptions):
account_number: Optional[str] = None
sort_code: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentPaymentMethodDataBancontactOptions(INestedOptions):
pass
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentPaymentMethodDataBillingDetailsOptions(INestedOptions):
address: Optional[AddressOptions] = None
email: Optional[str] = None
name: Optional[str] = None
phone: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentPaymentMethodDataBlikOptions(INestedOptions):
pass
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentPaymentMethodDataBoletoOptions(INestedOptions):
tax_id: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentPaymentMethodDataCashappOptions(INestedOptions):
pass
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentPaymentMethodDataCustomerBalanceOptions(INestedOptions):
pass
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentPaymentMethodDataEpsOptions(INestedOptions):
bank: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentPaymentMethodDataFpxOptions(INestedOptions):
account_holder_type: Optional[str] = None
bank: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentPaymentMethodDataGiropayOptions(INestedOptions):
pass
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentPaymentMethodDataGrabpayOptions(INestedOptions):
pass
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentPaymentMethodDataIdealOptions(INestedOptions):
bank: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentPaymentMethodDataInteracPresentOptions(INestedOptions):
pass
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class DobOptions(INestedOptions):
day: Optional[int] = None
month: Optional[int] = None
year: Optional[int] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentPaymentMethodDataKlarnaOptions(INestedOptions):
dob: Optional[DobOptions] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentPaymentMethodDataKonbiniOptions(INestedOptions):
pass
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentPaymentMethodDataLinkOptions(INestedOptions):
pass
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentPaymentMethodDataMobilepayOptions(INestedOptions):
pass
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentPaymentMethodDataMultibancoOptions(INestedOptions):
pass
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentPaymentMethodDataOxxoOptions(INestedOptions):
pass
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentPaymentMethodDataP24Options(INestedOptions):
bank: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentPaymentMethodDataPaynowOptions(INestedOptions):
pass
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentPaymentMethodDataPaypalOptions(INestedOptions):
pass
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentPaymentMethodDataPixOptions(INestedOptions):
pass
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentPaymentMethodDataPromptpayOptions(INestedOptions):
pass
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentPaymentMethodDataRadarOptionsOptions(INestedOptions):
session: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentPaymentMethodDataRevolutPayOptions(INestedOptions):
pass
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentPaymentMethodDataSepaDebitOptions(INestedOptions):
iban: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentPaymentMethodDataSofortOptions(INestedOptions):
country: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentPaymentMethodDataSwishOptions(INestedOptions):
pass
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentPaymentMethodDataTwintOptions(INestedOptions):
pass
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentPaymentMethodDataUsBankAccountOptions(INestedOptions):
account_holder_type: Optional[str] = None
account_number: Optional[str] = None
account_type: Optional[str] = None
financial_connections_account: Optional[str] = None
routing_number: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentPaymentMethodDataWechatPayOptions(INestedOptions):
pass
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentPaymentMethodDataZipOptions(INestedOptions):
pass
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentPaymentMethodDataOptions(INestedOptions, IHasMetadata):
acss_debit: Optional[PaymentIntentPaymentMethodDataAcssDebitOptions] = None
affirm: Optional[PaymentIntentPaymentMethodDataAffirmOptions] = None
afterpay_clearpay: Optional[PaymentIntentPaymentMethodDataAfterpayClearpayOptions] = None
alipay: Optional[PaymentIntentPaymentMethodDataAlipayOptions] = None
allow_redisplay: Optional[str] = None
amazon_pay: Optional[PaymentIntentPaymentMethodDataAmazonPayOptions] = None
au_becs_debit: Optional[PaymentIntentPaymentMethodDataAuBecsDebitOptions] = None
bacs_debit: Optional[PaymentIntentPaymentMethodDataBacsDebitOptions] = None
bancontact: Optional[PaymentIntentPaymentMethodDataBancontactOptions] = None
billing_details: Optional[PaymentIntentPaymentMethodDataBillingDetailsOptions] = None
blik: Optional[PaymentIntentPaymentMethodDataBlikOptions] = None
boleto: Optional[PaymentIntentPaymentMethodDataBoletoOptions] = None
cashapp: Optional[PaymentIntentPaymentMethodDataCashappOptions] = None
customer_balance: Optional[PaymentIntentPaymentMethodDataCustomerBalanceOptions] = None
eps: Optional[PaymentIntentPaymentMethodDataEpsOptions] = None
fpx: Optional[PaymentIntentPaymentMethodDataFpxOptions] = None
giropay: Optional[PaymentIntentPaymentMethodDataGiropayOptions] = None
grabpay: Optional[PaymentIntentPaymentMethodDataGrabpayOptions] = None
ideal: Optional[PaymentIntentPaymentMethodDataIdealOptions] = None
interac_present: Optional[PaymentIntentPaymentMethodDataInteracPresentOptions] = None
klarna: Optional[PaymentIntentPaymentMethodDataKlarnaOptions] = None
konbini: Optional[PaymentIntentPaymentMethodDataKonbiniOptions] = None
link: Optional[PaymentIntentPaymentMethodDataLinkOptions] = None
metadata: Optional[Dict[str, str]] = None
mobilepay: Optional[PaymentIntentPaymentMethodDataMobilepayOptions] = None
multibanco: Optional[PaymentIntentPaymentMethodDataMultibancoOptions] = None
oxxo: Optional[PaymentIntentPaymentMethodDataOxxoOptions] = None
p24: Optional[PaymentIntentPaymentMethodDataP24Options] = None
paynow: Optional[PaymentIntentPaymentMethodDataPaynowOptions] = None
paypal: Optional[PaymentIntentPaymentMethodDataPaypalOptions] = None
pix: Optional[PaymentIntentPaymentMethodDataPixOptions] = None
promptpay: Optional[PaymentIntentPaymentMethodDataPromptpayOptions] = None
radar_options: Optional[PaymentIntentPaymentMethodDataRadarOptionsOptions] = None
revolut_pay: Optional[PaymentIntentPaymentMethodDataRevolutPayOptions] = None
sepa_debit: Optional[PaymentIntentPaymentMethodDataSepaDebitOptions] = None
sofort: Optional[PaymentIntentPaymentMethodDataSofortOptions] = None
swish: Optional[PaymentIntentPaymentMethodDataSwishOptions] = None
twint: Optional[PaymentIntentPaymentMethodDataTwintOptions] = None
type: Optional[str] = None
us_bank_account: Optional[PaymentIntentPaymentMethodDataUsBankAccountOptions] = None
wechat_pay: Optional[PaymentIntentPaymentMethodDataWechatPayOptions] = None
zip: Optional[PaymentIntentPaymentMethodDataZipOptions] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentPaymentMethodOptionsAcssDebitMandateOptionsOptions(INestedOptions):
custom_mandate_url: Optional[str] = None
interval_description: Optional[str] = None
payment_schedule: Optional[str] = None
transaction_type: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentPaymentMethodOptionsAcssDebitOptions(INestedOptions):
mandate_options: Optional[PaymentIntentPaymentMethodOptionsAcssDebitMandateOptionsOptions] = None
setup_future_usage: Optional[str] = None
verification_method: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentPaymentMethodOptionsAffirmOptions(INestedOptions):
capture_method: Optional[str] = None
preferred_locale: Optional[str] = None
setup_future_usage: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentPaymentMethodOptionsAfterpayClearpayOptions(INestedOptions):
capture_method: Optional[str] = None
reference: Optional[str] = None
setup_future_usage: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentPaymentMethodOptionsAlipayOptions(INestedOptions):
setup_future_usage: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentPaymentMethodOptionsAmazonPayOptions(INestedOptions):
capture_method: Optional[str] = None
setup_future_usage: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentPaymentMethodOptionsAuBecsDebitOptions(INestedOptions):
setup_future_usage: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentPaymentMethodOptionsBacsDebitMandateOptionsOptions(INestedOptions):
pass
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentPaymentMethodOptionsBacsDebitOptions(INestedOptions):
mandate_options: Optional[PaymentIntentPaymentMethodOptionsBacsDebitMandateOptionsOptions] = None
setup_future_usage: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentPaymentMethodOptionsBancontactOptions(INestedOptions):
preferred_language: Optional[str] = None
setup_future_usage: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentPaymentMethodOptionsBlikOptions(INestedOptions):
code: Optional[str] = None
setup_future_usage: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentPaymentMethodOptionsBoletoOptions(INestedOptions):
expires_after_days: Optional[int] = None
setup_future_usage: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentPaymentMethodOptionsCardInstallmentsPlanOptions(INestedOptions):
count: Optional[int] = None
interval: Optional[str] = None
type: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentPaymentMethodOptionsCardInstallmentsOptions(INestedOptions):
enabled: Optional[bool] = None
plan: Optional[PaymentIntentPaymentMethodOptionsCardInstallmentsPlanOptions] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentPaymentMethodOptionsCardMandateOptionsOptions(INestedOptions):
amount: Optional[int] = None
amount_type: Optional[str] = None
description: Optional[str] = None
end_date: Optional[datetime.datetime] = None
interval: Optional[str] = None
interval_count: Optional[int] = None
reference: Optional[str] = None
start_date: Optional[datetime.datetime] = None
supported_types: Optional[List[str]] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentPaymentMethodOptionsCardThreeDSecureNetworkOptionsCartesBancairesOptions(INestedOptions):
cb_avalgo: Optional[str] = None
cb_exemption: Optional[str] = None
cb_score: Optional[int] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentPaymentMethodOptionsCardThreeDSecureNetworkOptionsOptions(INestedOptions):
cartes_bancaires: Optional[PaymentIntentPaymentMethodOptionsCardThreeDSecureNetworkOptionsCartesBancairesOptions] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentPaymentMethodOptionsCardThreeDSecureOptions(INestedOptions):
ares_trans_status: Optional[str] = None
cryptogram: Optional[str] = None
electronic_commerce_indicator: Optional[str] = None
exemption_indicator: Optional[str] = None
network_options: Optional[PaymentIntentPaymentMethodOptionsCardThreeDSecureNetworkOptionsOptions] = None
requestor_challenge_indicator: Optional[str] = None
transaction_id: Optional[str] = None
version: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentPaymentMethodOptionsCardOptions(INestedOptions):
capture_method: Optional[str] = None
cvc_token: Optional[str] = None
installments: Optional[PaymentIntentPaymentMethodOptionsCardInstallmentsOptions] = None
mandate_options: Optional[PaymentIntentPaymentMethodOptionsCardMandateOptionsOptions] = None
moto: Optional[bool] = None
network: Optional[str] = None
request_extended_authorization: Optional[str] = None
request_incremental_authorization: Optional[str] = None
request_multicapture: Optional[str] = None
request_overcapture: Optional[str] = None
request_three_d_secure: Optional[str] = None
require_cvc_recollection: Optional[bool] = None
setup_future_usage: Optional[str] = None
statement_descriptor_suffix_kana: Optional[str] = None
statement_descriptor_suffix_kanji: Optional[str] = None
three_d_secure: Optional[PaymentIntentPaymentMethodOptionsCardThreeDSecureOptions] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentPaymentMethodOptionsCardPresentRoutingOptions(INestedOptions):
requested_priority: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentPaymentMethodOptionsCardPresentOptions(INestedOptions):
request_extended_authorization: Optional[bool] = None
request_incremental_authorization_support: Optional[bool] = None
routing: Optional[PaymentIntentPaymentMethodOptionsCardPresentRoutingOptions] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentPaymentMethodOptionsCashappOptions(INestedOptions):
capture_method: Optional[str] = None
setup_future_usage: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentPaymentMethodOptionsCustomerBalanceBankTransferEuBankTransferOptions(INestedOptions):
country: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentPaymentMethodOptionsCustomerBalanceBankTransferOptions(INestedOptions):
eu_bank_transfer: Optional[PaymentIntentPaymentMethodOptionsCustomerBalanceBankTransferEuBankTransferOptions] = None
requested_address_types: Optional[List[str]] = None
type: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentPaymentMethodOptionsCustomerBalanceOptions(INestedOptions):
bank_transfer: Optional[PaymentIntentPaymentMethodOptionsCustomerBalanceBankTransferOptions] = None
funding_type: Optional[str] = None
setup_future_usage: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentPaymentMethodOptionsEpsOptions(INestedOptions):
setup_future_usage: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentPaymentMethodOptionsFpxOptions(INestedOptions):
setup_future_usage: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentPaymentMethodOptionsGiropayOptions(INestedOptions):
setup_future_usage: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentPaymentMethodOptionsGrabpayOptions(INestedOptions):
setup_future_usage: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentPaymentMethodOptionsIdealOptions(INestedOptions):
setup_future_usage: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentPaymentMethodOptionsInteracPresentOptions(INestedOptions):
pass
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentPaymentMethodOptionsKlarnaOptions(INestedOptions):
capture_method: Optional[str] = None
preferred_locale: Optional[str] = None
setup_future_usage: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentPaymentMethodOptionsKonbiniOptions(INestedOptions):
confirmation_number: Optional[str] = None
expires_after_days: Optional[int] = None
expires_at: Optional[datetime.datetime] = None
product_description: Optional[str] = None
setup_future_usage: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentPaymentMethodOptionsLinkOptions(INestedOptions):
capture_method: Optional[str] = None
persistent_token: Optional[str] = None
setup_future_usage: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentPaymentMethodOptionsMobilepayOptions(INestedOptions):
capture_method: Optional[str] = None
setup_future_usage: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentPaymentMethodOptionsMultibancoOptions(INestedOptions):
setup_future_usage: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentPaymentMethodOptionsOxxoOptions(INestedOptions):
expires_after_days: Optional[int] = None
setup_future_usage: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentPaymentMethodOptionsP24Options(INestedOptions):
setup_future_usage: Optional[str] = None
tos_shown_and_accepted: Optional[bool] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentPaymentMethodOptionsPaynowOptions(INestedOptions):
setup_future_usage: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentPaymentMethodOptionsPaypalOptions(INestedOptions):
capture_method: Optional[str] = None
preferred_locale: Optional[str] = None
reference: Optional[str] = None
risk_correlation_id: Optional[str] = None
setup_future_usage: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentPaymentMethodOptionsPixOptions(INestedOptions):
expires_after_seconds: Optional[int] = None
expires_at: Optional[datetime.datetime] = None
setup_future_usage: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentPaymentMethodOptionsPromptpayOptions(INestedOptions):
setup_future_usage: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentPaymentMethodOptionsRevolutPayOptions(INestedOptions):
capture_method: Optional[str] = None
setup_future_usage: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentPaymentMethodOptionsSepaDebitMandateOptionsOptions(INestedOptions):
pass
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentPaymentMethodOptionsSepaDebitOptions(INestedOptions):
mandate_options: Optional[PaymentIntentPaymentMethodOptionsSepaDebitMandateOptionsOptions] = None
setup_future_usage: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentPaymentMethodOptionsSofortOptions(INestedOptions):
preferred_language: Optional[str] = None
setup_future_usage: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentPaymentMethodOptionsSwishOptions(INestedOptions):
reference: Optional[str] = None
setup_future_usage: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentPaymentMethodOptionsTwintOptions(INestedOptions):
setup_future_usage: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentPaymentMethodOptionsUsBankAccountFinancialConnectionsFiltersOptions(INestedOptions):
account_subcategories: Optional[List[str]] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentPaymentMethodOptionsUsBankAccountFinancialConnectionsOptions(INestedOptions):
filters: Optional[PaymentIntentPaymentMethodOptionsUsBankAccountFinancialConnectionsFiltersOptions] = None
permissions: Optional[List[str]] = None
prefetch: Optional[List[str]] = None
return_url: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentPaymentMethodOptionsUsBankAccountMandateOptionsOptions(INestedOptions):
collection_method: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentPaymentMethodOptionsUsBankAccountNetworksOptions(INestedOptions):
requested: Optional[List[str]] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentPaymentMethodOptionsUsBankAccountOptions(INestedOptions):
financial_connections: Optional[PaymentIntentPaymentMethodOptionsUsBankAccountFinancialConnectionsOptions] = None
mandate_options: Optional[PaymentIntentPaymentMethodOptionsUsBankAccountMandateOptionsOptions] = None
networks: Optional[PaymentIntentPaymentMethodOptionsUsBankAccountNetworksOptions] = None
preferred_settlement_speed: Optional[str] = None
setup_future_usage: Optional[str] = None
verification_method: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentPaymentMethodOptionsWechatPayOptions(INestedOptions):
app_id: Optional[str] = None
client: Optional[str] = None
setup_future_usage: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentPaymentMethodOptionsZipOptions(INestedOptions):
setup_future_usage: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentPaymentMethodOptionsOptions(INestedOptions):
acss_debit: Optional[PaymentIntentPaymentMethodOptionsAcssDebitOptions] = None
affirm: Optional[PaymentIntentPaymentMethodOptionsAffirmOptions] = None
afterpay_clearpay: Optional[PaymentIntentPaymentMethodOptionsAfterpayClearpayOptions] = None
alipay: Optional[PaymentIntentPaymentMethodOptionsAlipayOptions] = None
amazon_pay: Optional[PaymentIntentPaymentMethodOptionsAmazonPayOptions] = None
au_becs_debit: Optional[PaymentIntentPaymentMethodOptionsAuBecsDebitOptions] = None
bacs_debit: Optional[PaymentIntentPaymentMethodOptionsBacsDebitOptions] = None
bancontact: Optional[PaymentIntentPaymentMethodOptionsBancontactOptions] = None
blik: Optional[PaymentIntentPaymentMethodOptionsBlikOptions] = None
boleto: Optional[PaymentIntentPaymentMethodOptionsBoletoOptions] = None
card: Optional[PaymentIntentPaymentMethodOptionsCardOptions] = None
card_present: Optional[PaymentIntentPaymentMethodOptionsCardPresentOptions] = None
cashapp: Optional[PaymentIntentPaymentMethodOptionsCashappOptions] = None
customer_balance: Optional[PaymentIntentPaymentMethodOptionsCustomerBalanceOptions] = None
eps: Optional[PaymentIntentPaymentMethodOptionsEpsOptions] = None
fpx: Optional[PaymentIntentPaymentMethodOptionsFpxOptions] = None
giropay: Optional[PaymentIntentPaymentMethodOptionsGiropayOptions] = None
grabpay: Optional[PaymentIntentPaymentMethodOptionsGrabpayOptions] = None
ideal: Optional[PaymentIntentPaymentMethodOptionsIdealOptions] = None
interac_present: Optional[PaymentIntentPaymentMethodOptionsInteracPresentOptions] = None
klarna: Optional[PaymentIntentPaymentMethodOptionsKlarnaOptions] = None
konbini: Optional[PaymentIntentPaymentMethodOptionsKonbiniOptions] = None
link: Optional[PaymentIntentPaymentMethodOptionsLinkOptions] = None
mobilepay: Optional[PaymentIntentPaymentMethodOptionsMobilepayOptions] = None
multibanco: Optional[PaymentIntentPaymentMethodOptionsMultibancoOptions] = None
oxxo: Optional[PaymentIntentPaymentMethodOptionsOxxoOptions] = None
p24: Optional[PaymentIntentPaymentMethodOptionsP24Options] = None
paynow: Optional[PaymentIntentPaymentMethodOptionsPaynowOptions] = None
paypal: Optional[PaymentIntentPaymentMethodOptionsPaypalOptions] = None
pix: Optional[PaymentIntentPaymentMethodOptionsPixOptions] = None
promptpay: Optional[PaymentIntentPaymentMethodOptionsPromptpayOptions] = None
revolut_pay: Optional[PaymentIntentPaymentMethodOptionsRevolutPayOptions] = None
sepa_debit: Optional[PaymentIntentPaymentMethodOptionsSepaDebitOptions] = None
sofort: Optional[PaymentIntentPaymentMethodOptionsSofortOptions] = None
swish: Optional[PaymentIntentPaymentMethodOptionsSwishOptions] = None
twint: Optional[PaymentIntentPaymentMethodOptionsTwintOptions] = None
us_bank_account: Optional[PaymentIntentPaymentMethodOptionsUsBankAccountOptions] = None
wechat_pay: Optional[PaymentIntentPaymentMethodOptionsWechatPayOptions] = None
zip: Optional[PaymentIntentPaymentMethodOptionsZipOptions] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentRadarOptionsOptions(INestedOptions):
session: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentTransferDataOptions(INestedOptions):
amount: Optional[int] = None
destination: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentCreateOptions(BaseOptions, IHasMetadata):
amount: Optional[int] = None
application_fee_amount: Optional[int] = None
automatic_payment_methods: Optional[PaymentIntentAutomaticPaymentMethodsOptions] = None
capture_method: Optional[str] = None
confirm: Optional[bool] = None
confirmation_method: Optional[str] = None
confirmation_token: Optional[str] = None
currency: Optional[str] = None
customer: Optional[str] = None
description: Optional[str] = None
error_on_requires_action: Optional[bool] = None
mandate: Optional[str] = None
mandate_data: Optional[PaymentIntentMandateDataOptions] = None
metadata: Optional[Dict[str, str]] = None
off_session: Optional[bool] = None
on_behalf_of: Optional[str] = None
payment_method: Optional[str] = None
payment_method_configuration: Optional[str] = None
payment_method_data: Optional[PaymentIntentPaymentMethodDataOptions] = None
payment_method_options: Optional[PaymentIntentPaymentMethodOptionsOptions] = None
payment_method_types: Optional[List[str]] = None
radar_options: Optional[PaymentIntentRadarOptionsOptions] = None
receipt_email: Optional[str] = None
return_url: Optional[str] = None
setup_future_usage: Optional[str] = None
shipping: Optional[ChargeShippingOptions] = None
statement_descriptor: Optional[str] = None
statement_descriptor_suffix: Optional[str] = None
transfer_data: Optional[PaymentIntentTransferDataOptions] = None
transfer_group: Optional[str] = None
use_stripe_sdk: Optional[bool] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class CustomerCashBalanceSettingsOptions(INestedOptions):
reconciliation_mode: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class CustomerCashBalanceOptions(INestedOptions):
settings: Optional[CustomerCashBalanceSettingsOptions] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class CustomerInvoiceSettingsCustomFieldOptions(INestedOptions):
name: Optional[str] = None
value: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class CustomerInvoiceSettingsRenderingOptionsOptions(INestedOptions):
amount_tax_display: Optional[str] = None
template: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class CustomerInvoiceSettingsOptions(INestedOptions):
custom_fields: Optional[List[CustomerInvoiceSettingsCustomFieldOptions]] = None
default_payment_method: Optional[str] = None
footer: Optional[str] = None
rendering_options: Optional[CustomerInvoiceSettingsRenderingOptionsOptions] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class ShippingOptions(INestedOptions):
address: Optional[AddressOptions] = None
name: Optional[str] = None
phone: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class CardCreateNestedOptions(INestedOptions, IHasMetadata, IHasObject):
address_city: Optional[str] = None
address_country: Optional[str] = None
address_line1: Optional[str] = None
address_line2: Optional[str] = None
address_state: Optional[str] = None
address_zip: Optional[str] = None
currency: Optional[str] = None
cvc: Optional[str] = None
exp_month: Optional[int] = None
exp_year: Optional[int] = None
metadata: Optional[Dict[str, str]] = None
name: Optional[str] = None
number: Optional[str] = None
object: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class CustomerTaxOptions(INestedOptions):
ip_address: Optional[str] = None
validate_location: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class CustomerTaxIdDataOptions(INestedOptions):
type: Optional[str] = None
value: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class CustomerCreateOptions(BaseOptions, IHasMetadata):
address: Optional[AddressOptions] = None
balance: Optional[int] = None
cash_balance: Optional[CustomerCashBalanceOptions] = None
coupon: Optional[str] = None
description: Optional[str] = None
email: Optional[str] = None
invoice_prefix: Optional[str] = None
invoice_settings: Optional[CustomerInvoiceSettingsOptions] = None
metadata: Optional[Dict[str, str]] = None
name: Optional[str] = None
next_invoice_sequence: Optional[int] = None
payment_method: Optional[str] = None
phone: Optional[str] = None
plan: Optional[str] = None
preferred_locales: Optional[List[str]] = None
promotion_code: Optional[str] = None
shipping: Optional[ShippingOptions] = None
source: Optional[AnyOf2[str, CardCreateNestedOptions]] = None
tax: Optional[CustomerTaxOptions] = None
tax_exempt: Optional[str] = None
tax_id_data: Optional[List[CustomerTaxIdDataOptions]] = None
test_clock: Optional[str] = None
validate: Optional[bool] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class StripeCreatePaymentOptions:
session_create_options: Optional[SessionCreateOptions] = None
payment_intent_create_options: Optional[PaymentIntentCreateOptions] = None
customer_create_options: Optional[CustomerCreateOptions] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class RequestOptions:
api_key: Optional[str] = None
idempotency_key: Optional[str] = None
stripe_account: Optional[str] = None
stripe_context: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class StripeCreateCheckoutQuery:
checkout_data: Optional[StripeCreatePaymentOptions] = None
request_options: Optional[RequestOptions] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionAfterExpirationRecovery(StripeEntity1["SessionAfterExpirationRecovery"]):
allow_promotion_codes: bool = False
enabled: bool = False
expires_at: Optional[datetime.datetime] = None
url: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionAfterExpiration(StripeEntity1["SessionAfterExpiration"]):
recovery: Optional[SessionAfterExpirationRecovery] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionAutomaticTaxLiability(StripeEntity1["SessionAutomaticTaxLiability"]):
type: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionAutomaticTax(StripeEntity1["SessionAutomaticTax"]):
enabled: bool = False
liability: Optional[SessionAutomaticTaxLiability] = None
status: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionConsent(StripeEntity1["SessionConsent"]):
promotions: Optional[str] = None
terms_of_service: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionConsentCollectionPaymentMethodReuseAgreement(StripeEntity1["SessionConsentCollectionPaymentMethodReuseAgreement"]):
position: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionConsentCollection(StripeEntity1["SessionConsentCollection"]):
payment_method_reuse_agreement: Optional[SessionConsentCollectionPaymentMethodReuseAgreement] = None
promotions: Optional[str] = None
terms_of_service: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionCurrencyConversion(StripeEntity1["SessionCurrencyConversion"]):
amount_subtotal: int = 0
amount_total: int = 0
fx_rate: Decimal = decimal.Decimal(0)
source_currency: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionCustomFieldDropdownOption(StripeEntity1["SessionCustomFieldDropdownOption"]):
label: Optional[str] = None
value: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionCustomFieldDropdown(StripeEntity1["SessionCustomFieldDropdown"]):
default_value: Optional[str] = None
options: Optional[List[SessionCustomFieldDropdownOption]] = None
value: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionCustomFieldLabel(StripeEntity1["SessionCustomFieldLabel"]):
custom: Optional[str] = None
type: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionCustomFieldNumeric(StripeEntity1["SessionCustomFieldNumeric"]):
default_value: Optional[str] = None
maximum_length: Optional[int] = None
minimum_length: Optional[int] = None
value: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionCustomFieldText(StripeEntity1["SessionCustomFieldText"]):
default_value: Optional[str] = None
maximum_length: Optional[int] = None
minimum_length: Optional[int] = None
value: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionCustomField(StripeEntity1["SessionCustomField"]):
dropdown: Optional[SessionCustomFieldDropdown] = None
key: Optional[str] = None
label: Optional[SessionCustomFieldLabel] = None
numeric: Optional[SessionCustomFieldNumeric] = None
optional: bool = False
text: Optional[SessionCustomFieldText] = None
type: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionCustomTextAfterSubmit(StripeEntity1["SessionCustomTextAfterSubmit"]):
message: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionCustomTextShippingAddress(StripeEntity1["SessionCustomTextShippingAddress"]):
message: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionCustomTextSubmit(StripeEntity1["SessionCustomTextSubmit"]):
message: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionCustomTextTermsOfServiceAcceptance(StripeEntity1["SessionCustomTextTermsOfServiceAcceptance"]):
message: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionCustomText(StripeEntity1["SessionCustomText"]):
after_submit: Optional[SessionCustomTextAfterSubmit] = None
shipping_address: Optional[SessionCustomTextShippingAddress] = None
submit: Optional[SessionCustomTextSubmit] = None
terms_of_service_acceptance: Optional[SessionCustomTextTermsOfServiceAcceptance] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionCustomerDetailsTaxId(StripeEntity1["SessionCustomerDetailsTaxId"]):
type: Optional[str] = None
value: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionCustomerDetails(StripeEntity1["SessionCustomerDetails"]):
address: Optional[Address] = None
email: Optional[str] = None
name: Optional[str] = None
phone: Optional[str] = None
tax_exempt: Optional[str] = None
tax_ids: Optional[List[SessionCustomerDetailsTaxId]] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionInvoiceCreationInvoiceDataCustomField(StripeEntity1["SessionInvoiceCreationInvoiceDataCustomField"]):
name: Optional[str] = None
value: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionInvoiceCreationInvoiceDataIssuer(StripeEntity1["SessionInvoiceCreationInvoiceDataIssuer"]):
type: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionInvoiceCreationInvoiceDataRenderingOptions(StripeEntity1["SessionInvoiceCreationInvoiceDataRenderingOptions"]):
amount_tax_display: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionInvoiceCreationInvoiceData(StripeEntity1["SessionInvoiceCreationInvoiceData"], IHasMetadata):
custom_fields: Optional[List[SessionInvoiceCreationInvoiceDataCustomField]] = None
description: Optional[str] = None
footer: Optional[str] = None
issuer: Optional[SessionInvoiceCreationInvoiceDataIssuer] = None
metadata: Optional[Dict[str, str]] = None
rendering_options: Optional[SessionInvoiceCreationInvoiceDataRenderingOptions] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionInvoiceCreation(StripeEntity1["SessionInvoiceCreation"]):
enabled: bool = False
invoice_data: Optional[SessionInvoiceCreationInvoiceData] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class CouponAppliesTo(StripeEntity1["CouponAppliesTo"]):
products: Optional[List[str]] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class CouponCurrencyOptions(StripeEntity1["CouponCurrencyOptions"]):
amount_off: int = 0
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class Coupon(StripeEntity1["Coupon"], IHasId, IHasMetadata, IHasObject):
id: Optional[str] = None
object: Optional[str] = None
amount_off: Optional[int] = None
applies_to: Optional[CouponAppliesTo] = None
created: datetime.datetime = datetime.datetime(1, 1, 1)
currency: Optional[str] = None
currency_options: Optional[Dict[str, CouponCurrencyOptions]] = None
deleted: Optional[bool] = None
duration: Optional[str] = None
duration_in_months: Optional[int] = None
livemode: bool = False
max_redemptions: Optional[int] = None
metadata: Optional[Dict[str, str]] = None
name: Optional[str] = None
percent_off: Optional[Decimal] = None
redeem_by: Optional[datetime.datetime] = None
times_redeemed: int = 0
valid: bool = False
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class Discount(StripeEntity1["Discount"], IHasId, IHasObject):
id: Optional[str] = None
object: Optional[str] = None
checkout_session: Optional[str] = None
coupon: Optional[Coupon] = None
deleted: Optional[bool] = None
end: Optional[datetime.datetime] = None
invoice: Optional[str] = None
invoice_item: Optional[str] = None
start: datetime.datetime = datetime.datetime(1, 1, 1)
subscription: Optional[str] = None
subscription_item: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class LineItemDiscount(StripeEntity1["LineItemDiscount"]):
amount: int = 0
discount: Optional[Discount] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PriceCurrencyOptionsCustomUnitAmount(StripeEntity1["PriceCurrencyOptionsCustomUnitAmount"]):
maximum: Optional[int] = None
minimum: Optional[int] = None
preset: Optional[int] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PriceCurrencyOptionsTier(StripeEntity1["PriceCurrencyOptionsTier"]):
flat_amount: Optional[int] = None
flat_amount_decimal: Optional[Decimal] = None
unit_amount: Optional[int] = None
unit_amount_decimal: Optional[Decimal] = None
up_to: Optional[int] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PriceCurrencyOptions(StripeEntity1["PriceCurrencyOptions"]):
custom_unit_amount: Optional[PriceCurrencyOptionsCustomUnitAmount] = None
tax_behavior: Optional[str] = None
tiers: Optional[List[PriceCurrencyOptionsTier]] = None
unit_amount: Optional[int] = None
unit_amount_decimal: Optional[Decimal] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PriceCustomUnitAmount(StripeEntity1["PriceCustomUnitAmount"]):
maximum: Optional[int] = None
minimum: Optional[int] = None
preset: Optional[int] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PriceRecurring(StripeEntity1["PriceRecurring"]):
aggregate_usage: Optional[str] = None
interval: Optional[str] = None
interval_count: int = 0
meter: Optional[str] = None
trial_period_days: Optional[int] = None
usage_type: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PriceTier(StripeEntity1["PriceTier"]):
flat_amount: Optional[int] = None
flat_amount_decimal: Optional[Decimal] = None
unit_amount: Optional[int] = None
unit_amount_decimal: Optional[Decimal] = None
up_to: Optional[int] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PriceTransformQuantity(StripeEntity1["PriceTransformQuantity"]):
divide_by: int = 0
round: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class Price(StripeEntity1["Price"], IHasId, IHasMetadata, IHasObject):
id: Optional[str] = None
object: Optional[str] = None
active: bool = False
billing_scheme: Optional[str] = None
created: datetime.datetime = datetime.datetime(1, 1, 1)
currency: Optional[str] = None
currency_options: Optional[Dict[str, PriceCurrencyOptions]] = None
custom_unit_amount: Optional[PriceCustomUnitAmount] = None
deleted: Optional[bool] = None
livemode: bool = False
lookup_key: Optional[str] = None
metadata: Optional[Dict[str, str]] = None
nickname: Optional[str] = None
recurring: Optional[PriceRecurring] = None
tax_behavior: Optional[str] = None
tiers: Optional[List[PriceTier]] = None
tiers_mode: Optional[str] = None
transform_quantity: Optional[PriceTransformQuantity] = None
type: Optional[str] = None
unit_amount: Optional[int] = None
unit_amount_decimal: Optional[Decimal] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class TaxRate(StripeEntity1["TaxRate"], IHasId, IHasMetadata, IHasObject):
id: Optional[str] = None
object: Optional[str] = None
active: bool = False
country: Optional[str] = None
created: datetime.datetime = datetime.datetime(1, 1, 1)
description: Optional[str] = None
display_name: Optional[str] = None
effective_percentage: Optional[Decimal] = None
inclusive: bool = False
jurisdiction: Optional[str] = None
jurisdiction_level: Optional[str] = None
livemode: bool = False
metadata: Optional[Dict[str, str]] = None
percentage: Decimal = decimal.Decimal(0)
state: Optional[str] = None
tax_type: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class LineItemTax(StripeEntity1["LineItemTax"]):
amount: int = 0
rate: Optional[TaxRate] = None
taxability_reason: Optional[str] = None
taxable_amount: Optional[int] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class LineItem(StripeEntity1["LineItem"], IHasId, IHasObject):
id: Optional[str] = None
object: Optional[str] = None
amount_discount: int = 0
amount_subtotal: int = 0
amount_tax: int = 0
amount_total: int = 0
currency: Optional[str] = None
deleted: Optional[bool] = None
description: Optional[str] = None
discounts: Optional[List[LineItemDiscount]] = None
price: Optional[Price] = None
quantity: Optional[int] = None
taxes: Optional[List[LineItemTax]] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionPaymentMethodConfigurationDetails(StripeEntity1["SessionPaymentMethodConfigurationDetails"], IHasId):
id: Optional[str] = None
parent: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionPaymentMethodOptionsAcssDebitMandateOptions(StripeEntity1["SessionPaymentMethodOptionsAcssDebitMandateOptions"]):
custom_mandate_url: Optional[str] = None
default_for: Optional[List[str]] = None
interval_description: Optional[str] = None
payment_schedule: Optional[str] = None
transaction_type: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionPaymentMethodOptionsAcssDebit(StripeEntity1["SessionPaymentMethodOptionsAcssDebit"]):
currency: Optional[str] = None
mandate_options: Optional[SessionPaymentMethodOptionsAcssDebitMandateOptions] = None
setup_future_usage: Optional[str] = None
verification_method: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionPaymentMethodOptionsAffirm(StripeEntity1["SessionPaymentMethodOptionsAffirm"]):
setup_future_usage: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionPaymentMethodOptionsAfterpayClearpay(StripeEntity1["SessionPaymentMethodOptionsAfterpayClearpay"]):
setup_future_usage: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionPaymentMethodOptionsAlipay(StripeEntity1["SessionPaymentMethodOptionsAlipay"]):
setup_future_usage: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionPaymentMethodOptionsAmazonPay(StripeEntity1["SessionPaymentMethodOptionsAmazonPay"]):
setup_future_usage: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionPaymentMethodOptionsAuBecsDebit(StripeEntity1["SessionPaymentMethodOptionsAuBecsDebit"]):
setup_future_usage: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionPaymentMethodOptionsBacsDebit(StripeEntity1["SessionPaymentMethodOptionsBacsDebit"]):
setup_future_usage: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionPaymentMethodOptionsBancontact(StripeEntity1["SessionPaymentMethodOptionsBancontact"]):
setup_future_usage: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionPaymentMethodOptionsBoleto(StripeEntity1["SessionPaymentMethodOptionsBoleto"]):
expires_after_days: int = 0
setup_future_usage: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionPaymentMethodOptionsCardInstallments(StripeEntity1["SessionPaymentMethodOptionsCardInstallments"]):
enabled: bool = False
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionPaymentMethodOptionsCard(StripeEntity1["SessionPaymentMethodOptionsCard"]):
installments: Optional[SessionPaymentMethodOptionsCardInstallments] = None
request_three_d_secure: Optional[str] = None
setup_future_usage: Optional[str] = None
statement_descriptor_suffix_kana: Optional[str] = None
statement_descriptor_suffix_kanji: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionPaymentMethodOptionsCashapp(StripeEntity1["SessionPaymentMethodOptionsCashapp"]):
setup_future_usage: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionPaymentMethodOptionsCustomerBalanceBankTransferEuBankTransfer(StripeEntity1["SessionPaymentMethodOptionsCustomerBalanceBankTransferEuBankTransfer"]):
country: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionPaymentMethodOptionsCustomerBalanceBankTransfer(StripeEntity1["SessionPaymentMethodOptionsCustomerBalanceBankTransfer"]):
eu_bank_transfer: Optional[SessionPaymentMethodOptionsCustomerBalanceBankTransferEuBankTransfer] = None
requested_address_types: Optional[List[str]] = None
type: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionPaymentMethodOptionsCustomerBalance(StripeEntity1["SessionPaymentMethodOptionsCustomerBalance"]):
bank_transfer: Optional[SessionPaymentMethodOptionsCustomerBalanceBankTransfer] = None
funding_type: Optional[str] = None
setup_future_usage: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionPaymentMethodOptionsEps(StripeEntity1["SessionPaymentMethodOptionsEps"]):
setup_future_usage: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionPaymentMethodOptionsFpx(StripeEntity1["SessionPaymentMethodOptionsFpx"]):
setup_future_usage: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionPaymentMethodOptionsGiropay(StripeEntity1["SessionPaymentMethodOptionsGiropay"]):
setup_future_usage: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionPaymentMethodOptionsGrabpay(StripeEntity1["SessionPaymentMethodOptionsGrabpay"]):
setup_future_usage: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionPaymentMethodOptionsIdeal(StripeEntity1["SessionPaymentMethodOptionsIdeal"]):
setup_future_usage: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionPaymentMethodOptionsKlarna(StripeEntity1["SessionPaymentMethodOptionsKlarna"]):
setup_future_usage: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionPaymentMethodOptionsKonbini(StripeEntity1["SessionPaymentMethodOptionsKonbini"]):
expires_after_days: Optional[int] = None
setup_future_usage: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionPaymentMethodOptionsLink(StripeEntity1["SessionPaymentMethodOptionsLink"]):
setup_future_usage: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionPaymentMethodOptionsMobilepay(StripeEntity1["SessionPaymentMethodOptionsMobilepay"]):
setup_future_usage: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionPaymentMethodOptionsMultibanco(StripeEntity1["SessionPaymentMethodOptionsMultibanco"]):
setup_future_usage: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionPaymentMethodOptionsOxxo(StripeEntity1["SessionPaymentMethodOptionsOxxo"]):
expires_after_days: int = 0
setup_future_usage: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionPaymentMethodOptionsP24(StripeEntity1["SessionPaymentMethodOptionsP24"]):
setup_future_usage: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionPaymentMethodOptionsPaynow(StripeEntity1["SessionPaymentMethodOptionsPaynow"]):
setup_future_usage: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionPaymentMethodOptionsPaypal(StripeEntity1["SessionPaymentMethodOptionsPaypal"]):
capture_method: Optional[str] = None
preferred_locale: Optional[str] = None
reference: Optional[str] = None
setup_future_usage: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionPaymentMethodOptionsPix(StripeEntity1["SessionPaymentMethodOptionsPix"]):
expires_after_seconds: Optional[int] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionPaymentMethodOptionsRevolutPay(StripeEntity1["SessionPaymentMethodOptionsRevolutPay"]):
setup_future_usage: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionPaymentMethodOptionsSepaDebit(StripeEntity1["SessionPaymentMethodOptionsSepaDebit"]):
setup_future_usage: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionPaymentMethodOptionsSofort(StripeEntity1["SessionPaymentMethodOptionsSofort"]):
setup_future_usage: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionPaymentMethodOptionsSwish(StripeEntity1["SessionPaymentMethodOptionsSwish"]):
reference: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionPaymentMethodOptionsUsBankAccountFinancialConnectionsFilters(StripeEntity1["SessionPaymentMethodOptionsUsBankAccountFinancialConnectionsFilters"]):
account_subcategories: Optional[List[str]] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionPaymentMethodOptionsUsBankAccountFinancialConnections(StripeEntity1["SessionPaymentMethodOptionsUsBankAccountFinancialConnections"]):
filters: Optional[SessionPaymentMethodOptionsUsBankAccountFinancialConnectionsFilters] = None
permissions: Optional[List[str]] = None
prefetch: Optional[List[str]] = None
return_url: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionPaymentMethodOptionsUsBankAccount(StripeEntity1["SessionPaymentMethodOptionsUsBankAccount"]):
financial_connections: Optional[SessionPaymentMethodOptionsUsBankAccountFinancialConnections] = None
setup_future_usage: Optional[str] = None
verification_method: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionPaymentMethodOptions(StripeEntity1["SessionPaymentMethodOptions"]):
acss_debit: Optional[SessionPaymentMethodOptionsAcssDebit] = None
affirm: Optional[SessionPaymentMethodOptionsAffirm] = None
afterpay_clearpay: Optional[SessionPaymentMethodOptionsAfterpayClearpay] = None
alipay: Optional[SessionPaymentMethodOptionsAlipay] = None
amazon_pay: Optional[SessionPaymentMethodOptionsAmazonPay] = None
au_becs_debit: Optional[SessionPaymentMethodOptionsAuBecsDebit] = None
bacs_debit: Optional[SessionPaymentMethodOptionsBacsDebit] = None
bancontact: Optional[SessionPaymentMethodOptionsBancontact] = None
boleto: Optional[SessionPaymentMethodOptionsBoleto] = None
card: Optional[SessionPaymentMethodOptionsCard] = None
cashapp: Optional[SessionPaymentMethodOptionsCashapp] = None
customer_balance: Optional[SessionPaymentMethodOptionsCustomerBalance] = None
eps: Optional[SessionPaymentMethodOptionsEps] = None
fpx: Optional[SessionPaymentMethodOptionsFpx] = None
giropay: Optional[SessionPaymentMethodOptionsGiropay] = None
grabpay: Optional[SessionPaymentMethodOptionsGrabpay] = None
ideal: Optional[SessionPaymentMethodOptionsIdeal] = None
klarna: Optional[SessionPaymentMethodOptionsKlarna] = None
konbini: Optional[SessionPaymentMethodOptionsKonbini] = None
link: Optional[SessionPaymentMethodOptionsLink] = None
mobilepay: Optional[SessionPaymentMethodOptionsMobilepay] = None
multibanco: Optional[SessionPaymentMethodOptionsMultibanco] = None
oxxo: Optional[SessionPaymentMethodOptionsOxxo] = None
p24: Optional[SessionPaymentMethodOptionsP24] = None
paynow: Optional[SessionPaymentMethodOptionsPaynow] = None
paypal: Optional[SessionPaymentMethodOptionsPaypal] = None
pix: Optional[SessionPaymentMethodOptionsPix] = None
revolut_pay: Optional[SessionPaymentMethodOptionsRevolutPay] = None
sepa_debit: Optional[SessionPaymentMethodOptionsSepaDebit] = None
sofort: Optional[SessionPaymentMethodOptionsSofort] = None
swish: Optional[SessionPaymentMethodOptionsSwish] = None
us_bank_account: Optional[SessionPaymentMethodOptionsUsBankAccount] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionPhoneNumberCollection(StripeEntity1["SessionPhoneNumberCollection"]):
enabled: bool = False
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionSavedPaymentMethodOptions(StripeEntity1["SessionSavedPaymentMethodOptions"]):
allow_redisplay_filters: Optional[List[str]] = None
payment_method_remove: Optional[str] = None
payment_method_save: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionShippingAddressCollection(StripeEntity1["SessionShippingAddressCollection"]):
allowed_countries: Optional[List[str]] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionShippingCostTax(StripeEntity1["SessionShippingCostTax"]):
amount: int = 0
rate: Optional[TaxRate] = None
taxability_reason: Optional[str] = None
taxable_amount: Optional[int] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionShippingCost(StripeEntity1["SessionShippingCost"]):
amount_subtotal: int = 0
amount_tax: int = 0
amount_total: int = 0
taxes: Optional[List[SessionShippingCostTax]] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionShippingDetails(StripeEntity1["SessionShippingDetails"]):
address: Optional[Address] = None
carrier: Optional[str] = None
name: Optional[str] = None
phone: Optional[str] = None
tracking_number: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionShippingOption(StripeEntity1["SessionShippingOption"]):
shipping_amount: int = 0
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionTaxIdCollection(StripeEntity1["SessionTaxIdCollection"]):
enabled: bool = False
required: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionTotalDetailsBreakdownDiscount(StripeEntity1["SessionTotalDetailsBreakdownDiscount"]):
amount: int = 0
discount: Optional[Discount] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionTotalDetailsBreakdownTax(StripeEntity1["SessionTotalDetailsBreakdownTax"]):
amount: int = 0
rate: Optional[TaxRate] = None
taxability_reason: Optional[str] = None
taxable_amount: Optional[int] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionTotalDetailsBreakdown(StripeEntity1["SessionTotalDetailsBreakdown"]):
discounts: Optional[List[SessionTotalDetailsBreakdownDiscount]] = None
taxes: Optional[List[SessionTotalDetailsBreakdownTax]] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionTotalDetails(StripeEntity1["SessionTotalDetails"]):
amount_discount: int = 0
amount_shipping: Optional[int] = None
amount_tax: int = 0
breakdown: Optional[SessionTotalDetailsBreakdown] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class Session(StripeEntity1["Session"], IHasId, IHasMetadata, IHasObject):
id: Optional[str] = None
object: Optional[str] = None
after_expiration: Optional[SessionAfterExpiration] = None
allow_promotion_codes: Optional[bool] = None
amount_subtotal: Optional[int] = None
amount_total: Optional[int] = None
automatic_tax: Optional[SessionAutomaticTax] = None
billing_address_collection: Optional[str] = None
cancel_url: Optional[str] = None
client_reference_id: Optional[str] = None
client_secret: Optional[str] = None
consent: Optional[SessionConsent] = None
consent_collection: Optional[SessionConsentCollection] = None
created: datetime.datetime = datetime.datetime(1, 1, 1)
currency: Optional[str] = None
currency_conversion: Optional[SessionCurrencyConversion] = None
custom_fields: Optional[List[SessionCustomField]] = None
custom_text: Optional[SessionCustomText] = None
customer_creation: Optional[str] = None
customer_details: Optional[SessionCustomerDetails] = None
customer_email: Optional[str] = None
expires_at: datetime.datetime = datetime.datetime(1, 1, 1)
invoice_creation: Optional[SessionInvoiceCreation] = None
line_items: Optional[StripeList[LineItem]] = None
livemode: bool = False
locale: Optional[str] = None
metadata: Optional[Dict[str, str]] = None
mode: Optional[str] = None
payment_method_collection: Optional[str] = None
payment_method_configuration_details: Optional[SessionPaymentMethodConfigurationDetails] = None
payment_method_options: Optional[SessionPaymentMethodOptions] = None
payment_method_types: Optional[List[str]] = None
payment_status: Optional[str] = None
phone_number_collection: Optional[SessionPhoneNumberCollection] = None
recovered_from: Optional[str] = None
redirect_on_completion: Optional[str] = None
return_url: Optional[str] = None
saved_payment_method_options: Optional[SessionSavedPaymentMethodOptions] = None
shipping_address_collection: Optional[SessionShippingAddressCollection] = None
shipping_cost: Optional[SessionShippingCost] = None
shipping_details: Optional[SessionShippingDetails] = None
shipping_options: Optional[List[SessionShippingOption]] = None
status: Optional[str] = None
submit_type: Optional[str] = None
success_url: Optional[str] = None
tax_id_collection: Optional[SessionTaxIdCollection] = None
total_details: Optional[SessionTotalDetails] = None
ui_mode: Optional[str] = None
url: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentAmountDetailsTip(StripeEntity1["PaymentIntentAmountDetailsTip"]):
amount: int = 0
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentAmountDetails(StripeEntity1["PaymentIntentAmountDetails"]):
tip: Optional[PaymentIntentAmountDetailsTip] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentAutomaticPaymentMethods(StripeEntity1["PaymentIntentAutomaticPaymentMethods"]):
allow_redirects: Optional[str] = None
enabled: bool = False
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentMethodAcssDebit(StripeEntity1["PaymentMethodAcssDebit"]):
bank_name: Optional[str] = None
fingerprint: Optional[str] = None
institution_number: Optional[str] = None
last4: Optional[str] = None
transit_number: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentMethodAffirm(StripeEntity1["PaymentMethodAffirm"]):
pass
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentMethodAfterpayClearpay(StripeEntity1["PaymentMethodAfterpayClearpay"]):
pass
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentMethodAlipay(StripeEntity1["PaymentMethodAlipay"]):
pass
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentMethodAmazonPay(StripeEntity1["PaymentMethodAmazonPay"]):
pass
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentMethodAuBecsDebit(StripeEntity1["PaymentMethodAuBecsDebit"]):
bsb_number: Optional[str] = None
fingerprint: Optional[str] = None
last4: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentMethodBacsDebit(StripeEntity1["PaymentMethodBacsDebit"]):
fingerprint: Optional[str] = None
last4: Optional[str] = None
sort_code: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentMethodBancontact(StripeEntity1["PaymentMethodBancontact"]):
pass
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentMethodBillingDetails(StripeEntity1["PaymentMethodBillingDetails"]):
address: Optional[Address] = None
email: Optional[str] = None
name: Optional[str] = None
phone: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentMethodBlik(StripeEntity1["PaymentMethodBlik"]):
pass
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentMethodBoleto(StripeEntity1["PaymentMethodBoleto"]):
tax_id: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentMethodCardChecks(StripeEntity1["PaymentMethodCardChecks"]):
address_line1_check: Optional[str] = None
address_postal_code_check: Optional[str] = None
cvc_check: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentMethodCardGeneratedFromPaymentMethodDetailsCardPresentOffline(StripeEntity1["PaymentMethodCardGeneratedFromPaymentMethodDetailsCardPresentOffline"]):
stored_at: Optional[datetime.datetime] = None
type: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentMethodCardGeneratedFromPaymentMethodDetailsCardPresentReceipt(StripeEntity1["PaymentMethodCardGeneratedFromPaymentMethodDetailsCardPresentReceipt"]):
account_type: Optional[str] = None
application_cryptogram: Optional[str] = None
application_preferred_name: Optional[str] = None
authorization_code: Optional[str] = None
authorization_response_code: Optional[str] = None
cardholder_verification_method: Optional[str] = None
dedicated_file_name: Optional[str] = None
terminal_verification_results: Optional[str] = None
transaction_status_information: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentMethodCardGeneratedFromPaymentMethodDetailsCardPresentWallet(StripeEntity1["PaymentMethodCardGeneratedFromPaymentMethodDetailsCardPresentWallet"]):
type: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentMethodCardGeneratedFromPaymentMethodDetailsCardPresent(StripeEntity1["PaymentMethodCardGeneratedFromPaymentMethodDetailsCardPresent"]):
amount_authorized: Optional[int] = None
brand: Optional[str] = None
brand_product: Optional[str] = None
capture_before: datetime.datetime = datetime.datetime(1, 1, 1)
cardholder_name: Optional[str] = None
country: Optional[str] = None
description: Optional[str] = None
emv_auth_data: Optional[str] = None
exp_month: int = 0
exp_year: int = 0
fingerprint: Optional[str] = None
funding: Optional[str] = None
generated_card: Optional[str] = None
iin: Optional[str] = None
incremental_authorization_supported: bool = False
issuer: Optional[str] = None
last4: Optional[str] = None
network: Optional[str] = None
network_transaction_id: Optional[str] = None
offline: Optional[PaymentMethodCardGeneratedFromPaymentMethodDetailsCardPresentOffline] = None
overcapture_supported: bool = False
preferred_locales: Optional[List[str]] = None
read_method: Optional[str] = None
receipt: Optional[PaymentMethodCardGeneratedFromPaymentMethodDetailsCardPresentReceipt] = None
wallet: Optional[PaymentMethodCardGeneratedFromPaymentMethodDetailsCardPresentWallet] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentMethodCardGeneratedFromPaymentMethodDetails(StripeEntity1["PaymentMethodCardGeneratedFromPaymentMethodDetails"]):
card_present: Optional[PaymentMethodCardGeneratedFromPaymentMethodDetailsCardPresent] = None
type: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentMethodCardGeneratedFrom(StripeEntity1["PaymentMethodCardGeneratedFrom"]):
charge: Optional[str] = None
payment_method_details: Optional[PaymentMethodCardGeneratedFromPaymentMethodDetails] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentMethodCardNetworks(StripeEntity1["PaymentMethodCardNetworks"]):
available: Optional[List[str]] = None
preferred: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentMethodCardThreeDSecureUsage(StripeEntity1["PaymentMethodCardThreeDSecureUsage"]):
supported: bool = False
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentMethodCardWalletAmexExpressCheckout(StripeEntity1["PaymentMethodCardWalletAmexExpressCheckout"]):
pass
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentMethodCardWalletApplePay(StripeEntity1["PaymentMethodCardWalletApplePay"]):
pass
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentMethodCardWalletGooglePay(StripeEntity1["PaymentMethodCardWalletGooglePay"]):
pass
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentMethodCardWalletLink(StripeEntity1["PaymentMethodCardWalletLink"]):
pass
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentMethodCardWalletMasterpass(StripeEntity1["PaymentMethodCardWalletMasterpass"]):
billing_address: Optional[Address] = None
email: Optional[str] = None
name: Optional[str] = None
shipping_address: Optional[Address] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentMethodCardWalletSamsungPay(StripeEntity1["PaymentMethodCardWalletSamsungPay"]):
pass
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentMethodCardWalletVisaCheckout(StripeEntity1["PaymentMethodCardWalletVisaCheckout"]):
billing_address: Optional[Address] = None
email: Optional[str] = None
name: Optional[str] = None
shipping_address: Optional[Address] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentMethodCardWallet(StripeEntity1["PaymentMethodCardWallet"]):
amex_express_checkout: Optional[PaymentMethodCardWalletAmexExpressCheckout] = None
apple_pay: Optional[PaymentMethodCardWalletApplePay] = None
dynamic_last4: Optional[str] = None
google_pay: Optional[PaymentMethodCardWalletGooglePay] = None
link: Optional[PaymentMethodCardWalletLink] = None
masterpass: Optional[PaymentMethodCardWalletMasterpass] = None
samsung_pay: Optional[PaymentMethodCardWalletSamsungPay] = None
type: Optional[str] = None
visa_checkout: Optional[PaymentMethodCardWalletVisaCheckout] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentMethodCard(StripeEntity1["PaymentMethodCard"]):
brand: Optional[str] = None
checks: Optional[PaymentMethodCardChecks] = None
country: Optional[str] = None
description: Optional[str] = None
display_brand: Optional[str] = None
exp_month: int = 0
exp_year: int = 0
fingerprint: Optional[str] = None
funding: Optional[str] = None
generated_from: Optional[PaymentMethodCardGeneratedFrom] = None
iin: Optional[str] = None
issuer: Optional[str] = None
last4: Optional[str] = None
networks: Optional[PaymentMethodCardNetworks] = None
three_d_secure_usage: Optional[PaymentMethodCardThreeDSecureUsage] = None
wallet: Optional[PaymentMethodCardWallet] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentMethodCardPresentNetworks(StripeEntity1["PaymentMethodCardPresentNetworks"]):
available: Optional[List[str]] = None
preferred: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentMethodCardPresentOffline(StripeEntity1["PaymentMethodCardPresentOffline"]):
stored_at: Optional[datetime.datetime] = None
type: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentMethodCardPresentWallet(StripeEntity1["PaymentMethodCardPresentWallet"]):
type: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentMethodCardPresent(StripeEntity1["PaymentMethodCardPresent"]):
brand: Optional[str] = None
brand_product: Optional[str] = None
cardholder_name: Optional[str] = None
country: Optional[str] = None
description: Optional[str] = None
exp_month: int = 0
exp_year: int = 0
fingerprint: Optional[str] = None
funding: Optional[str] = None
iin: Optional[str] = None
issuer: Optional[str] = None
last4: Optional[str] = None
networks: Optional[PaymentMethodCardPresentNetworks] = None
offline: Optional[PaymentMethodCardPresentOffline] = None
preferred_locales: Optional[List[str]] = None
read_method: Optional[str] = None
wallet: Optional[PaymentMethodCardPresentWallet] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentMethodCashapp(StripeEntity1["PaymentMethodCashapp"]):
buyer_id: Optional[str] = None
cashtag: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentMethodCustomerBalance(StripeEntity1["PaymentMethodCustomerBalance"]):
pass
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentMethodEps(StripeEntity1["PaymentMethodEps"]):
bank: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentMethodFpx(StripeEntity1["PaymentMethodFpx"]):
account_holder_type: Optional[str] = None
bank: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentMethodGiropay(StripeEntity1["PaymentMethodGiropay"]):
pass
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentMethodGrabpay(StripeEntity1["PaymentMethodGrabpay"]):
pass
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentMethodIdeal(StripeEntity1["PaymentMethodIdeal"]):
bank: Optional[str] = None
bic: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentMethodInteracPresentNetworks(StripeEntity1["PaymentMethodInteracPresentNetworks"]):
available: Optional[List[str]] = None
preferred: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentMethodInteracPresent(StripeEntity1["PaymentMethodInteracPresent"]):
brand: Optional[str] = None
cardholder_name: Optional[str] = None
country: Optional[str] = None
description: Optional[str] = None
exp_month: int = 0
exp_year: int = 0
fingerprint: Optional[str] = None
funding: Optional[str] = None
iin: Optional[str] = None
issuer: Optional[str] = None
last4: Optional[str] = None
networks: Optional[PaymentMethodInteracPresentNetworks] = None
preferred_locales: Optional[List[str]] = None
read_method: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentMethodKlarnaDob(StripeEntity1["PaymentMethodKlarnaDob"]):
day: Optional[int] = None
month: Optional[int] = None
year: Optional[int] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentMethodKlarna(StripeEntity1["PaymentMethodKlarna"]):
dob: Optional[PaymentMethodKlarnaDob] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentMethodKonbini(StripeEntity1["PaymentMethodKonbini"]):
pass
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentMethodLink(StripeEntity1["PaymentMethodLink"]):
email: Optional[str] = None
persistent_token: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentMethodMobilepay(StripeEntity1["PaymentMethodMobilepay"]):
pass
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentMethodMultibanco(StripeEntity1["PaymentMethodMultibanco"]):
pass
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentMethodOxxo(StripeEntity1["PaymentMethodOxxo"]):
pass
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentMethodP24(StripeEntity1["PaymentMethodP24"]):
bank: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentMethodPaynow(StripeEntity1["PaymentMethodPaynow"]):
pass
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentMethodPaypal(StripeEntity1["PaymentMethodPaypal"]):
payer_email: Optional[str] = None
payer_id: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentMethodPix(StripeEntity1["PaymentMethodPix"]):
pass
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentMethodPromptpay(StripeEntity1["PaymentMethodPromptpay"]):
pass
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentMethodRadarOptions(StripeEntity1["PaymentMethodRadarOptions"]):
session: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentMethodRevolutPay(StripeEntity1["PaymentMethodRevolutPay"]):
pass
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentMethodSepaDebitGeneratedFrom(StripeEntity1["PaymentMethodSepaDebitGeneratedFrom"]):
pass
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentMethodSepaDebit(StripeEntity1["PaymentMethodSepaDebit"]):
bank_code: Optional[str] = None
branch_code: Optional[str] = None
country: Optional[str] = None
fingerprint: Optional[str] = None
generated_from: Optional[PaymentMethodSepaDebitGeneratedFrom] = None
last4: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentMethodSofort(StripeEntity1["PaymentMethodSofort"]):
country: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentMethodSwish(StripeEntity1["PaymentMethodSwish"]):
pass
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentMethodTwint(StripeEntity1["PaymentMethodTwint"]):
pass
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentMethodUsBankAccountNetworks(StripeEntity1["PaymentMethodUsBankAccountNetworks"]):
preferred: Optional[str] = None
supported: Optional[List[str]] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentMethodUsBankAccountStatusDetailsBlocked(StripeEntity1["PaymentMethodUsBankAccountStatusDetailsBlocked"]):
network_code: Optional[str] = None
reason: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentMethodUsBankAccountStatusDetails(StripeEntity1["PaymentMethodUsBankAccountStatusDetails"]):
blocked: Optional[PaymentMethodUsBankAccountStatusDetailsBlocked] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentMethodUsBankAccount(StripeEntity1["PaymentMethodUsBankAccount"]):
account_holder_type: Optional[str] = None
account_type: Optional[str] = None
bank_name: Optional[str] = None
financial_connections_account: Optional[str] = None
fingerprint: Optional[str] = None
last4: Optional[str] = None
networks: Optional[PaymentMethodUsBankAccountNetworks] = None
routing_number: Optional[str] = None
status_details: Optional[PaymentMethodUsBankAccountStatusDetails] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentMethodWechatPay(StripeEntity1["PaymentMethodWechatPay"]):
pass
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentMethodZip(StripeEntity1["PaymentMethodZip"]):
pass
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentMethod(StripeEntity1["PaymentMethod"], IHasId, IHasMetadata, IHasObject):
id: Optional[str] = None
object: Optional[str] = None
acss_debit: Optional[PaymentMethodAcssDebit] = None
affirm: Optional[PaymentMethodAffirm] = None
afterpay_clearpay: Optional[PaymentMethodAfterpayClearpay] = None
alipay: Optional[PaymentMethodAlipay] = None
allow_redisplay: Optional[str] = None
amazon_pay: Optional[PaymentMethodAmazonPay] = None
au_becs_debit: Optional[PaymentMethodAuBecsDebit] = None
bacs_debit: Optional[PaymentMethodBacsDebit] = None
bancontact: Optional[PaymentMethodBancontact] = None
billing_details: Optional[PaymentMethodBillingDetails] = None
blik: Optional[PaymentMethodBlik] = None
boleto: Optional[PaymentMethodBoleto] = None
card: Optional[PaymentMethodCard] = None
card_present: Optional[PaymentMethodCardPresent] = None
cashapp: Optional[PaymentMethodCashapp] = None
created: datetime.datetime = datetime.datetime(1, 1, 1)
customer_balance: Optional[PaymentMethodCustomerBalance] = None
eps: Optional[PaymentMethodEps] = None
fpx: Optional[PaymentMethodFpx] = None
giropay: Optional[PaymentMethodGiropay] = None
grabpay: Optional[PaymentMethodGrabpay] = None
ideal: Optional[PaymentMethodIdeal] = None
interac_present: Optional[PaymentMethodInteracPresent] = None
klarna: Optional[PaymentMethodKlarna] = None
konbini: Optional[PaymentMethodKonbini] = None
link: Optional[PaymentMethodLink] = None
livemode: bool = False
metadata: Optional[Dict[str, str]] = None
mobilepay: Optional[PaymentMethodMobilepay] = None
multibanco: Optional[PaymentMethodMultibanco] = None
oxxo: Optional[PaymentMethodOxxo] = None
p24: Optional[PaymentMethodP24] = None
paynow: Optional[PaymentMethodPaynow] = None
paypal: Optional[PaymentMethodPaypal] = None
pix: Optional[PaymentMethodPix] = None
promptpay: Optional[PaymentMethodPromptpay] = None
radar_options: Optional[PaymentMethodRadarOptions] = None
revolut_pay: Optional[PaymentMethodRevolutPay] = None
sepa_debit: Optional[PaymentMethodSepaDebit] = None
sofort: Optional[PaymentMethodSofort] = None
swish: Optional[PaymentMethodSwish] = None
twint: Optional[PaymentMethodTwint] = None
type: Optional[str] = None
us_bank_account: Optional[PaymentMethodUsBankAccount] = None
wechat_pay: Optional[PaymentMethodWechatPay] = None
zip: Optional[PaymentMethodZip] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SetupIntentAutomaticPaymentMethods(StripeEntity1["SetupIntentAutomaticPaymentMethods"]):
allow_redirects: Optional[str] = None
enabled: Optional[bool] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SetupIntentNextActionCashappHandleRedirectOrDisplayQrCodeQrCode(StripeEntity1["SetupIntentNextActionCashappHandleRedirectOrDisplayQrCodeQrCode"]):
expires_at: datetime.datetime = datetime.datetime(1, 1, 1)
image_url_png: Optional[str] = None
image_url_svg: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SetupIntentNextActionCashappHandleRedirectOrDisplayQrCode(StripeEntity1["SetupIntentNextActionCashappHandleRedirectOrDisplayQrCode"]):
hosted_instructions_url: Optional[str] = None
mobile_auth_url: Optional[str] = None
qr_code: Optional[SetupIntentNextActionCashappHandleRedirectOrDisplayQrCodeQrCode] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SetupIntentNextActionRedirectToUrl(StripeEntity1["SetupIntentNextActionRedirectToUrl"]):
return_url: Optional[str] = None
url: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SetupIntentNextActionUseStripeSdk(StripeEntity1["SetupIntentNextActionUseStripeSdk"]):
pass
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SetupIntentNextActionVerifyWithMicrodeposits(StripeEntity1["SetupIntentNextActionVerifyWithMicrodeposits"]):
arrival_date: datetime.datetime = datetime.datetime(1, 1, 1)
hosted_verification_url: Optional[str] = None
microdeposit_type: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SetupIntentNextAction(StripeEntity1["SetupIntentNextAction"]):
cashapp_handle_redirect_or_display_qr_code: Optional[SetupIntentNextActionCashappHandleRedirectOrDisplayQrCode] = None
redirect_to_url: Optional[SetupIntentNextActionRedirectToUrl] = None
type: Optional[str] = None
use_stripe_sdk: Optional[SetupIntentNextActionUseStripeSdk] = None
verify_with_microdeposits: Optional[SetupIntentNextActionVerifyWithMicrodeposits] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SetupIntentPaymentMethodConfigurationDetails(StripeEntity1["SetupIntentPaymentMethodConfigurationDetails"], IHasId):
id: Optional[str] = None
parent: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SetupIntentPaymentMethodOptionsAcssDebitMandateOptions(StripeEntity1["SetupIntentPaymentMethodOptionsAcssDebitMandateOptions"]):
custom_mandate_url: Optional[str] = None
default_for: Optional[List[str]] = None
interval_description: Optional[str] = None
payment_schedule: Optional[str] = None
transaction_type: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SetupIntentPaymentMethodOptionsAcssDebit(StripeEntity1["SetupIntentPaymentMethodOptionsAcssDebit"]):
currency: Optional[str] = None
mandate_options: Optional[SetupIntentPaymentMethodOptionsAcssDebitMandateOptions] = None
verification_method: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SetupIntentPaymentMethodOptionsAmazonPay(StripeEntity1["SetupIntentPaymentMethodOptionsAmazonPay"]):
pass
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SetupIntentPaymentMethodOptionsBacsDebitMandateOptions(StripeEntity1["SetupIntentPaymentMethodOptionsBacsDebitMandateOptions"]):
pass
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SetupIntentPaymentMethodOptionsBacsDebit(StripeEntity1["SetupIntentPaymentMethodOptionsBacsDebit"]):
mandate_options: Optional[SetupIntentPaymentMethodOptionsBacsDebitMandateOptions] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SetupIntentPaymentMethodOptionsCardMandateOptions(StripeEntity1["SetupIntentPaymentMethodOptionsCardMandateOptions"]):
amount: int = 0
amount_type: Optional[str] = None
currency: Optional[str] = None
description: Optional[str] = None
end_date: Optional[datetime.datetime] = None
interval: Optional[str] = None
interval_count: Optional[int] = None
reference: Optional[str] = None
start_date: datetime.datetime = datetime.datetime(1, 1, 1)
supported_types: Optional[List[str]] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SetupIntentPaymentMethodOptionsCard(StripeEntity1["SetupIntentPaymentMethodOptionsCard"]):
mandate_options: Optional[SetupIntentPaymentMethodOptionsCardMandateOptions] = None
network: Optional[str] = None
request_three_d_secure: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SetupIntentPaymentMethodOptionsCardPresent(StripeEntity1["SetupIntentPaymentMethodOptionsCardPresent"]):
pass
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SetupIntentPaymentMethodOptionsLink(StripeEntity1["SetupIntentPaymentMethodOptionsLink"]):
persistent_token: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SetupIntentPaymentMethodOptionsPaypal(StripeEntity1["SetupIntentPaymentMethodOptionsPaypal"]):
billing_agreement_id: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SetupIntentPaymentMethodOptionsSepaDebitMandateOptions(StripeEntity1["SetupIntentPaymentMethodOptionsSepaDebitMandateOptions"]):
pass
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SetupIntentPaymentMethodOptionsSepaDebit(StripeEntity1["SetupIntentPaymentMethodOptionsSepaDebit"]):
mandate_options: Optional[SetupIntentPaymentMethodOptionsSepaDebitMandateOptions] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SetupIntentPaymentMethodOptionsUsBankAccountFinancialConnectionsFilters(StripeEntity1["SetupIntentPaymentMethodOptionsUsBankAccountFinancialConnectionsFilters"]):
account_subcategories: Optional[List[str]] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SetupIntentPaymentMethodOptionsUsBankAccountFinancialConnections(StripeEntity1["SetupIntentPaymentMethodOptionsUsBankAccountFinancialConnections"]):
filters: Optional[SetupIntentPaymentMethodOptionsUsBankAccountFinancialConnectionsFilters] = None
permissions: Optional[List[str]] = None
prefetch: Optional[List[str]] = None
return_url: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SetupIntentPaymentMethodOptionsUsBankAccountMandateOptions(StripeEntity1["SetupIntentPaymentMethodOptionsUsBankAccountMandateOptions"]):
collection_method: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SetupIntentPaymentMethodOptionsUsBankAccount(StripeEntity1["SetupIntentPaymentMethodOptionsUsBankAccount"]):
financial_connections: Optional[SetupIntentPaymentMethodOptionsUsBankAccountFinancialConnections] = None
mandate_options: Optional[SetupIntentPaymentMethodOptionsUsBankAccountMandateOptions] = None
verification_method: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SetupIntentPaymentMethodOptions(StripeEntity1["SetupIntentPaymentMethodOptions"]):
acss_debit: Optional[SetupIntentPaymentMethodOptionsAcssDebit] = None
amazon_pay: Optional[SetupIntentPaymentMethodOptionsAmazonPay] = None
bacs_debit: Optional[SetupIntentPaymentMethodOptionsBacsDebit] = None
card: Optional[SetupIntentPaymentMethodOptionsCard] = None
card_present: Optional[SetupIntentPaymentMethodOptionsCardPresent] = None
link: Optional[SetupIntentPaymentMethodOptionsLink] = None
paypal: Optional[SetupIntentPaymentMethodOptionsPaypal] = None
sepa_debit: Optional[SetupIntentPaymentMethodOptionsSepaDebit] = None
us_bank_account: Optional[SetupIntentPaymentMethodOptionsUsBankAccount] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SetupIntent(StripeEntity1["SetupIntent"], IHasId, IHasMetadata, IHasObject):
id: Optional[str] = None
object: Optional[str] = None
attach_to_self: bool = False
automatic_payment_methods: Optional[SetupIntentAutomaticPaymentMethods] = None
cancellation_reason: Optional[str] = None
client_secret: Optional[str] = None
created: datetime.datetime = datetime.datetime(1, 1, 1)
description: Optional[str] = None
flow_directions: Optional[List[str]] = None
last_setup_error: Optional[StripeError] = None
livemode: bool = False
metadata: Optional[Dict[str, str]] = None
next_action: Optional[SetupIntentNextAction] = None
payment_method_configuration_details: Optional[SetupIntentPaymentMethodConfigurationDetails] = None
payment_method_options: Optional[SetupIntentPaymentMethodOptions] = None
payment_method_types: Optional[List[str]] = None
status: Optional[str] = None
usage: Optional[str] = None
class IPaymentSource(IStripeEntity, IHasId, IHasObject):
pass
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class StripeError(StripeEntity1["StripeError"]):
charge: Optional[str] = None
code: Optional[str] = None
decline_code: Optional[str] = None
doc_url: Optional[str] = None
message: Optional[str] = None
param: Optional[str] = None
payment_intent: Optional[PaymentIntent] = None
payment_method: Optional[PaymentMethod] = None
payment_method_type: Optional[str] = None
request_log_url: Optional[str] = None
setup_intent: Optional[SetupIntent] = None
source: Optional[IPaymentSource] = None
type: Optional[str] = None
error: Optional[str] = None
error_description: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentNextActionAlipayHandleRedirect(StripeEntity1["PaymentIntentNextActionAlipayHandleRedirect"]):
native_data: Optional[str] = None
native_url: Optional[str] = None
return_url: Optional[str] = None
url: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentNextActionBoletoDisplayDetails(StripeEntity1["PaymentIntentNextActionBoletoDisplayDetails"]):
expires_at: Optional[datetime.datetime] = None
hosted_voucher_url: Optional[str] = None
number: Optional[str] = None
pdf: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentNextActionCardAwaitNotification(StripeEntity1["PaymentIntentNextActionCardAwaitNotification"]):
charge_attempt_at: Optional[datetime.datetime] = None
customer_approval_required: Optional[bool] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentNextActionCashappHandleRedirectOrDisplayQrCodeQrCode(StripeEntity1["PaymentIntentNextActionCashappHandleRedirectOrDisplayQrCodeQrCode"]):
expires_at: datetime.datetime = datetime.datetime(1, 1, 1)
image_url_png: Optional[str] = None
image_url_svg: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentNextActionCashappHandleRedirectOrDisplayQrCode(StripeEntity1["PaymentIntentNextActionCashappHandleRedirectOrDisplayQrCode"]):
hosted_instructions_url: Optional[str] = None
mobile_auth_url: Optional[str] = None
qr_code: Optional[PaymentIntentNextActionCashappHandleRedirectOrDisplayQrCodeQrCode] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentNextActionDisplayBankTransferInstructionsFinancialAddressAba(StripeEntity1["PaymentIntentNextActionDisplayBankTransferInstructionsFinancialAddressAba"]):
account_number: Optional[str] = None
bank_name: Optional[str] = None
routing_number: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentNextActionDisplayBankTransferInstructionsFinancialAddressIban(StripeEntity1["PaymentIntentNextActionDisplayBankTransferInstructionsFinancialAddressIban"]):
account_holder_name: Optional[str] = None
bic: Optional[str] = None
country: Optional[str] = None
iban: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentNextActionDisplayBankTransferInstructionsFinancialAddressSortCode(StripeEntity1["PaymentIntentNextActionDisplayBankTransferInstructionsFinancialAddressSortCode"]):
account_holder_name: Optional[str] = None
account_number: Optional[str] = None
sort_code: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentNextActionDisplayBankTransferInstructionsFinancialAddressSpei(StripeEntity1["PaymentIntentNextActionDisplayBankTransferInstructionsFinancialAddressSpei"]):
bank_code: Optional[str] = None
bank_name: Optional[str] = None
clabe: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentNextActionDisplayBankTransferInstructionsFinancialAddressSwift(StripeEntity1["PaymentIntentNextActionDisplayBankTransferInstructionsFinancialAddressSwift"]):
account_number: Optional[str] = None
bank_name: Optional[str] = None
swift_code: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentNextActionDisplayBankTransferInstructionsFinancialAddressZengin(StripeEntity1["PaymentIntentNextActionDisplayBankTransferInstructionsFinancialAddressZengin"]):
account_holder_name: Optional[str] = None
account_number: Optional[str] = None
account_type: Optional[str] = None
bank_code: Optional[str] = None
bank_name: Optional[str] = None
branch_code: Optional[str] = None
branch_name: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentNextActionDisplayBankTransferInstructionsFinancialAddress(StripeEntity1["PaymentIntentNextActionDisplayBankTransferInstructionsFinancialAddress"]):
aba: Optional[PaymentIntentNextActionDisplayBankTransferInstructionsFinancialAddressAba] = None
iban: Optional[PaymentIntentNextActionDisplayBankTransferInstructionsFinancialAddressIban] = None
sort_code: Optional[PaymentIntentNextActionDisplayBankTransferInstructionsFinancialAddressSortCode] = None
spei: Optional[PaymentIntentNextActionDisplayBankTransferInstructionsFinancialAddressSpei] = None
supported_networks: Optional[List[str]] = None
swift: Optional[PaymentIntentNextActionDisplayBankTransferInstructionsFinancialAddressSwift] = None
type: Optional[str] = None
zengin: Optional[PaymentIntentNextActionDisplayBankTransferInstructionsFinancialAddressZengin] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentNextActionDisplayBankTransferInstructions(StripeEntity1["PaymentIntentNextActionDisplayBankTransferInstructions"]):
amount_remaining: Optional[int] = None
currency: Optional[str] = None
financial_addresses: Optional[List[PaymentIntentNextActionDisplayBankTransferInstructionsFinancialAddress]] = None
hosted_instructions_url: Optional[str] = None
reference: Optional[str] = None
type: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentNextActionKonbiniDisplayDetailsStoresFamilymart(StripeEntity1["PaymentIntentNextActionKonbiniDisplayDetailsStoresFamilymart"]):
confirmation_number: Optional[str] = None
payment_code: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentNextActionKonbiniDisplayDetailsStoresLawson(StripeEntity1["PaymentIntentNextActionKonbiniDisplayDetailsStoresLawson"]):
confirmation_number: Optional[str] = None
payment_code: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentNextActionKonbiniDisplayDetailsStoresMinistop(StripeEntity1["PaymentIntentNextActionKonbiniDisplayDetailsStoresMinistop"]):
confirmation_number: Optional[str] = None
payment_code: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentNextActionKonbiniDisplayDetailsStoresSeicomart(StripeEntity1["PaymentIntentNextActionKonbiniDisplayDetailsStoresSeicomart"]):
confirmation_number: Optional[str] = None
payment_code: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentNextActionKonbiniDisplayDetailsStores(StripeEntity1["PaymentIntentNextActionKonbiniDisplayDetailsStores"]):
familymart: Optional[PaymentIntentNextActionKonbiniDisplayDetailsStoresFamilymart] = None
lawson: Optional[PaymentIntentNextActionKonbiniDisplayDetailsStoresLawson] = None
ministop: Optional[PaymentIntentNextActionKonbiniDisplayDetailsStoresMinistop] = None
seicomart: Optional[PaymentIntentNextActionKonbiniDisplayDetailsStoresSeicomart] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentNextActionKonbiniDisplayDetails(StripeEntity1["PaymentIntentNextActionKonbiniDisplayDetails"]):
expires_at: datetime.datetime = datetime.datetime(1, 1, 1)
hosted_voucher_url: Optional[str] = None
stores: Optional[PaymentIntentNextActionKonbiniDisplayDetailsStores] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentNextActionMultibancoDisplayDetails(StripeEntity1["PaymentIntentNextActionMultibancoDisplayDetails"]):
entity: Optional[str] = None
expires_at: Optional[datetime.datetime] = None
hosted_voucher_url: Optional[str] = None
reference: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentNextActionOxxoDisplayDetails(StripeEntity1["PaymentIntentNextActionOxxoDisplayDetails"]):
expires_after: Optional[datetime.datetime] = None
hosted_voucher_url: Optional[str] = None
number: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentNextActionPaynowDisplayQrCode(StripeEntity1["PaymentIntentNextActionPaynowDisplayQrCode"]):
data: Optional[str] = None
hosted_instructions_url: Optional[str] = None
image_url_png: Optional[str] = None
image_url_svg: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentNextActionPixDisplayQrCode(StripeEntity1["PaymentIntentNextActionPixDisplayQrCode"]):
data: Optional[str] = None
expires_at: datetime.datetime = datetime.datetime(1, 1, 1)
hosted_instructions_url: Optional[str] = None
image_url_png: Optional[str] = None
image_url_svg: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentNextActionPromptpayDisplayQrCode(StripeEntity1["PaymentIntentNextActionPromptpayDisplayQrCode"]):
data: Optional[str] = None
hosted_instructions_url: Optional[str] = None
image_url_png: Optional[str] = None
image_url_svg: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentNextActionRedirectToUrl(StripeEntity1["PaymentIntentNextActionRedirectToUrl"]):
return_url: Optional[str] = None
url: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentNextActionSwishHandleRedirectOrDisplayQrCodeQrCode(StripeEntity1["PaymentIntentNextActionSwishHandleRedirectOrDisplayQrCodeQrCode"]):
data: Optional[str] = None
image_url_png: Optional[str] = None
image_url_svg: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentNextActionSwishHandleRedirectOrDisplayQrCode(StripeEntity1["PaymentIntentNextActionSwishHandleRedirectOrDisplayQrCode"]):
hosted_instructions_url: Optional[str] = None
mobile_auth_url: Optional[str] = None
qr_code: Optional[PaymentIntentNextActionSwishHandleRedirectOrDisplayQrCodeQrCode] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentNextActionUseStripeSdk(StripeEntity1["PaymentIntentNextActionUseStripeSdk"]):
pass
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentNextActionVerifyWithMicrodeposits(StripeEntity1["PaymentIntentNextActionVerifyWithMicrodeposits"]):
arrival_date: datetime.datetime = datetime.datetime(1, 1, 1)
hosted_verification_url: Optional[str] = None
microdeposit_type: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentNextActionWechatPayDisplayQrCode(StripeEntity1["PaymentIntentNextActionWechatPayDisplayQrCode"]):
data: Optional[str] = None
hosted_instructions_url: Optional[str] = None
image_data_url: Optional[str] = None
image_url_png: Optional[str] = None
image_url_svg: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentNextActionWechatPayRedirectToAndroidApp(StripeEntity1["PaymentIntentNextActionWechatPayRedirectToAndroidApp"]):
app_id: Optional[str] = None
nonce_str: Optional[str] = None
package: Optional[str] = None
partner_id: Optional[str] = None
prepay_id: Optional[str] = None
sign: Optional[str] = None
timestamp: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentNextActionWechatPayRedirectToIosApp(StripeEntity1["PaymentIntentNextActionWechatPayRedirectToIosApp"]):
native_url: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentNextAction(StripeEntity1["PaymentIntentNextAction"]):
alipay_handle_redirect: Optional[PaymentIntentNextActionAlipayHandleRedirect] = None
boleto_display_details: Optional[PaymentIntentNextActionBoletoDisplayDetails] = None
card_await_notification: Optional[PaymentIntentNextActionCardAwaitNotification] = None
cashapp_handle_redirect_or_display_qr_code: Optional[PaymentIntentNextActionCashappHandleRedirectOrDisplayQrCode] = None
display_bank_transfer_instructions: Optional[PaymentIntentNextActionDisplayBankTransferInstructions] = None
konbini_display_details: Optional[PaymentIntentNextActionKonbiniDisplayDetails] = None
multibanco_display_details: Optional[PaymentIntentNextActionMultibancoDisplayDetails] = None
oxxo_display_details: Optional[PaymentIntentNextActionOxxoDisplayDetails] = None
paynow_display_qr_code: Optional[PaymentIntentNextActionPaynowDisplayQrCode] = None
pix_display_qr_code: Optional[PaymentIntentNextActionPixDisplayQrCode] = None
promptpay_display_qr_code: Optional[PaymentIntentNextActionPromptpayDisplayQrCode] = None
redirect_to_url: Optional[PaymentIntentNextActionRedirectToUrl] = None
swish_handle_redirect_or_display_qr_code: Optional[PaymentIntentNextActionSwishHandleRedirectOrDisplayQrCode] = None
type: Optional[str] = None
use_stripe_sdk: Optional[PaymentIntentNextActionUseStripeSdk] = None
verify_with_microdeposits: Optional[PaymentIntentNextActionVerifyWithMicrodeposits] = None
wechat_pay_display_qr_code: Optional[PaymentIntentNextActionWechatPayDisplayQrCode] = None
wechat_pay_redirect_to_android_app: Optional[PaymentIntentNextActionWechatPayRedirectToAndroidApp] = None
wechat_pay_redirect_to_ios_app: Optional[PaymentIntentNextActionWechatPayRedirectToIosApp] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentPaymentMethodConfigurationDetails(StripeEntity1["PaymentIntentPaymentMethodConfigurationDetails"], IHasId):
id: Optional[str] = None
parent: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentPaymentMethodOptionsAcssDebitMandateOptions(StripeEntity1["PaymentIntentPaymentMethodOptionsAcssDebitMandateOptions"]):
custom_mandate_url: Optional[str] = None
interval_description: Optional[str] = None
payment_schedule: Optional[str] = None
transaction_type: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentPaymentMethodOptionsAcssDebit(StripeEntity1["PaymentIntentPaymentMethodOptionsAcssDebit"]):
mandate_options: Optional[PaymentIntentPaymentMethodOptionsAcssDebitMandateOptions] = None
setup_future_usage: Optional[str] = None
verification_method: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentPaymentMethodOptionsAffirm(StripeEntity1["PaymentIntentPaymentMethodOptionsAffirm"]):
capture_method: Optional[str] = None
preferred_locale: Optional[str] = None
setup_future_usage: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentPaymentMethodOptionsAfterpayClearpay(StripeEntity1["PaymentIntentPaymentMethodOptionsAfterpayClearpay"]):
capture_method: Optional[str] = None
reference: Optional[str] = None
setup_future_usage: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentPaymentMethodOptionsAlipay(StripeEntity1["PaymentIntentPaymentMethodOptionsAlipay"]):
setup_future_usage: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentPaymentMethodOptionsAmazonPay(StripeEntity1["PaymentIntentPaymentMethodOptionsAmazonPay"]):
capture_method: Optional[str] = None
setup_future_usage: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentPaymentMethodOptionsAuBecsDebit(StripeEntity1["PaymentIntentPaymentMethodOptionsAuBecsDebit"]):
setup_future_usage: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentPaymentMethodOptionsBacsDebitMandateOptions(StripeEntity1["PaymentIntentPaymentMethodOptionsBacsDebitMandateOptions"]):
pass
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentPaymentMethodOptionsBacsDebit(StripeEntity1["PaymentIntentPaymentMethodOptionsBacsDebit"]):
mandate_options: Optional[PaymentIntentPaymentMethodOptionsBacsDebitMandateOptions] = None
setup_future_usage: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentPaymentMethodOptionsBancontact(StripeEntity1["PaymentIntentPaymentMethodOptionsBancontact"]):
preferred_language: Optional[str] = None
setup_future_usage: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentPaymentMethodOptionsBlik(StripeEntity1["PaymentIntentPaymentMethodOptionsBlik"]):
setup_future_usage: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentPaymentMethodOptionsBoleto(StripeEntity1["PaymentIntentPaymentMethodOptionsBoleto"]):
expires_after_days: int = 0
setup_future_usage: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentPaymentMethodOptionsCardInstallmentsPlan(StripeEntity1["PaymentIntentPaymentMethodOptionsCardInstallmentsPlan"]):
count: Optional[int] = None
interval: Optional[str] = None
type: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentPaymentMethodOptionsCardInstallments(StripeEntity1["PaymentIntentPaymentMethodOptionsCardInstallments"]):
available_plans: Optional[List[PaymentIntentPaymentMethodOptionsCardInstallmentsPlan]] = None
enabled: bool = False
plan: Optional[PaymentIntentPaymentMethodOptionsCardInstallmentsPlan] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentPaymentMethodOptionsCardMandateOptions(StripeEntity1["PaymentIntentPaymentMethodOptionsCardMandateOptions"]):
amount: int = 0
amount_type: Optional[str] = None
description: Optional[str] = None
end_date: Optional[datetime.datetime] = None
interval: Optional[str] = None
interval_count: Optional[int] = None
reference: Optional[str] = None
start_date: datetime.datetime = datetime.datetime(1, 1, 1)
supported_types: Optional[List[str]] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentPaymentMethodOptionsCard(StripeEntity1["PaymentIntentPaymentMethodOptionsCard"]):
capture_method: Optional[str] = None
installments: Optional[PaymentIntentPaymentMethodOptionsCardInstallments] = None
mandate_options: Optional[PaymentIntentPaymentMethodOptionsCardMandateOptions] = None
network: Optional[str] = None
request_extended_authorization: Optional[str] = None
request_incremental_authorization: Optional[str] = None
request_multicapture: Optional[str] = None
request_overcapture: Optional[str] = None
request_three_d_secure: Optional[str] = None
require_cvc_recollection: bool = False
setup_future_usage: Optional[str] = None
statement_descriptor_suffix_kana: Optional[str] = None
statement_descriptor_suffix_kanji: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentPaymentMethodOptionsCardPresentRouting(StripeEntity1["PaymentIntentPaymentMethodOptionsCardPresentRouting"]):
requested_priority: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentPaymentMethodOptionsCardPresent(StripeEntity1["PaymentIntentPaymentMethodOptionsCardPresent"]):
request_extended_authorization: Optional[bool] = None
request_incremental_authorization_support: Optional[bool] = None
routing: Optional[PaymentIntentPaymentMethodOptionsCardPresentRouting] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentPaymentMethodOptionsCashapp(StripeEntity1["PaymentIntentPaymentMethodOptionsCashapp"]):
capture_method: Optional[str] = None
setup_future_usage: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentPaymentMethodOptionsCustomerBalanceBankTransferEuBankTransfer(StripeEntity1["PaymentIntentPaymentMethodOptionsCustomerBalanceBankTransferEuBankTransfer"]):
country: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentPaymentMethodOptionsCustomerBalanceBankTransfer(StripeEntity1["PaymentIntentPaymentMethodOptionsCustomerBalanceBankTransfer"]):
eu_bank_transfer: Optional[PaymentIntentPaymentMethodOptionsCustomerBalanceBankTransferEuBankTransfer] = None
requested_address_types: Optional[List[str]] = None
type: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentPaymentMethodOptionsCustomerBalance(StripeEntity1["PaymentIntentPaymentMethodOptionsCustomerBalance"]):
bank_transfer: Optional[PaymentIntentPaymentMethodOptionsCustomerBalanceBankTransfer] = None
funding_type: Optional[str] = None
setup_future_usage: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentPaymentMethodOptionsEps(StripeEntity1["PaymentIntentPaymentMethodOptionsEps"]):
setup_future_usage: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentPaymentMethodOptionsFpx(StripeEntity1["PaymentIntentPaymentMethodOptionsFpx"]):
setup_future_usage: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentPaymentMethodOptionsGiropay(StripeEntity1["PaymentIntentPaymentMethodOptionsGiropay"]):
setup_future_usage: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentPaymentMethodOptionsGrabpay(StripeEntity1["PaymentIntentPaymentMethodOptionsGrabpay"]):
setup_future_usage: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentPaymentMethodOptionsIdeal(StripeEntity1["PaymentIntentPaymentMethodOptionsIdeal"]):
setup_future_usage: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentPaymentMethodOptionsInteracPresent(StripeEntity1["PaymentIntentPaymentMethodOptionsInteracPresent"]):
pass
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentPaymentMethodOptionsKlarna(StripeEntity1["PaymentIntentPaymentMethodOptionsKlarna"]):
capture_method: Optional[str] = None
preferred_locale: Optional[str] = None
setup_future_usage: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentPaymentMethodOptionsKonbini(StripeEntity1["PaymentIntentPaymentMethodOptionsKonbini"]):
confirmation_number: Optional[str] = None
expires_after_days: Optional[int] = None
expires_at: Optional[datetime.datetime] = None
product_description: Optional[str] = None
setup_future_usage: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentPaymentMethodOptionsLink(StripeEntity1["PaymentIntentPaymentMethodOptionsLink"]):
capture_method: Optional[str] = None
persistent_token: Optional[str] = None
setup_future_usage: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentPaymentMethodOptionsMobilepay(StripeEntity1["PaymentIntentPaymentMethodOptionsMobilepay"]):
capture_method: Optional[str] = None
setup_future_usage: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentPaymentMethodOptionsMultibanco(StripeEntity1["PaymentIntentPaymentMethodOptionsMultibanco"]):
setup_future_usage: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentPaymentMethodOptionsOxxo(StripeEntity1["PaymentIntentPaymentMethodOptionsOxxo"]):
expires_after_days: int = 0
setup_future_usage: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentPaymentMethodOptionsP24(StripeEntity1["PaymentIntentPaymentMethodOptionsP24"]):
setup_future_usage: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentPaymentMethodOptionsPaynow(StripeEntity1["PaymentIntentPaymentMethodOptionsPaynow"]):
setup_future_usage: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentPaymentMethodOptionsPaypal(StripeEntity1["PaymentIntentPaymentMethodOptionsPaypal"]):
capture_method: Optional[str] = None
preferred_locale: Optional[str] = None
reference: Optional[str] = None
setup_future_usage: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentPaymentMethodOptionsPix(StripeEntity1["PaymentIntentPaymentMethodOptionsPix"]):
expires_after_seconds: Optional[int] = None
expires_at: Optional[datetime.datetime] = None
setup_future_usage: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentPaymentMethodOptionsPromptpay(StripeEntity1["PaymentIntentPaymentMethodOptionsPromptpay"]):
setup_future_usage: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentPaymentMethodOptionsRevolutPay(StripeEntity1["PaymentIntentPaymentMethodOptionsRevolutPay"]):
capture_method: Optional[str] = None
setup_future_usage: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentPaymentMethodOptionsSepaDebitMandateOptions(StripeEntity1["PaymentIntentPaymentMethodOptionsSepaDebitMandateOptions"]):
pass
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentPaymentMethodOptionsSepaDebit(StripeEntity1["PaymentIntentPaymentMethodOptionsSepaDebit"]):
mandate_options: Optional[PaymentIntentPaymentMethodOptionsSepaDebitMandateOptions] = None
setup_future_usage: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentPaymentMethodOptionsSofort(StripeEntity1["PaymentIntentPaymentMethodOptionsSofort"]):
preferred_language: Optional[str] = None
setup_future_usage: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentPaymentMethodOptionsSwish(StripeEntity1["PaymentIntentPaymentMethodOptionsSwish"]):
reference: Optional[str] = None
setup_future_usage: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentPaymentMethodOptionsTwint(StripeEntity1["PaymentIntentPaymentMethodOptionsTwint"]):
setup_future_usage: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentPaymentMethodOptionsUsBankAccountFinancialConnectionsFilters(StripeEntity1["PaymentIntentPaymentMethodOptionsUsBankAccountFinancialConnectionsFilters"]):
account_subcategories: Optional[List[str]] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentPaymentMethodOptionsUsBankAccountFinancialConnections(StripeEntity1["PaymentIntentPaymentMethodOptionsUsBankAccountFinancialConnections"]):
filters: Optional[PaymentIntentPaymentMethodOptionsUsBankAccountFinancialConnectionsFilters] = None
permissions: Optional[List[str]] = None
prefetch: Optional[List[str]] = None
return_url: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentPaymentMethodOptionsUsBankAccountMandateOptions(StripeEntity1["PaymentIntentPaymentMethodOptionsUsBankAccountMandateOptions"]):
collection_method: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentPaymentMethodOptionsUsBankAccount(StripeEntity1["PaymentIntentPaymentMethodOptionsUsBankAccount"]):
financial_connections: Optional[PaymentIntentPaymentMethodOptionsUsBankAccountFinancialConnections] = None
mandate_options: Optional[PaymentIntentPaymentMethodOptionsUsBankAccountMandateOptions] = None
preferred_settlement_speed: Optional[str] = None
setup_future_usage: Optional[str] = None
verification_method: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentPaymentMethodOptionsWechatPay(StripeEntity1["PaymentIntentPaymentMethodOptionsWechatPay"]):
app_id: Optional[str] = None
client: Optional[str] = None
setup_future_usage: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentPaymentMethodOptionsZip(StripeEntity1["PaymentIntentPaymentMethodOptionsZip"]):
setup_future_usage: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentPaymentMethodOptions(StripeEntity1["PaymentIntentPaymentMethodOptions"]):
acss_debit: Optional[PaymentIntentPaymentMethodOptionsAcssDebit] = None
affirm: Optional[PaymentIntentPaymentMethodOptionsAffirm] = None
afterpay_clearpay: Optional[PaymentIntentPaymentMethodOptionsAfterpayClearpay] = None
alipay: Optional[PaymentIntentPaymentMethodOptionsAlipay] = None
amazon_pay: Optional[PaymentIntentPaymentMethodOptionsAmazonPay] = None
au_becs_debit: Optional[PaymentIntentPaymentMethodOptionsAuBecsDebit] = None
bacs_debit: Optional[PaymentIntentPaymentMethodOptionsBacsDebit] = None
bancontact: Optional[PaymentIntentPaymentMethodOptionsBancontact] = None
blik: Optional[PaymentIntentPaymentMethodOptionsBlik] = None
boleto: Optional[PaymentIntentPaymentMethodOptionsBoleto] = None
card: Optional[PaymentIntentPaymentMethodOptionsCard] = None
card_present: Optional[PaymentIntentPaymentMethodOptionsCardPresent] = None
cashapp: Optional[PaymentIntentPaymentMethodOptionsCashapp] = None
customer_balance: Optional[PaymentIntentPaymentMethodOptionsCustomerBalance] = None
eps: Optional[PaymentIntentPaymentMethodOptionsEps] = None
fpx: Optional[PaymentIntentPaymentMethodOptionsFpx] = None
giropay: Optional[PaymentIntentPaymentMethodOptionsGiropay] = None
grabpay: Optional[PaymentIntentPaymentMethodOptionsGrabpay] = None
ideal: Optional[PaymentIntentPaymentMethodOptionsIdeal] = None
interac_present: Optional[PaymentIntentPaymentMethodOptionsInteracPresent] = None
klarna: Optional[PaymentIntentPaymentMethodOptionsKlarna] = None
konbini: Optional[PaymentIntentPaymentMethodOptionsKonbini] = None
link: Optional[PaymentIntentPaymentMethodOptionsLink] = None
mobilepay: Optional[PaymentIntentPaymentMethodOptionsMobilepay] = None
multibanco: Optional[PaymentIntentPaymentMethodOptionsMultibanco] = None
oxxo: Optional[PaymentIntentPaymentMethodOptionsOxxo] = None
p24: Optional[PaymentIntentPaymentMethodOptionsP24] = None
paynow: Optional[PaymentIntentPaymentMethodOptionsPaynow] = None
paypal: Optional[PaymentIntentPaymentMethodOptionsPaypal] = None
pix: Optional[PaymentIntentPaymentMethodOptionsPix] = None
promptpay: Optional[PaymentIntentPaymentMethodOptionsPromptpay] = None
revolut_pay: Optional[PaymentIntentPaymentMethodOptionsRevolutPay] = None
sepa_debit: Optional[PaymentIntentPaymentMethodOptionsSepaDebit] = None
sofort: Optional[PaymentIntentPaymentMethodOptionsSofort] = None
swish: Optional[PaymentIntentPaymentMethodOptionsSwish] = None
twint: Optional[PaymentIntentPaymentMethodOptionsTwint] = None
us_bank_account: Optional[PaymentIntentPaymentMethodOptionsUsBankAccount] = None
wechat_pay: Optional[PaymentIntentPaymentMethodOptionsWechatPay] = None
zip: Optional[PaymentIntentPaymentMethodOptionsZip] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentProcessingCardCustomerNotification(StripeEntity1["PaymentIntentProcessingCardCustomerNotification"]):
approval_requested: Optional[bool] = None
completes_at: Optional[datetime.datetime] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentProcessingCard(StripeEntity1["PaymentIntentProcessingCard"]):
customer_notification: Optional[PaymentIntentProcessingCardCustomerNotification] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentProcessing(StripeEntity1["PaymentIntentProcessing"]):
card: Optional[PaymentIntentProcessingCard] = None
type: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntentTransferData(StripeEntity1["PaymentIntentTransferData"]):
amount: int = 0
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentIntent(StripeEntity1["PaymentIntent"], IHasId, IHasMetadata, IHasObject):
id: Optional[str] = None
object: Optional[str] = None
amount: int = 0
amount_capturable: int = 0
amount_details: Optional[PaymentIntentAmountDetails] = None
amount_received: int = 0
application_fee_amount: Optional[int] = None
automatic_payment_methods: Optional[PaymentIntentAutomaticPaymentMethods] = None
canceled_at: Optional[datetime.datetime] = None
cancellation_reason: Optional[str] = None
capture_method: Optional[str] = None
client_secret: Optional[str] = None
confirmation_method: Optional[str] = None
created: datetime.datetime = datetime.datetime(1, 1, 1)
currency: Optional[str] = None
description: Optional[str] = None
last_payment_error: Optional[StripeError] = None
livemode: bool = False
metadata: Optional[Dict[str, str]] = None
next_action: Optional[PaymentIntentNextAction] = None
payment_method_configuration_details: Optional[PaymentIntentPaymentMethodConfigurationDetails] = None
payment_method_options: Optional[PaymentIntentPaymentMethodOptions] = None
payment_method_types: Optional[List[str]] = None
processing: Optional[PaymentIntentProcessing] = None
receipt_email: Optional[str] = None
setup_future_usage: Optional[str] = None
shipping: Optional[Shipping] = None
statement_descriptor: Optional[str] = None
statement_descriptor_suffix: Optional[str] = None
status: Optional[str] = None
transfer_data: Optional[PaymentIntentTransferData] = None
transfer_group: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class CustomSessionData:
session: Optional[Session] = None
line_items: Optional[List[LineItem]] = None
payment_intent: Optional[PaymentIntent] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class CustomPaymentIntentData:
payment_intent: Optional[PaymentIntent] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class CustomCheckoutData:
custom_session_data: Optional[CustomSessionData] = None
custom_payment_intent_data: Optional[CustomPaymentIntentData] = None
class IPaysonPaymentCheckout1:
pass
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentLog(BaseModel):
# @References(typeof(Currency))
currency_id: Optional[str] = None
currency_info: Optional[Currency] = None
# @Required()
company_id: Optional[str] = None
id: int = 0
# @Required()
internal_reference_id: Optional[str] = None
# @Required()
article_type_id: int = 0
payment_reference_id: Optional[str] = None
payment_provider_id: Optional[int] = None
order_item_reference_id: Optional[str] = None
amount: Optional[float] = None
vat: Optional[Decimal] = None
amount_credited: Optional[float] = None
comments: Optional[str] = None
# @Required()
created: datetime.datetime = datetime.datetime(1, 1, 1)
# @Required()
updated: datetime.datetime = datetime.datetime(1, 1, 1)
modified_date: Optional[datetime.datetime] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PayableEntity(BaseModel):
# @Ignore()
db_factory: Optional[IDbConnectionFactory] = None
# @Ignore()
qvickly_payment_manager: Optional[IBokameraPaymentManager[InitCheckoutRequestBody, QvicklyCheckoutResponse, QvicklyPaymentResponse]] = None
# @Ignore()
payson2_payment_manager: Optional[IBokameraPaymentManager[Payson2CheckoutResponse, Payson2CheckoutResponse, Payson2CheckoutResponse]] = None
# @Ignore()
stripe_payment_manager: Optional[IBokameraPaymentManager[StripeCreateCheckoutQuery, CustomCheckoutData, CustomCheckoutData]] = None
# @Ignore()
payson_payment_checkout1: Optional[IPaysonPaymentCheckout1] = None
# @Ignore()
logger: Optional[ILogger[PayableEntity]] = None
# @Ignore()
internal_reference_id: Optional[str] = None
# @Ignore()
payment_log: Optional[List[PaymentLog]] = None
company_id: Optional[str] = None
price_vat: Optional[Decimal] = None
# @References(typeof(Currency))
currency_id: Optional[str] = None
# @Ignore()
customer: Optional[Customer] = None
# @Ignore()
customers: Optional[List[Customer]] = None
# @Ignore()
company: Optional[Company] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class CalendarExport(BaseModel):
# @Required()
company_id: Optional[str] = None
# @Required()
booking_id: int = 0
# @Required()
exception_id: int = 0
calendar_sync: Optional[bool] = None
calendar_id: Optional[str] = None
is_exception_deleted: Optional[bool] = None
modified_date: Optional[datetime.datetime] = None
id: int = 0
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class BookingLogEventType(BaseModel):
# @Required()
name: Optional[str] = None
# @Required()
description: Optional[str] = None
modified_date: Optional[datetime.datetime] = None
# @Required()
id: int = 0
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class BookingLog(BaseModel):
# @References(typeof(BookingLogEventType))
event_type_id: int = 0
event_type: Optional[BookingLogEventType] = None
# @Required()
company_id: Optional[str] = None
# @Required()
booking_id: int = 0
id: int = 0
comments: Optional[str] = None
user_id: Optional[str] = None
# @Required()
created: datetime.datetime = datetime.datetime(1, 1, 1)
modified_date: Optional[datetime.datetime] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentDetails(BaseModel, IBaseModelCreated, IBaseModelUpdated):
# @Ignore()
qvickly_checkout_serialized: Optional[QvicklyCheckoutResponse] = None
# @Ignore()
payson2_checkout_serialized: Optional[Payson2CheckoutResponse] = None
# @Ignore()
stripe_checkout_serialized: Optional[CustomCheckoutData] = None
# @Required()
company_id: Optional[str] = None
# @Required()
internal_reference_id: Optional[str] = None
# @Required()
article_type_id: int = 0
# @Required()
external_response_data: Optional[str] = None
# @Required()
external_response_reference: Optional[str] = None
# @Required()
payment_provider_id: int = 0
# @Required()
created_date: datetime.datetime = datetime.datetime(1, 1, 1)
# @Required()
updated_date: datetime.datetime = datetime.datetime(1, 1, 1)
modified_date: Optional[datetime.datetime] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class BookingPrice(BaseModel):
# @References(typeof(Currency))
currency_id: Optional[str] = None
service_price_id: Optional[int] = None
service_price: Optional[ServicePrice] = None
currency_info: Optional[Currency] = None
# @Ignore()
price_text: Optional[str] = None
# @Ignore()
applied_codes: Optional[List[AppliedRebateCodes]] = None
# @Ignore()
is_rebate: bool = False
# @Required()
company_id: Optional[str] = None
# @Required()
booking_id: int = 0
# @Required()
quantity: int = 0
price: Optional[float] = None
vat: Optional[Decimal] = None
category: Optional[str] = None
# @Required()
updated: datetime.datetime = datetime.datetime(1, 1, 1)
# @Required()
created: datetime.datetime = datetime.datetime(1, 1, 1)
# @Required()
invoiced: bool = False
# @Required()
occupies_spot: bool = False
modified_date: Optional[datetime.datetime] = None
id: int = 0
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class BookingStatus(BaseModel):
# @Required()
name: Optional[str] = None
# @Required()
description: Optional[str] = None
# @Required()
color: Optional[str] = None
# @Required()
icon: Optional[str] = None
modified_date: Optional[datetime.datetime] = None
id: int = 0
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class Booking(PayableEntity, IInterval, ICustomFieldTable, IBaseModelUpdated, IBaseModelCreated):
# @Ignore()
service: Optional[Service] = None
# @Ignore()
calendar_export: Optional[CalendarExport] = None
# @Ignore()
log: Optional[List[BookingLog]] = None
# @Ignore()
checkout_logs: Optional[List[PaymentDetails]] = None
# @Ignore()
prices: Optional[List[BookingPrice]] = None
# @Ignore()
status: Optional[BookingStatusEnum] = None
# @Ignore()
is_reserved: bool = False
# @Ignore()
status_name: Optional[str] = None
currency_info: Optional[Currency] = None
booking_status: Optional[BookingStatus] = None
# @Ignore()
total_price: Optional[float] = None
# @Ignore()
total_spots: Optional[int] = None
# @Ignore()
resources: Optional[IList[Resource]] = None
# @Ignore()
external_references: Optional[IList[ExternalReference]] = None
# @Ignore()
booked_resources: Optional[IList[BookedResourceType]] = None
# @Ignore()
custom_fields_config: Optional[IList[CustomFieldConfig]] = None
# @Ignore()
custom_fields_data: Optional[IList[CustomFieldDataResponse]] = None
# @Ignore()
deterministic_id: Optional[str] = None
# @Ignore()
active: bool = False
# @Ignore()
last_time_to_un_book: Optional[datetime.datetime] = None
# @Ignore()
price_mappings: Optional[List[PriceMapping]] = None
# @Ignore()
internal_reference_id: Optional[str] = None
# @Required()
updated_date: datetime.datetime = datetime.datetime(1, 1, 1)
# @Required()
created_date: datetime.datetime = datetime.datetime(1, 1, 1)
id: int = 0
# @Required()
customer_id: Optional[str] = None
# @Required()
service_id: int = 0
# @Required()
status_id: int = 0
unbooked_on: Optional[datetime.datetime] = None
unbooked_comments: Optional[str] = None
booked_comments: Optional[str] = None
# @Required()
booked_by: Optional[str] = None
un_booked_by: Optional[str] = None
# @Required()
send_sms_reminder: bool = False
# @Required()
send_email_reminder: bool = False
# @Required()
send_sms_confirmation: bool = False
rebate_code: Optional[str] = None
comments: Optional[str] = None
ip_address: Optional[str] = None
# @Required()
number_of_booked_spots: int = 0
comments_to_customer: Optional[str] = None
payment_expiration: Optional[datetime.datetime] = None
# @Required()
send_email_confirmation: bool = False
cancellation_code: Optional[str] = None
modified_date: Optional[datetime.datetime] = None
rating_code: Optional[str] = None
text_field1: Optional[str] = None
text_field2: Optional[str] = None
text_field3: Optional[str] = None
text_field4: Optional[str] = None
text_field5: Optional[str] = None
text_field6: Optional[str] = None
text_field7: Optional[str] = None
text_field8: Optional[str] = None
text_field9: Optional[str] = None
text_field10: Optional[str] = None
text_field11: Optional[str] = None
text_field12: Optional[str] = None
text_field13: Optional[str] = None
text_field14: Optional[str] = None
text_field15: Optional[str] = None
text_field16: Optional[str] = None
text_field17: Optional[str] = None
text_field18: Optional[str] = None
text_field19: Optional[str] = None
text_field20: Optional[str] = None
# @Required()
from_: datetime.datetime = field(metadata=config(field_name='from'), default=datetime.datetime(1, 1, 1))
# @Required()
to: datetime.datetime = datetime.datetime(1, 1, 1)
# @ApiResponse(Description="You were unauthorized to call this service", StatusCode=401)
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class BookingQuery(QueryDb2[Booking, BookingQueryResponse]):
# @ApiMember(Description="Query for specific Booked Resources, default is all resources", ParameterType="query")
booking_resource_relation_resource_ids: Optional[List[int]] = None
"""
Query for specific Booked Resources, default is all resources
"""
# @ApiMember(Description="Query for specific Booked Resource types, default is all resource types", ParameterType="query")
booking_resource_relation_resource_type_ids: Optional[List[int]] = None
"""
Query for specific Booked Resource types, default is all resource types
"""
# @ApiMember(Description="The company id, if empty will use the company id for the user you are logged in with.")
company_id: Optional[str] = None
"""
The company id, if empty will use the company id for the user you are logged in with.
"""
# @ApiMember(Description="Id of the booking", ParameterType="path")
id: Optional[int] = None
"""
Id of the booking
"""
# @ApiMember(DataType="string", Description="The cancellation code of the booking, can be used if you want to get a booking without being authenticated", ParameterType="query")
cancellation_code: Optional[str] = None
"""
The cancellation code of the booking, can be used if you want to get a booking without being authenticated
"""
# @ApiMember(DataType="dateTime", Description="Start of interval to query for bookings. UTC+0 and parameter as defined by date-time - RFC3339", ParameterType="query")
booking_start: Optional[datetime.datetime] = None
"""
Start of interval to query for bookings. UTC+0 and parameter as defined by date-time - RFC3339
"""
# @ApiMember(DataType="dateTime", Description="End of interval to query for bookings. UTC+0 and parameter as defined by date-time - RFC3339", ParameterType="query")
booking_end: Optional[datetime.datetime] = None
"""
End of interval to query for bookings. UTC+0 and parameter as defined by date-time - RFC3339
"""
# @ApiMember(DataType="dateTime", Description="Start of interval to query for bookings when they where created. UTC+0 and parameter as defined by date-time - RFC3339", ParameterType="query")
created_from: Optional[datetime.datetime] = None
"""
Start of interval to query for bookings when they where created. UTC+0 and parameter as defined by date-time - RFC3339
"""
# @ApiMember(DataType="dateTime", Description="End of interval to query for bookings when they where created. UTC+0 and parameter as defined by date-time - RFC3339", ParameterType="query")
created_to: Optional[datetime.datetime] = None
"""
End of interval to query for bookings when they where created. UTC+0 and parameter as defined by date-time - RFC3339
"""
# @ApiMember(DataType="boolean", Description="Set to true if you want to include the bookings for the company you are logged in as administrator on, if false only bookings for the logged in user will be retrieved. Only administrators are allowed to do this.", ParameterType="query")
company_bookings: bool = False
"""
Set to true if you want to include the bookings for the company you are logged in as administrator on, if false only bookings for the logged in user will be retrieved. Only administrators are allowed to do this.
"""
# @ApiMember(Description="Query for specific services.", ParameterType="query")
service_ids: Optional[List[int]] = None
"""
Query for specific services.
"""
# @ApiMember(Description="Query for specific booking statuses. Valid statuses are TimeBooked = 1, TimeUnbooked = 2, TimeReserved = 3, TimeCanceled = 4, AwaitingPayment = 5, AwaitingPaymentNoTimeLimit = 6, BookedAndPayed = 7, 8 = AwaitingPaymentRequestFromAdmin, 9 = AwaitingPaymentFromProvider. Default is all.", ParameterType="query")
status_ids: Optional[List[int]] = None
"""
Query for specific booking statuses. Valid statuses are TimeBooked = 1, TimeUnbooked = 2, TimeReserved = 3, TimeCanceled = 4, AwaitingPayment = 5, AwaitingPaymentNoTimeLimit = 6, BookedAndPayed = 7, 8 = AwaitingPaymentRequestFromAdmin, 9 = AwaitingPaymentFromProvider. Default is all.
"""
# @ApiMember(Description="Query for specific customer", ParameterType="query")
customer_id: Optional[str] = None
"""
Query for specific customer
"""
# @ApiMember(DataType="boolean", Description="If you want to include the external references for the booking", ParameterType="query")
include_external_references: bool = False
"""
If you want to include the external references for the booking
"""
# @ApiMember(DataType="boolean", Description="If you want to include the connected resource types and resources", ParameterType="query")
include_custom_fields: bool = False
"""
If you want to include the connected resource types and resources
"""
# @ApiMember(DataType="boolean", Description="If you want to include the connected custom fields", ParameterType="query")
include_custom_field_values: bool = False
"""
If you want to include the connected custom fields
"""
# @ApiMember(DataType="boolean", Description="If you want to include the booked resources", ParameterType="query")
include_booked_resource_types: bool = False
"""
If you want to include the booked resources
"""
# @ApiMember(DataType="boolean", Description="If you want to include the company information for the booking", ParameterType="query")
include_company_information: bool = False
"""
If you want to include the company information for the booking
"""
# @ApiMember(DataType="boolean", Description="If you want to include the service information for the booking", ParameterType="query")
include_service_information: bool = False
"""
If you want to include the service information for the booking
"""
# @ApiMember(DataType="boolean", Description="If you want to include the customer information for the booking", ParameterType="query")
include_customer_information: bool = False
"""
If you want to include the customer information for the booking
"""
# @ApiMember(DataType="boolean", Description="If you want to include the log of all events on the booking", ParameterType="query")
include_log: bool = False
"""
If you want to include the log of all events on the booking
"""
# @ApiMember(DataType="boolean", Description="If you want to include the payment log on the booking", ParameterType="query")
include_payment_log: bool = False
"""
If you want to include the payment log on the booking
"""
# @ApiMember(DataType="boolean", Description="If you want to include the checkouts for payson", ParameterType="query")
include_checkout_log: bool = False
"""
If you want to include the checkouts for payson
"""
# @ApiMember(DataType="boolean", Description="If you want to include the quantity and price information on the booking", ParameterType="query")
include_quantity_information: bool = False
"""
If you want to include the quantity and price information on the booking
"""
# @ApiMember(DataType="boolean", Description="If you want to include google calendar sync status", ParameterType="query")
include_calendar_export_status: bool = False
"""
If you want to include google calendar sync status
"""
# @ApiMember(DataType="boolean", Description="If you want to include booking status information", ParameterType="query")
include_status_information: bool = False
"""
If you want to include booking status information
"""
# @ApiMember(DataType="int", Description="The max limit of records you want to retrieve, default is 100", ParameterType="query")
max_limit: Optional[int] = None
"""
The max limit of records you want to retrieve, default is 100
"""
response_status: Optional[ResponseStatus] = None
TCreatedCheckoutResponse = TypeVar('TCreatedCheckoutResponse')
TCheckoutResponse = TypeVar('TCheckoutResponse')
TPaymentResponse = TypeVar('TPaymentResponse')
class IBokameraPaymentManager(Generic[TCreatedCheckoutResponse, TCheckoutResponse, TPaymentResponse]):
pass
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class QvicklyArticle:
artnr: Optional[str] = None
title: Optional[str] = None
quantity: int = 0
aprice: int = 0
tax: int = 0
discount: int = 0
withouttax: int = 0
taxrate: int = 0
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class Shipping:
firstname: Optional[str] = None
lastname: Optional[str] = None
company: Optional[str] = None
street: Optional[str] = None
street2: Optional[str] = None
zip: Optional[str] = None
city: Optional[str] = None
country: Optional[str] = None
phone: Optional[str] = None
withouttax: Optional[str] = None
taxrate: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class Customer:
city: Optional[str] = None
country_code: Optional[str] = None
identity_number: Optional[str] = None
email: Optional[str] = None
first_name: Optional[str] = None
last_name: Optional[str] = None
phone: Optional[str] = None
postal_code: Optional[str] = None
street: Optional[str] = None
reference: Optional[str] = None
type: Optional[CustomerType] = None
class Currency(IntEnum):
SEK = 1
EUR = 2
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class AnyOf(IAnyOf):
value: Optional[Object] = None
type: Optional[str] = None
T1 = TypeVar('T1')
T2 = TypeVar('T2')
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class AnyOf2(Generic[T1, T2], AnyOf):
value: Optional[Object] = None
type: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class StripeEntity(IStripeEntity):
pass
T = TypeVar('T')
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class StripeEntity1(Generic[T], StripeEntity):
pass
T = TypeVar('T')
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class StripeList(Generic[T], StripeEntity1[StripeList[T]], IHasObject):
pass
TCategoryName = TypeVar('TCategoryName')
class ILogger(Generic[TCategoryName], ILogger):
pass
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class AccessKeyTypeResponse:
id: int = 0
key_type: Optional[str] = None
description: Optional[str] = None
AccessKeyTypeResponse = TypeVar('AccessKeyTypeResponse')
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class QueryResponse(Generic[AccessKeyTypeResponse]):
offset: int = 0
total: int = 0
results: Optional[List[AccessKeyTypeResponse]] = None
meta: Optional[Dict[str, str]] = None
response_status: Optional[ResponseStatus] = None
To override the Content-type in your clients, use the HTTP Accept Header, append the .other suffix or ?format=other
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
GET /bookings HTTP/1.1 Host: api.bokamera.se Accept: text/jsonl
HTTP/1.1 200 OK Content-Type: text/jsonl Content-Length: length {"Offset":0,"Total":0,"Results":[{"Id":0,"Status":"Booked","StatusId":0,"StatusName":"String","StatusInfo":{"Id":0,"Name":"String","Description":"String","Icon":"String","Color":"String"},"SendEmailReminder":false,"SendSmsReminder":false,"SendSmsConfirmation":false,"SendEmailConfirmation":false,"LastTimeToUnBook":"0001-01-01T00:00:00","CustomFields":[{"Id":0,"Name":"String","Description":"String","Width":0,"DataType":"String","DefaultValue":"String","IsMandatory":false,"MandatoryErrorMessage":"String","MaxLength":0,"MultipleLineText":false,"RegEx":"String","RegExErrorMessage":"String","Values":[{"Value":"String"}]}],"CustomFieldValues":[{"Id":0,"Column":"String","Name":"String","Description":"String","Value":"String","DataType":"String"}],"BookedResourceTypes":[{"Id":0,"Name":"String","Resources":[{"Id":0,"Name":"String","Color":"String","Email":"String","MobilePhone":"String","AccessGroup":"String","EmailNotification":false,"SMSNotification":false,"EmailReminder":false,"SMSReminder":false}]}],"Company":{"Name":"String","Category":"String","Street1":"String","Street2":"String","ZipCode":"String","City":"String","CountryId":"String","Longitude":"String","Latitude":"String","Phone":"String","Email":"String","HomePage":"String","SitePath":"String","IsFavorite":false,"PaymentProviderId":0},"Customer":{"Firstname":"String","Lastname":"String","Email":"String","Phone":"String","FacebookUserName":"String","ImageUrl":"String","CorporateIdentityNumber":"String","InvoiceAddress1":"String","InvoiceAddress2":"String","InvoiceCity":"String","InvoicePostalCode":"String","InvoiceCountryCode":"String"},"Quantities":[{"Id":0,"Quantity":0,"Price":0,"PriceBeforeRebate":0,"CurrencyId":"String","PriceSign":"String","Category":"String","VAT":0,"PriceText":"String","OccupiesSpot":false}],"Service":{"Id":0,"Name":"String","Description":"String","LengthInMinutes":0,"MaxNumberOfSpotsPerBooking":0,"MinNumberOfSpotsPerBooking":0,"GroupBooking":{"Active":false,"Min":0,"Max":0},"MultipleResource":{"Active":false,"Min":0,"Max":0},"IsGroupBooking":false,"IsPaymentEnabled":false},"PaymentExpiration":"0001-01-01T00:00:00","Log":[{"Id":0,"BookingId":0,"EventTypeId":0,"EventType":{"Id":0,"Name":"String","Description":"String"},"Comments":"String","UserName":"String"}],"PaymentLog":[{"Id":0,"BookingId":0,"PaymentReferenceId":"String","OrderItemReferenceId":"String","PaymentProviderId":0,"Amount":0,"VAT":0,"AmountCredited":0,"CurrencyId":"String","CurrencyInfo":{"Id":"String","Name":"String","CurrencySign":"String"},"Comments":"String"}],"CheckoutLog":[{"BookingId":0,"PurchaseId":0,"ExpirationTime":"0001-01-01T00:00:00","Snippet":"String","Status":"String","Message":"String"}],"ExternalReference":[{"ReferenceType":"String","ExternalData":"String","CreatedBy":"String"}],"ResponseStatus":{"ErrorCode":"String","Message":"String","StackTrace":"String","Errors":[{"ErrorCode":"String","FieldName":"String","Message":"String","Meta":{"String":"String"}}],"Meta":{"String":"String"}},"CalendarExportStatus":{"CalendarId":"String","BookingId":0,"Synced":false},"LengthInMinutes":0,"BookedBy":"String","BookedComments":"String","UnbookedComments":"String","CommentsToCustomer":"String","UnbookedOn":"0001-01-01T00:00:00","CancellationCode":"String","RatingCode":"String"}],"Meta":{"String":"String"},"ResponseStatus":{"ErrorCode":"String","Message":"String","StackTrace":"String","Errors":[{"ErrorCode":"String","FieldName":"String","Message":"String","Meta":{"String":"String"}}],"Meta":{"String":"String"}}}