""" Options: Date: 2025-04-06 06:24:38 Version: 8.23 Tip: To override a DTO option, remove "#" prefix before updating BaseUrl: https://testapi.bokamera.se #GlobalNamespace: #AddServiceStackTypes: True #AddResponseStatus: False #AddImplicitVersion: #AddDescriptionAsComments: True IncludeTypes: RebateCodeQuery.* #ExcludeTypes: #DefaultImports: datetime,decimal,marshmallow.fields:*,servicestack:*,typing:*,dataclasses:dataclass/field,dataclasses_json:dataclass_json/LetterCase/Undefined/config,enum:Enum/IntEnum #DataClass: #DataClassJson: """ 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 class ICompany: company_id: Optional[str] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class BaseModel: pass class CompanyStatus(IntEnum): REGISTERED = 1 AWAITING_APPROVAL = 2 APPROVED = 3 INACTIVE = 4 CLOSED_DOWN = 5 NOT_APPROVED = 6 @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class CustomFieldValue(BaseModel): # @Required() company_id: Optional[str] = None id: int = 0 # @Required() value: Optional[str] = None # @Required() active: bool = False sort_order: Optional[int] = None modified_date: Optional[datetime.datetime] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class CustomField(BaseModel): # @Required() table: Optional[str] = None # @Required() column: Optional[str] = None # @Required() data_type: Optional[str] = None # @Required() description: Optional[str] = None # @Required() active: bool = False modified_date: Optional[datetime.datetime] = None id: int = 0 @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class RegEx(BaseModel): # @Required() name: Optional[str] = None # @Required() description: Optional[str] = None # @Required() reg_ex_code: Optional[str] = None error_message: Optional[str] = None modified_date: Optional[datetime.datetime] = None id: int = 0 @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 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 class Currency(IntEnum): SEK = 1 EUR = 2 @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 # @Required() license_type_id: int = 0 # @Required() country_id: Optional[str] = None # @Required() price: int = 0 modified_date: Optional[datetime.datetime] = None license_plan_id: int = 0 @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 voss_tier_id: Optional[str] = None 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 voss_subscription_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() 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 meta_data: Optional[str] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class BillingMethodCountriesRelation(BaseModel): # @Required() billing_method_id: int = 0 # @Required() country_id: Optional[str] = None modified_date: Optional[datetime.datetime] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class BillingMethod(BaseModel): billing_method_countries_relation: Optional[List[BillingMethodCountriesRelation]] = None # @Required() name: Optional[str] = None # @Required() description: Optional[str] = None modified_date: Optional[datetime.datetime] = None id: int = 0 @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class BillingInformation(BaseModel, IBaseModelCreated, IBaseModelUpdated): billing_method: Optional[BillingMethod] = None # @Required() billing_method_id: int = 0 # @Required() name: Optional[str] = None attention: Optional[str] = None street1: Optional[str] = None street2: Optional[str] = None zip_code: Optional[str] = None city: Optional[str] = None email: Optional[str] = None credit_card: Optional[str] = None credit_card_holder: Optional[str] = None credit_card_number: Optional[str] = None valid_to_year: Optional[int] = None valid_to_month: Optional[int] = None csv: Optional[str] = None # @Required() updated_date: datetime.datetime = datetime.datetime(1, 1, 1) # @Required() created_date: datetime.datetime = datetime.datetime(1, 1, 1) # @Required() country_id: Optional[str] = None # @Required() payment_terms_days: int = 0 vat_registration_number: Optional[str] = None license_plan_id: int = 0 gln: Optional[str] = None reference_line1: Optional[str] = None reference_line2: Optional[str] = None modified_date: Optional[datetime.datetime] = None # @Required() id: Optional[str] = None 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 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 Resource(BaseModel, ICustomFieldTable, IBaseModelCreated, IBaseModelUpdated): # @Ignore() priority: int = 0 # @Ignore() schedules: Optional[IList[ISchedule]] = None # @Ignore() exceptions: Optional[IList[ITimeException]] = None # @Ignore() bookings: Optional[IList[IBookedTime]] = None # @Ignore() custom_fields_config: Optional[IList[CustomFieldConfig]] = None # @Ignore() custom_fields_data: Optional[IList[CustomFieldDataResponse]] = None # @Required() company_id: Optional[str] = None id: int = 0 # @Required() name: Optional[str] = None # @Required() active: bool = False description: Optional[str] = None image_url: Optional[str] = None # @Required() updated_date: datetime.datetime = datetime.datetime(1, 1, 1) # @Required() created_date: datetime.datetime = datetime.datetime(1, 1, 1) # @Required() color: Optional[str] = None email: Optional[str] = None mobile_phone: Optional[str] = None email_notification: Optional[bool] = None sms_notification: Optional[bool] = None # @Required() send_s_m_s_reminder: bool = False # @Required() send_email_reminder: bool = False modified_date: Optional[datetime.datetime] = None access_group: Optional[str] = None text_field1: Optional[str] = None text_field2: Optional[str] = None text_field3: Optional[str] = None text_field4: Optional[str] = None text_field5: Optional[str] = None text_field6: Optional[str] = None text_field7: Optional[str] = None text_field8: Optional[str] = None text_field9: Optional[str] = None text_field10: Optional[str] = None text_field11: Optional[str] = None text_field12: Optional[str] = None text_field13: Optional[str] = None text_field14: Optional[str] = None text_field15: Optional[str] = None text_field16: Optional[str] = None text_field17: Optional[str] = None text_field18: Optional[str] = None text_field19: Optional[str] = None text_field20: Optional[str] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class 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 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 @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() billing_information: Optional[BillingInformation] = 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 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 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 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 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' @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[ILogger1[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 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 RebateCodeStatus(BaseModel): # @Required() name: Optional[str] = None description: Optional[str] = None modified_date: Optional[datetime.datetime] = None id: int = 0 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 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 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 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 @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class ServicePriceDayOfWeekRelation(BaseModel): # @Ignore() day_of_week: Optional[BokaMeraDayOfWeek] = None # @Required() company_id: Optional[str] = None # @Required() service_price_id: int = 0 # @Required() day_of_week_id: int = 0 modified_date: Optional[datetime.datetime] = None id: int = 0 @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class 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 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 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 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 Customer: city: Optional[str] = None country_code: Optional[str] = None identity_number: Optional[str] = None email: Optional[str] = None first_name: Optional[str] = None last_name: Optional[str] = None phone: Optional[str] = None postal_code: Optional[str] = None street: Optional[str] = None reference: Optional[str] = None type: Optional[CustomerType] = None class 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 class IInterval: from_: datetime.datetime = field(metadata=config(field_name='from'), default=datetime.datetime(1, 1, 1)) to: datetime.datetime = datetime.datetime(1, 1, 1) @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class Currency(BaseModel): # @Required() name: Optional[str] = None # @Required() currency_sign: Optional[str] = None # @Required() active: bool = False modified_date: Optional[datetime.datetime] = None # @Required() id: Optional[str] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class 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 @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class RebateCodeServiceResponse: id: int = 0 name: Optional[str] = None description: Optional[str] = None active: bool = False @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class RebateCodeCustomerResponse: id: Optional[str] = None firstname: Optional[str] = None lastname: Optional[str] = None email: Optional[str] = None phone: Optional[str] = None image_url: Optional[str] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class RebateCodeTransactionQueryResponse: id: int = 0 company_id: Optional[str] = None note: Optional[str] = None rebate_code_id: int = 0 rebate_code_sign: Optional[str] = None rebate_code_type_id: Optional[int] = None rebate_code_type_name: Optional[str] = None amount: float = 0.0 usage: Optional[str] = None booking_id: Optional[int] = None updated_date: datetime.datetime = datetime.datetime(1, 1, 1) created_date: datetime.datetime = datetime.datetime(1, 1, 1) service: Optional[RebateCodeServiceResponse] = None customer: Optional[RebateCodeCustomerResponse] = None price_sign: Optional[str] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class DaysOfWeekResponse: id: int = 0 day_of_week: Optional[str] = None day_of_week_translation: Optional[str] = None day_of_week_active: Optional[bool] = None day_of_week_sort_order: Optional[int] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class RebateCodeCompanyResponse: site_path: Optional[str] = None payment_provider_id: Optional[int] = None class IBaseModelCreated: created_date: datetime.datetime = datetime.datetime(1, 1, 1) class IBaseModelUpdated: updated_date: datetime.datetime = datetime.datetime(1, 1, 1) TCreatedCheckoutResponse = TypeVar('TCreatedCheckoutResponse') TCheckoutResponse = TypeVar('TCheckoutResponse') TPaymentResponse = TypeVar('TPaymentResponse') class IBokameraPaymentManager(Generic[TCreatedCheckoutResponse, TCheckoutResponse, TPaymentResponse]): pass TCategoryName = TypeVar('TCategoryName') class ILogger1(Generic[TCategoryName], ILogger): pass class ICustomFieldTable: custom_fields_config: Optional[IList[CustomFieldConfig]] = None custom_fields_data: Optional[IList[CustomFieldDataResponse]] = 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 class IUser: id: Optional[str] = None user_id: Optional[str] = None email: Optional[str] = None firstname: Optional[str] = None lastname: Optional[str] = None phone: Optional[str] = None class ILogger: pass @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 StripeEntity(IStripeEntity): pass T = TypeVar('T') @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class StripeEntity1(Generic[T], StripeEntity): pass class INestedOptions: pass class IHasMetadata: metadata: Optional[Dict[str, str]] = 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 T = TypeVar('T') @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class StripeList(Generic[T], StripeEntity1[StripeList[T]], IHasObject): pass @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class StripeResponseBase: status_code: Optional[HttpStatusCode] = None headers: Optional[HttpResponseHeaders] = None date: Optional[datetime.datetime] = None idempotency_key: Optional[str] = None request_id: Optional[str] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class StripeResponse(StripeResponseBase): content: Optional[str] = None class IStripeEntity: stripe_response: Optional[StripeResponse] = None class IHasId: id: Optional[str] = None class IHasObject: object: Optional[str] = None class IAnyOf: value: Optional[Object] = None type: Optional[str] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class ArticleResponse: company_id: Optional[str] = None id: int = 0 name: Optional[str] = None article_type_id: int = 0 description: Optional[str] = None image_url: Optional[str] = None active: bool = False amount: int = 0 price: float = 0.0 currency_id: Optional[str] = None updated_date: datetime.datetime = datetime.datetime(1, 1, 1) created_date: datetime.datetime = datetime.datetime(1, 1, 1) services: Optional[List[ArticleServiceRelation]] = None service_ids: Optional[List[int]] = None price_sign: Optional[str] = None vat: Optional[Decimal] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class RebateCodeResponse: id: int = 0 company_id: Optional[str] = None valid_from: datetime.datetime = datetime.datetime(1, 1, 1) valid_to: datetime.datetime = datetime.datetime(1, 1, 1) # @ApiMember(Description="If the price is only valid for specific days in week add a comma separated list of which days this day price belongs to, 1 = Monday .. 7 = Sunday. All old days connected will be removed on update.") from_time: datetime.timedelta = datetime.timedelta() """ If the price is only valid for specific days in week add a comma separated list of which days this day price belongs to, 1 = Monday .. 7 = Sunday. All old days connected will be removed on update. """ # @ApiMember(Description="If the price is only valid for a specific time span during a time of day enter the FromTime and ToTime parameters.") to_time: datetime.timedelta = datetime.timedelta() """ If the price is only valid for a specific time span during a time of day enter the FromTime and ToTime parameters. """ created_by: Optional[str] = None created: datetime.datetime = datetime.datetime(1, 1, 1) updated_by: Optional[str] = None updated: datetime.datetime = datetime.datetime(1, 1, 1) personal_note: Optional[str] = None rebate_code_sign: Optional[str] = None rebate_code_value: int = 0 rebate_code_type_id: int = 0 name: Optional[str] = None rebate_code_status_id: int = 0 status_name: Optional[str] = None max_number_of_uses: int = 0 max_number_of_uses_per_customer: int = 0 number_of_uses_used: int = 0 days_of_week: Optional[List[DaysOfWeekResponse]] = None services: Optional[List[RebateCodeServiceResponse]] = None article: Optional[ArticleResponse] = None transactions: Optional[List[RebateCodeTransactionQueryResponse]] = None remaining_amount: Optional[float] = None remaining_usage: Optional[int] = None customers: Optional[List[RebateCodeCustomerResponse]] = None response_status: Optional[ResponseStatus] = None payment_received: bool = False rebate_code_currency_sign: Optional[str] = None active_by_status: bool = False price_sign: Optional[str] = None rebate_code_type_name: Optional[str] = None company: Optional[RebateCodeCompanyResponse] = None # @Route("/rebatecodes", "GET") # @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 RebateCodeQuery(QueryDb2[RebateCode, RebateCodeResponse], IReturn[QueryResponse[RebateCodeResponse]], ICompany): # @ApiMember(Description="Enter the company and id you want to see the information for a rebate code, if blank company id and you are an admin, your company id will be used. If blank id, all rebate codes will be shown ", ParameterType="query") company_id: Optional[str] = None """ Enter the company and id you want to see the information for a rebate code, if blank company id and you are an admin, your company id will be used. If blank id, all rebate codes will be shown """ # @ApiMember(Description="RebateCodeId") id: Optional[int] = None """ RebateCodeId """ # @ApiMember(Description="") active: Optional[bool] = None """ """ # @ApiMember(Description="") rebate_code_sign: Optional[str] = None """ """ # @ApiMember(Description="1 - Percent, 2 - Сurrency, 3 - PunchTicket, 4 - ValueCard, 5 - GiftCard") rebate_code_type_ids: Optional[List[int]] = None """ 1 - Percent, 2 - Сurrency, 3 - PunchTicket, 4 - ValueCard, 5 - GiftCard """ # @ApiMember(Description="") include_code_type_options: bool = False """ """ # @ApiMember(Description="") include_status_options: bool = False """ """ # @ApiMember(Description="") include_connected_services: bool = False """ """ # @ApiMember(Description="") include_connected_days_of_week: bool = False """ """ # @ApiMember(Description="") include_connected_customers: bool = False """ """ # @ApiMember(Description="") include_article_information: bool = False """ """ # @ApiMember(Description="") include_company_information: bool = False """ """ # @ApiMember(Description="") company_rebate_codes: bool = False """ """ # @ApiMember(Description="") include_usages: bool = False """ """ # @ApiMember(DataType="boolean", Description="If you want to include the payment log on the rebate code", ParameterType="query") include_payment_log: bool = False """ If you want to include the payment log on the rebate code """ # @ApiMember(Description="") customer_id: Optional[str] = None """ """