""" Options: Date: 2026-10-08 22:15:03 Version: 6.21 Tip: To override a DTO option, remove "#" prefix before updating BaseUrl: https://cert.cendyn.com/CenResServiceR2Test #GlobalNamespace: #AddServiceStackTypes: True #AddResponseStatus: False #AddImplicitVersion: #AddDescriptionAsComments: True IncludeTypes: ReservationPost.* #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 @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class UniqueIDType: id: Optional[str] = None type: Optional[str] = None context: Optional[str] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class ProfileExtension: language_code: Optional[str] = None salutation_ext: Optional[str] = None first_name_ext: Optional[str] = None familiar_name_ext: Optional[str] = None middle_name_ext: Optional[str] = None last_name_ext: Optional[str] = None name_suffix_ext: Optional[str] = None company_name_ext: Optional[str] = None blacklist: Optional[str] = None black_list_message: Optional[str] = None anonymization_status: Optional[str] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class Address: address_type_code: Optional[str] = None address_type_description: Optional[str] = None address_status: Optional[str] = None attn: Optional[str] = None address1: Optional[str] = None address2: Optional[str] = None city: Optional[str] = None state_province: Optional[str] = None postal_code: Optional[str] = None country_code: Optional[str] = None is_primary: Optional[bool] = None address_language: Optional[str] = None address_cleansed: Optional[bool] = None opt_out_marketing: Optional[bool] = None opt_out_date: Optional[datetime.datetime] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class Membership: external_i_d: Optional[str] = None program_code: Optional[str] = None membership_i_d: Optional[str] = None membership_category: Optional[str] = None membership_name: Optional[str] = None membership_level: Optional[str] = None membership_status: Optional[str] = None enrollment_code: Optional[str] = None date_membership_starts: Optional[datetime.datetime] = None date_membership_expires: Optional[datetime.datetime] = None total_stays: Optional[int] = None award_credits: Optional[int] = None award_available: Optional[int] = None primary_airline: Optional[bool] = None display_sequence: Optional[int] = None source_name: Optional[str] = None source_i_d: Optional[str] = None is_active: bool = False inactive_date: Optional[datetime.datetime] = None points_indicator: Optional[bool] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class ContactMethod: type: Optional[str] = None category: Optional[str] = None data_value: Optional[str] = None extra_data: Optional[str] = None opt_out: Optional[bool] = None source_date: Optional[datetime.datetime] = None is_primary: Optional[bool] = None confirmation: Optional[bool] = None inactive_date: Optional[datetime.datetime] = None opt_out_marketing: Optional[bool] = None opt_out_date: Optional[datetime.datetime] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class ActionComment: external_i_d: Optional[str] = None comment_type: Optional[str] = None comment_title: Optional[str] = None comment_class: Optional[str] = None action_type: Optional[str] = None comment: Optional[str] = None action_date: Optional[datetime.datetime] = None inactive_date: Optional[datetime.datetime] = None guest_viewable: Optional[bool] = None creator_code: Optional[str] = None date_comment_created: Optional[datetime.datetime] = None resort_code: Optional[str] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class SpecialRequest: external_i_d: Optional[str] = None request_type: Optional[str] = None request_code: Optional[str] = None request_comments: Optional[str] = None resort_field: Optional[str] = None action_type_code: Optional[str] = None action_type: Optional[str] = None inactive_date: Optional[datetime.datetime] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class UDFDataType: cendyn_property_i_d: Optional[str] = None module_name: Optional[str] = None table_name: Optional[str] = None column_name: Optional[str] = None udf_value: Optional[str] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class Lead: f_k__reservation: Optional[str] = None external_lead_i_d: Optional[str] = None external_lead_source: Optional[str] = None lead_status: Optional[str] = None lead_acquired: Optional[datetime.datetime] = None tentative_start_date: Optional[datetime.datetime] = None tentative_end_date: Optional[datetime.datetime] = None assigned_agent: Optional[str] = None assigned_date: Optional[datetime.datetime] = None contact_method: Optional[str] = None contact_agent: Optional[str] = None contact_date: Optional[datetime.datetime] = None last_followup_method: Optional[str] = None last_followup_agent: Optional[str] = None last_followup_date: Optional[datetime.datetime] = None booking_method: Optional[str] = None booking_agent: Optional[str] = None booking_date: Optional[datetime.datetime] = None reasonfor_stay: Optional[str] = None market_code: Optional[str] = None campaign_code: Optional[str] = None campaign_name: Optional[str] = None price_estimate: Optional[Decimal] = None flagged_for_attention: Optional[bool] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class RelatedTraveler: cendyn_property_i_d: Optional[str] = None property_name: Optional[str] = None unique_i_ds: Optional[List[UniqueIDType]] = None salutation: Optional[str] = None first_name: Optional[str] = None familiar_name: Optional[str] = None middle_name: Optional[str] = None last_name: Optional[str] = None full_name: Optional[str] = None suffix: Optional[str] = None relation: Optional[str] = None is_primary: Optional[bool] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class Document: document_i_d: Optional[str] = None document_type: Optional[str] = None document_source: Optional[str] = None code_on_document: Optional[str] = None document_notes: Optional[str] = None name_on_document: Optional[str] = None nationality_on_document: Optional[str] = None effective_date: Optional[datetime.datetime] = None expiration_date: Optional[datetime.datetime] = None issuer: Optional[str] = None issuer_country: Optional[str] = None is_primary: Optional[bool] = None pi_i__stored_as: Optional[str] = None inactive_date: Optional[datetime.datetime] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class Voucher: hotel_code: Optional[str] = None voucher_i_d: Optional[str] = None voucher_i_d2: Optional[str] = None applied_to_resort: Optional[str] = None reservation_i_d: Optional[str] = None profile_i_d_recipient: Optional[str] = None subscriber_i_d_recipient: Optional[str] = None recipient_name: Optional[str] = None emailaddress: Optional[str] = None profile_i_d_purchaser: Optional[str] = None purchaser_name: Optional[str] = None voucher_status: Optional[str] = None voucher_type: Optional[str] = None membership_type: Optional[str] = None cert_code: Optional[str] = None cert_no: Optional[str] = None short_description: Optional[str] = None gift_message: Optional[str] = None comments: Optional[str] = None voucher_amount: Optional[Decimal] = None currency_code: Optional[str] = None issue_type: Optional[str] = None date_consumed: Optional[datetime.datetime] = None expiration_date: Optional[datetime.datetime] = None award_points: Optional[int] = None rule_type: Optional[str] = None rule_value: Optional[str] = None cancel_allowed: Optional[bool] = None max_extensions: Optional[int] = None reference_type: Optional[str] = None reference_i_d: Optional[str] = None promotion_code: Optional[str] = None reservation_consumed: Optional[bool] = None web_consumed: Optional[bool] = None pms_consumed: Optional[bool] = None verify_cert_no: Optional[bool] = None generate_in_lieu: Optional[bool] = None creator_code: Optional[str] = None last_updater_code: Optional[str] = None folio_i_d: Optional[str] = None inactive_date: Optional[datetime.datetime] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class ProfilePolicy: policy_type: Optional[str] = None attribute_name: Optional[str] = None integer_value: Optional[int] = None string_value: Optional[str] = None effective_date: Optional[datetime.datetime] = None expiration_date: Optional[datetime.datetime] = None comments: Optional[str] = None external_i_d: Optional[str] = None applies_to: Optional[str] = None applies_to_descriptor: Optional[str] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class Profile: cendyn_property_i_d: Optional[str] = None property_name: Optional[str] = None unique_i_ds: Optional[List[UniqueIDType]] = None profile_type_code: Optional[str] = None profile_type_description: Optional[str] = None name_code: Optional[str] = None profile_type_category: Optional[str] = None job_title: Optional[str] = None salutation: Optional[str] = None first_name: Optional[str] = None familiar_name: Optional[str] = None middle_name: Optional[str] = None last_name: Optional[str] = None full_name: Optional[str] = None name_suffix: Optional[str] = None vipid: Optional[str] = None vip_code: Optional[str] = None primary_language: Optional[str] = None gender_code: Optional[str] = None dob_year: Optional[str] = None dob_month: Optional[str] = None dob_day_of_month: Optional[str] = None company_name: Optional[str] = None ar_number: Optional[str] = None allow_mail: Optional[bool] = None allow_e_mail: Optional[bool] = None guest_priv: Optional[bool] = None allow_phone: Optional[bool] = None allow_s_m_s: Optional[bool] = None allow_history: Optional[bool] = None allow_market_research: Optional[bool] = None allow_third_party: Optional[bool] = None allow_loyalty_program: Optional[bool] = None creator_code: Optional[str] = None last_updater_code: Optional[str] = None date_profile_created: Optional[datetime.datetime] = None date_profile_updated: Optional[datetime.datetime] = None inactive_date: Optional[datetime.datetime] = None nationality: Optional[str] = None resort_code: Optional[str] = None retired_profile_id: Optional[str] = None transferred_subscription_id: Optional[str] = None source_name: Optional[str] = None source_i_d: Optional[str] = None opt_out_marketing: Optional[bool] = None opt_out_date: Optional[datetime.datetime] = None profile_extension: Optional[ProfileExtension] = None addresses: Optional[List[Address]] = None memberships: Optional[List[Membership]] = None contact_methods: Optional[List[ContactMethod]] = None action_comments: Optional[List[ActionComment]] = None special_requests: Optional[List[SpecialRequest]] = None udf_data_collection: Optional[List[UDFDataType]] = None lead: Optional[Lead] = None related_travelers: Optional[List[RelatedTraveler]] = None documents: Optional[List[Document]] = None vouchers: Optional[List[Voucher]] = None profile_policies: Optional[List[ProfilePolicy]] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class ExternalReference: p_k__external_references: Optional[str] = None f_k__internal: Optional[str] = None f_k__internal_id: Optional[int] = None key_table: Optional[str] = None reference_type: Optional[str] = None reference_source: Optional[str] = None reference_number: Optional[str] = None leg_number: Optional[int] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class Activity: cendyn_property_i_d: Optional[str] = None reservation_i_d: Optional[str] = None profile_i_d: Optional[str] = None activity_status: Optional[str] = None activity_category: Optional[str] = None activity_i_d1: Optional[str] = None activity_source1: Optional[str] = None activity_i_d2: Optional[str] = None activity_source2: Optional[str] = None activity_name: Optional[str] = None activity_description: Optional[str] = None activity_notes: Optional[str] = None group_code: Optional[str] = None currency_code: Optional[str] = None amount: Optional[Decimal] = None deposit_required: Optional[Decimal] = None deposit_collector_type: Optional[str] = None inactive_date: Optional[datetime.datetime] = None url_link: Optional[str] = None confirmation_num: Optional[str] = None activity_class: Optional[str] = None activity_code: Optional[str] = None activity_sub_code: Optional[str] = None language_code: Optional[str] = None num_adults: Optional[int] = None num_youths: Optional[int] = None num_children: Optional[int] = None start_date: Optional[datetime.datetime] = None start_task_type: Optional[str] = None start_location_code: Optional[str] = None start_location_name: Optional[str] = None end_date: Optional[datetime.datetime] = None end_task_type: Optional[str] = None end_location_code: Optional[str] = None duration_unit: Optional[str] = None related_date: Optional[datetime.datetime] = None related_type: Optional[str] = None related_location_code: Optional[str] = None related_description: Optional[str] = None vip_code: Optional[str] = None assigned_user: Optional[str] = None booked_date: Optional[datetime.datetime] = None booked_by: Optional[str] = None last_updated_date: Optional[datetime.datetime] = None last_updated_by: Optional[str] = None cancellation_code: Optional[str] = None custom_field1: Optional[str] = None custom_field2: Optional[str] = None custom_field3: Optional[str] = None custom_field4: Optional[str] = None custom_field5: Optional[str] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class Guest: arrival_date: Optional[datetime.datetime] = None departure_date: Optional[datetime.datetime] = None profile_sequence: Optional[int] = None is_primary: bool = False folio_i_d: Optional[str] = None percentage_billed: Decimal = decimal.Decimal(0) purpose_of_stay: Optional[str] = None original_reservation_num: Optional[str] = None original_confirmation_num: Optional[str] = None guest_group_sequence: Optional[int] = None tax_type: Optional[str] = None guest_profile: Optional[Profile] = None external_references: Optional[List[ExternalReference]] = None activities: Optional[List[Activity]] = None udf_data_collection: Optional[List[UDFDataType]] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class TaxType: amount: Decimal = decimal.Decimal(0) code: Optional[str] = None description: Optional[str] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class StayDetail: external_i_d: Optional[str] = None stay_date: datetime.datetime = datetime.datetime(1, 1, 1) room_number: Optional[str] = None room_type: Optional[str] = None rate_type: Optional[str] = None market_code: Optional[str] = None res_source_code: Optional[str] = None number_of_rooms: int = 0 daily_rate: Optional[Decimal] = None currency_code: Optional[str] = None date_stay_detail_updated: Optional[datetime.datetime] = None daily_rate_before_tax: Optional[Decimal] = None daily_rate_after_tax: Optional[Decimal] = None tax_types: Optional[List[TaxType]] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class CancelPenalty: rule_type: Optional[str] = None rule_code: Optional[str] = None rule_description: Optional[str] = None resort_rule_i_d: Optional[str] = None rule_i_d: Optional[str] = None amount: Optional[Decimal] = None percentage: Optional[Decimal] = None cancel_by_date: Optional[datetime.datetime] = None cancel_percent_due: Optional[Decimal] = None cancel_room_nights: Optional[int] = None activity_deposit: Optional[Decimal] = None room_deposit: Optional[Decimal] = None rule_scope: Optional[str] = None currency_code: Optional[str] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class ResServicePrice: external_i_d: Optional[str] = None actual_begin_date: Optional[datetime.datetime] = None actual_end_date: Optional[datetime.datetime] = None unit_price: Optional[Decimal] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class ResService: external_i_d: Optional[str] = None service_type: Optional[str] = None service_group: Optional[str] = None res_action: Optional[str] = None service_pricing_type: Optional[str] = None service_sequence: Optional[int] = None service_inventory_code: Optional[str] = None start_date: Optional[datetime.datetime] = None end_date: Optional[datetime.datetime] = None frequency: Optional[str] = None price_amount: Optional[Decimal] = None currency_code: Optional[str] = None quantity: Optional[int] = None rate_plan_code: Optional[str] = None inventory_block_code: Optional[str] = None price_guaranteed: Optional[bool] = None inclusive: Optional[bool] = None service_comments: Optional[str] = None inactive_date: Optional[datetime.datetime] = None service_prices: Optional[List[ResServicePrice]] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class PayInfo: record_type: Optional[str] = None method_type_code: Optional[str] = None method_type: Optional[str] = None due_date: Optional[datetime.datetime] = None amount: Optional[Decimal] = None currency_code: Optional[str] = None cancel_if_not_received: Optional[bool] = None drop_time: Optional[datetime.datetime] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class FixedCharge: charge_code: Optional[str] = None charge_name: Optional[str] = None description: Optional[str] = None frequency: Optional[str] = None charge_unit: int = 0 charge_type: Optional[str] = None curency_code: Optional[str] = None amount: Decimal = decimal.Decimal(0) tax_inclusive: Optional[bool] = None tax_amount: Optional[Decimal] = None percentage: Optional[Decimal] = None effective_date: Optional[datetime.datetime] = None expiration_date: Optional[datetime.datetime] = None taxable: Optional[bool] = None custom_code1: Optional[str] = None custom_code2: Optional[str] = None custom_code3: Optional[str] = None inactive_date: Optional[datetime.datetime] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class StayHeader: external_i_d: Optional[str] = None stay_begin_date: datetime.datetime = datetime.datetime(1, 1, 1) stay_end_date: datetime.datetime = datetime.datetime(1, 1, 1) building_code: Optional[str] = None room_number: Optional[str] = None room_type: Optional[str] = None market_segment_code: Optional[str] = None res_source_code: Optional[str] = None share_code: Optional[str] = None inv_block_code: Optional[str] = None res_status_type: Optional[str] = None rtc: Optional[str] = None channel_code: Optional[str] = None source_sequence: Optional[int] = None rate_type: Optional[str] = None rate_category: Optional[str] = None daily_rate: Optional[Decimal] = None currency_code: Optional[str] = None promotion_code: Optional[str] = None stay_details: Optional[List[StayDetail]] = None cancel_penalties: Optional[List[CancelPenalty]] = None res_services: Optional[List[ResService]] = None pay_info_collection: Optional[List[PayInfo]] = None fixed_charges: Optional[List[FixedCharge]] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class StayHistoryRevenue: record_status: Optional[str] = None revenue_group: Optional[str] = None revenue_type: Optional[str] = None amount: Decimal = decimal.Decimal(0) currency_code: Optional[str] = None folio_window: Optional[str] = None transaction_date: Optional[datetime.datetime] = None inactive_date: Optional[datetime.datetime] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class PaymentCard: card_type: Optional[str] = None card_holder_name: Optional[str] = None card_value: Optional[str] = None card_value_type: Optional[str] = None expiration_month: Optional[int] = None expiration_year: Optional[int] = None security_code: Optional[str] = None is_primary: Optional[bool] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class PaymentMethod: method_of_payment: Optional[str] = None folio_i_d: Optional[str] = None payment_cards: Optional[List[PaymentCard]] = None class ResActionTypeCode(str, Enum): RT = 'RT' AT = 'AT' TR = 'TR' @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class ResAction: external_i_d: Optional[str] = None res_action_type_i_d: Optional[str] = None res_action_type: Optional[ResActionTypeCode] = None source_res_action: Optional[str] = None res_action_text: Optional[str] = None res_action_by: Optional[str] = None res_action_date: Optional[datetime.datetime] = None inactive_date: Optional[datetime.datetime] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class Reservation: cendyn_property_i_d: Optional[str] = None property_name: Optional[str] = None unique_i_ds: Optional[List[UniqueIDType]] = None res_type_code: Optional[str] = None res_status_code: Optional[str] = None res_status: Optional[str] = None confirmation_num: Optional[str] = None central_res_num: Optional[str] = None res_arrive_date: datetime.datetime = datetime.datetime(1, 1, 1) res_depart_date: datetime.datetime = datetime.datetime(1, 1, 1) res_arrive_time: Optional[str] = None res_depart_time: Optional[str] = None num_rooms: Optional[int] = None building_code: Optional[str] = None room_type_code: Optional[str] = None room_number: Optional[str] = None rate_code: Optional[str] = None rate_category_code: Optional[str] = None rate_amount: Optional[Decimal] = None rate_confidential: Optional[bool] = None package_code: Optional[str] = None package_amount: Optional[Decimal] = None package_description: Optional[str] = None discount_code: Optional[str] = None discount_amount: Optional[Decimal] = None discount_percent: Optional[Decimal] = None discount_reason_code: Optional[str] = None guaranteed_by_code: Optional[str] = None mop: Optional[str] = None is_not_refundable: Optional[bool] = None sharer_code: Optional[str] = None leg_numbers: Optional[str] = None group_i_d: Optional[str] = None group_name: Optional[str] = None res_source_code: Optional[str] = None res_source_category: Optional[str] = None trvl_agnt_pms_i_d: Optional[str] = None trvl_agnt_code: Optional[str] = None trvl_agnt_i_a_t_a: Optional[str] = None trvl_agnt_name: Optional[str] = None market_segment_code: Optional[str] = None market_code_category: Optional[str] = None market_region_code: Optional[str] = None company_code: Optional[str] = None company_name: Optional[str] = None billing_code: Optional[str] = None billing_name: Optional[str] = None customer_segment: Optional[str] = None num_adults: Optional[int] = None num_youths: Optional[int] = None num_children: Optional[int] = None total_room_nights: Optional[int] = None date_res_made: Optional[datetime.datetime] = None date_res_updated: Optional[datetime.datetime] = None res_made_by: Optional[str] = None res_updated_by: Optional[str] = None checked_in_by: Optional[str] = None checked_out_by: Optional[str] = None cancellation_i_d: Optional[str] = None cancellation_code: Optional[str] = None cancellation_comment: Optional[str] = None cancellation_date: Optional[datetime.datetime] = None source_name: Optional[str] = None source_i_d: Optional[str] = None average_room_rate: Optional[Decimal] = None deposit_amount_due: Optional[Decimal] = None deposit_amount_paid: Optional[Decimal] = None account_balance: Optional[Decimal] = None total_other_revenue: Optional[Decimal] = None total_f_b_revenue: Optional[Decimal] = None total_room_revenue: Optional[Decimal] = None total_tax: Optional[Decimal] = None total_revenue: Optional[Decimal] = None currency_code: Optional[str] = None guests: Optional[List[Guest]] = None stay_headers: Optional[List[StayHeader]] = None action_comments: Optional[List[ActionComment]] = None special_requests: Optional[List[SpecialRequest]] = None udf_data_collection: Optional[List[UDFDataType]] = None tax_types: Optional[List[TaxType]] = None stay_history_revenue_collection: Optional[List[StayHistoryRevenue]] = None res_services: Optional[List[ResService]] = None external_references: Optional[List[ExternalReference]] = None payment_methods: Optional[List[PaymentMethod]] = None res_actions: Optional[List[ResAction]] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class ReservationContainer: echo_token: Optional[str] = None change_action: Optional[str] = None reservations: Optional[List[Reservation]] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class Response: status_code: Optional[str] = None record_count: int = 0 error_count: int = 0 # @Route("/reservation/{SubscriptionId}/{CendynPropertyId}", "POST") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class ReservationPost(IReturn[Response]): reservation_container: Optional[ReservationContainer] = None subscription_id: Optional[str] = None cendyn_property_id: Optional[str] = None