Requires any of the roles: | bookingsupplier-administrator-write, superadmin |
POST | /schedules/recurring/test | Test recurring schedule | Test recurring schedule, only administrators are allowed to test schedules. |
---|
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 ExceptionText:
reason: Optional[str] = None
reason_public: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class AvailableTimesSum(IAvailableTime):
from_: datetime.datetime = field(metadata=config(field_name='from'), default=datetime.datetime(1, 1, 1))
to: datetime.datetime = datetime.datetime(1, 1, 1)
free: int = 0
free_spots: int = 0
exception_texts: Optional[List[ExceptionText]] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class AvailableTimesResponse:
company_id: Optional[str] = None
service_id: int = 0
times_free_text_single: Optional[str] = None
times_free_text_multiple: Optional[str] = None
times: Optional[List[AvailableTimesSum]] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class AddRecurringScheduleDate:
# @ApiMember(Description="The date for the schedule opening (only date part is used here", IsRequired=true)
date: datetime.datetime = datetime.datetime(1, 1, 1)
"""
The date for the schedule opening (only date part is used here
"""
# @ApiMember(Description="The time for the schedule opening hours (starttime)", IsRequired=true)
start_time: datetime.timedelta = datetime.timedelta()
"""
The time for the schedule opening hours (starttime)
"""
# @ApiMember(Description="The time for the schedule opening hours (endtime)", IsRequired=true)
end_time: datetime.timedelta = datetime.timedelta()
"""
The time for the schedule opening hours (endtime)
"""
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class ScheduleException:
start_time: datetime.timedelta = datetime.timedelta()
end_time: datetime.timedelta = datetime.timedelta()
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class AddScheduleService:
# @ApiMember(Description="The service id", IsRequired=true)
id: int = 0
"""
The service id
"""
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class BaseModel:
pass
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 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 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
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 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
@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)
class Currency(IntEnum):
SEK = 1
EUR = 2
@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
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 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 BookingStatusOptions:
id: int = 0
name: Optional[str] = None
description: Optional[str] = None
@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 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 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 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 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 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 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 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 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 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 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 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)
@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 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 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
# @ApiResponse(Description="You were unauthorized to call this service", StatusCode=401)
# @ValidateRequest(Validator="IsAuthenticated")
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class TestRecurringSchedule(ICompany, IInterval):
# @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(DataType="dateTime", Description="From what datetime to show available times", IsRequired=true, ParameterType="query")
from_: datetime.datetime = field(metadata=config(field_name='from'), default=datetime.datetime(1, 1, 1))
"""
From what datetime to show available times
"""
# @ApiMember(DataType="dateTime", Description="To what datetime to show available times", IsRequired=true, ParameterType="query")
to: datetime.datetime = datetime.datetime(1, 1, 1)
"""
To what datetime to show available times
"""
# @ApiMember(Description="The Service Duration to be faked if there is no Service selected")
duration: Optional[int] = None
"""
The Service Duration to be faked if there is no Service selected
"""
# @ApiMember(Description="Time interval for available times. Here you set the interval at which times should appear. For example, if you select the range 15minutes, and your service has an duration of 1 hour and opening hours are 9AM to 6PM you will see the following suggested times: 09AM-10PM 09:15AM-10:15PM, 09:30AM-10:30PM , ..... 04:45PM-05:45, 05:00PM-06:00PM", IsRequired=true)
time_interval: int = 0
"""
Time interval for available times. Here you set the interval at which times should appear. For example, if you select the range 15minutes, and your service has an duration of 1 hour and opening hours are 9AM to 6PM you will see the following suggested times: 09AM-10PM 09:15AM-10:15PM, 09:30AM-10:30PM , ..... 04:45PM-05:45, 05:00PM-06:00PM
"""
# @ApiMember(Description="Allow bookings end time exceeds the opening hours Here you can choose whether it should be possible to make a reservation exceeding the opening hours. This should be ticked when a service duration is longer than 24 hours (possible to book over midnight).", IsRequired=true)
enable_booking_until_closing_time: bool = False
"""
Allow bookings end time exceeds the opening hours Here you can choose whether it should be possible to make a reservation exceeding the opening hours. This should be ticked when a service duration is longer than 24 hours (possible to book over midnight).
"""
# @ApiMember(Description="The timestamp to which the schedule is valid from", IsRequired=true)
valid_from: datetime.datetime = datetime.datetime(1, 1, 1)
"""
The timestamp to which the schedule is valid from
"""
# @ApiMember(Description="The timestamp to which the schedule is valid to", IsRequired=true)
valid_to: datetime.datetime = datetime.datetime(1, 1, 1)
"""
The timestamp to which the schedule is valid to
"""
# @ApiMember(Description="The time for the schedule opening hours (starttime)", IsRequired=true)
start_time: datetime.timedelta = datetime.timedelta()
"""
The time for the schedule opening hours (starttime)
"""
# @ApiMember(Description="The time for the schedule opening hours (endtime)", IsRequired=true)
end_time: datetime.timedelta = datetime.timedelta()
"""
The time for the schedule opening hours (endtime)
"""
# @ApiMember(Description="The number of days the schedule is valid from todays date", IsRequired=true)
number_of_schedule_days: int = 0
"""
The number of days the schedule is valid from todays date
"""
# @ApiMember(Description="If recurring, an array indicating which days of the week the schedule recures on where 1 = Monday .. 7 = Sunday. When recurring then the time portion of the Fields From and To indicates the time of day the recurrence occurs")
days_of_week: Optional[List[int]] = None
"""
If recurring, an array indicating which days of the week the schedule recures on where 1 = Monday .. 7 = Sunday. When recurring then the time portion of the Fields From and To indicates the time of day the recurrence occurs
"""
# @ApiMember(Description="If not recuring, an array indicating which dates that are open for the schedule.")
schedule_dates: Optional[List[AddRecurringScheduleDate]] = None
"""
If not recuring, an array indicating which dates that are open for the schedule.
"""
# @ApiMember(Description="Schedule exceptions. For example closed on lunch time between 12AM and 1PM. These times will be removed from the recurring schedule.")
exceptions: Optional[List[ScheduleException]] = None
"""
Schedule exceptions. For example closed on lunch time between 12AM and 1PM. These times will be removed from the recurring schedule.
"""
# @ApiMember()
services: Optional[List[AddScheduleService]] = None
# @ApiMember()
resources: Optional[List[Resource]] = None
@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
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
@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
Python TestRecurringSchedule DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .csv suffix or ?format=csv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /schedules/recurring/test HTTP/1.1
Host: api.bokamera.se
Accept: text/csv
Content-Type: text/csv
Content-Length: length
{"CompanyId":"00000000-0000-0000-0000-000000000000","Duration":0,"TimeInterval":0,"EnableBookingUntilClosingTime":false,"StartTime":"00:00:00","EndTime":"00:00:00","NumberOfScheduleDays":0,"DaysOfWeek":[0],"ScheduleDates":[{"StartTime":"00:00:00","EndTime":"00:00:00"}],"Exceptions":[{"StartTime":"00:00:00","EndTime":"00:00:00"}],"Services":[{"Id":0}],"Resources":[{"Priority":0,"Schedules":[],"Id":0,"Name":"String","Active":false,"Description":"String","ImageUrl":"String","Color":"String","Email":"String","MobilePhone":"String","EmailNotification":false,"SMSNotification":false,"SendSMSReminder":false,"SendEmailReminder":false,"ModifiedDate":"0001-01-01T00:00:00.0000000+00:00","AccessGroup":"String","TextField1":"String","TextField2":"String","TextField3":"String","TextField4":"String","TextField5":"String","TextField6":"String","TextField7":"String","TextField8":"String","TextField9":"String","TextField10":"String","TextField11":"String","TextField12":"String","TextField13":"String","TextField14":"String","TextField15":"String","TextField16":"String","TextField17":"String","TextField18":"String","TextField19":"String","TextField20":"String"}]}
HTTP/1.1 200 OK Content-Type: text/csv Content-Length: length {"ServiceId":0,"TimesFreeTextSingle":"String","TimesFreeTextMultiple":"String","Times":[{"Free":0,"FreeSpots":0}]}