| GET | /v2/reservation/{CendynPropertyId} | ||
|---|---|---|---|
| GET | /v2/reservationfull/{CendynPropertyId} | ||
| GET | /v2/reservation | ||
| GET | /v2/reservationfull |
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 RequestStatus(str, Enum):
SUCCESS = 'Success'
WARNING = 'Warning'
ERROR = 'Error'
NOT_AUTHORIZED = 'NotAuthorized'
FAILURE = 'Failure'
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class CenResResponse:
status: Optional[RequestStatus] = None
status_message: Optional[str] = None
records_returned: Optional[int] = None
records_available: Optional[int] = None
page_number: Optional[int] = None
page_size: Optional[int] = None
@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: Optional[bool] = None
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: Optional[bool] = None
folio_i_d: Optional[str] = None
percentage_billed: Optional[Decimal] = None
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: Optional[Decimal] = None
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: Optional[datetime.datetime] = None
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: Optional[int] = None
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: Optional[int] = None
charge_type: Optional[str] = None
curency_code: Optional[str] = None
amount: Optional[Decimal] = None
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: Optional[datetime.datetime] = None
stay_end_date: Optional[datetime.datetime] = None
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: Optional[Decimal] = None
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: Optional[datetime.datetime] = None
res_depart_date: Optional[datetime.datetime] = None
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 ResFullResponse(CenResResponse):
reservation: Optional[Reservation] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class ReservationRequest:
cendyn_property_id: Optional[str] = None
id: Optional[str] = None
Python ReservationRequest DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .json suffix or ?format=json
To embed the response in a jsonp callback, append ?callback=myCallback
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
GET /v2/reservation/{CendynPropertyId} HTTP/1.1
Host: cert.cendyn.com
Accept: application/json
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: length
{"reservation":{"cendynPropertyID":"String","propertyName":"String","uniqueIDs":[{"id":"String","type":"String","context":"String"}],"resTypeCode":"String","resStatusCode":"String","resStatus":"String","confirmationNum":"String","centralResNum":"String","resArriveDate":"0001-01-01T00:00:00.0000000","resDepartDate":"0001-01-01T00:00:00.0000000","resArriveTime":"String","resDepartTime":"String","numRooms":0,"buildingCode":"String","roomTypeCode":"String","roomNumber":"String","rateCode":"String","rateCategoryCode":"String","rateAmount":0,"rateConfidential":false,"packageCode":"String","packageAmount":0,"packageDescription":"String","discountCode":"String","discountAmount":0,"discountPercent":0,"discountReasonCode":"String","guaranteedByCode":"String","mop":"String","isNotRefundable":false,"sharerCode":"String","legNumbers":"String","groupID":"String","groupName":"String","resSourceCode":"String","resSourceCategory":"String","trvlAgntPmsID":"String","trvlAgntCode":"String","trvlAgntIATA":"String","trvlAgntName":"String","marketSegmentCode":"String","marketCodeCategory":"String","marketRegionCode":"String","companyCode":"String","companyName":"String","billingCode":"String","billingName":"String","customerSegment":"String","numAdults":0,"numYouths":0,"numChildren":0,"totalRoomNights":0,"dateResMade":"0001-01-01T00:00:00.0000000","dateResUpdated":"0001-01-01T00:00:00.0000000","resMadeBy":"String","resUpdatedBy":"String","checkedInBy":"String","checkedOutBy":"String","cancellationID":"String","cancellationCode":"String","cancellationComment":"String","cancellationDate":"0001-01-01T00:00:00.0000000","sourceName":"String","sourceID":"String","averageRoomRate":0,"depositAmountDue":0,"depositAmountPaid":0,"accountBalance":0,"totalOtherRevenue":0,"totalFBRevenue":0,"totalRoomRevenue":0,"totalTax":0,"totalRevenue":0,"currencyCode":"String","guests":[{"arrivalDate":"0001-01-01T00:00:00.0000000","departureDate":"0001-01-01T00:00:00.0000000","profileSequence":0,"isPrimary":false,"folioID":"String","percentageBilled":0,"purposeOfStay":"String","originalReservationNum":"String","originalConfirmationNum":"String","guestGroupSequence":0,"taxType":"String","guestProfile":{"cendynPropertyID":"String","propertyName":"String","uniqueIDs":[{"id":"String","type":"String","context":"String"}],"profileTypeCode":"String","profileTypeDescription":"String","nameCode":"String","profileTypeCategory":"String","jobTitle":"String","salutation":"String","firstName":"String","familiarName":"String","middleName":"String","lastName":"String","fullName":"String","nameSuffix":"String","vipid":"String","vipCode":"String","primaryLanguage":"String","genderCode":"String","dobYear":"String","dobMonth":"String","dobDayOfMonth":"String","companyName":"String","arNumber":"String","allowMail":false,"allowEMail":false,"guestPriv":false,"allowPhone":false,"allowSMS":false,"allowHistory":false,"allowMarketResearch":false,"allowThirdParty":false,"allowLoyaltyProgram":false,"creatorCode":"String","lastUpdaterCode":"String","dateProfileCreated":"0001-01-01T00:00:00.0000000","dateProfileUpdated":"0001-01-01T00:00:00.0000000","inactiveDate":"0001-01-01T00:00:00.0000000","nationality":"String","resortCode":"String","retiredProfileId":"String","transferredSubscriptionId":"String","sourceName":"String","sourceID":"String","optOutMarketing":false,"optOutDate":"0001-01-01T00:00:00.0000000","profileExtension":{"languageCode":"String","salutationExt":"String","firstNameExt":"String","familiarNameExt":"String","middleNameExt":"String","lastNameExt":"String","nameSuffixExt":"String","companyNameExt":"String","blacklist":"String","blackListMessage":"String","anonymizationStatus":"String"},"addresses":[{"addressTypeCode":"String","addressTypeDescription":"String","addressStatus":"String","attn":"String","address1":"String","address2":"String","city":"String","stateProvince":"String","postalCode":"String","countryCode":"String","isPrimary":false,"addressLanguage":"String","addressCleansed":false,"optOutMarketing":false,"optOutDate":"0001-01-01T00:00:00.0000000"}],"memberships":[{"externalID":"String","programCode":"String","membershipID":"String","membershipCategory":"String","membershipName":"String","membershipLevel":"String","membershipStatus":"String","enrollmentCode":"String","dateMembershipStarts":"0001-01-01T00:00:00.0000000","dateMembershipExpires":"0001-01-01T00:00:00.0000000","totalStays":0,"awardCredits":0,"awardAvailable":0,"primaryAirline":false,"displaySequence":0,"sourceName":"String","sourceID":"String","isActive":false,"inactiveDate":"0001-01-01T00:00:00.0000000","pointsIndicator":false}],"contactMethods":[{"type":"String","category":"String","dataValue":"String","extraData":"String","optOut":false,"sourceDate":"0001-01-01T00:00:00.0000000","isPrimary":false,"confirmation":false,"inactiveDate":"0001-01-01T00:00:00.0000000","optOutMarketing":false,"optOutDate":"0001-01-01T00:00:00.0000000"}],"actionComments":[{"externalID":"String","commentType":"String","commentTitle":"String","commentClass":"String","actionType":"String","comment":"String","actionDate":"0001-01-01T00:00:00.0000000","inactiveDate":"0001-01-01T00:00:00.0000000","guestViewable":false,"creatorCode":"String","dateCommentCreated":"0001-01-01T00:00:00.0000000","resortCode":"String"}],"specialRequests":[{"externalID":"String","requestType":"String","requestCode":"String","requestComments":"String","resortField":"String","actionTypeCode":"String","actionType":"String","inactiveDate":"0001-01-01T00:00:00.0000000"}],"udfDataCollection":[{"cendynPropertyID":"String","moduleName":"String","tableName":"String","columnName":"String","udfValue":"String"}],"lead":{"fK_Reservation":"00000000000000000000000000000000","externalLeadID":"String","externalLeadSource":"String","leadStatus":"String","leadAcquired":"0001-01-01T00:00:00.0000000","tentativeStartDate":"0001-01-01T00:00:00.0000000","tentativeEndDate":"0001-01-01T00:00:00.0000000","assignedAgent":"String","assignedDate":"0001-01-01T00:00:00.0000000","contactMethod":"String","contactAgent":"String","contactDate":"0001-01-01T00:00:00.0000000","lastFollowupMethod":"String","lastFollowupAgent":"String","lastFollowupDate":"0001-01-01T00:00:00.0000000","bookingMethod":"String","bookingAgent":"String","bookingDate":"0001-01-01T00:00:00.0000000","reasonforStay":"String","marketCode":"String","campaignCode":"String","campaignName":"String","priceEstimate":0,"flaggedForAttention":false},"relatedTravelers":[{"cendynPropertyID":"String","propertyName":"String","uniqueIDs":[{"id":"String","type":"String","context":"String"}],"salutation":"String","firstName":"String","familiarName":"String","middleName":"String","lastName":"String","fullName":"String","suffix":"String","relation":"String","isPrimary":false}],"documents":[{"documentID":"String","documentType":"String","documentSource":"String","codeOnDocument":"String","documentNotes":"String","nameOnDocument":"String","nationalityOnDocument":"String","effectiveDate":"0001-01-01T00:00:00.0000000","expirationDate":"0001-01-01T00:00:00.0000000","issuer":"String","issuerCountry":"String","isPrimary":false,"piI_StoredAs":"String","inactiveDate":"0001-01-01T00:00:00.0000000"}],"vouchers":[{"hotelCode":"String","voucherID":"String","voucherID2":"String","appliedToResort":"String","reservationID":"String","profileIDRecipient":"String","subscriberIDRecipient":"String","recipientName":"String","emailaddress":"String","profileIDPurchaser":"String","purchaserName":"String","voucherStatus":"String","voucherType":"String","membershipType":"String","certCode":"String","certNo":"String","shortDescription":"String","giftMessage":"String","comments":"String","voucherAmount":0,"currencyCode":"String","issueType":"String","dateConsumed":"0001-01-01T00:00:00.0000000","expirationDate":"0001-01-01T00:00:00.0000000","awardPoints":0,"ruleType":"String","ruleValue":"String","cancelAllowed":false,"maxExtensions":0,"referenceType":"String","referenceID":"String","promotionCode":"String","reservationConsumed":false,"webConsumed":false,"pmsConsumed":false,"verifyCertNo":false,"generateInLieu":false,"creatorCode":"String","lastUpdaterCode":"String","folioID":"String","inactiveDate":"0001-01-01T00:00:00.0000000"}],"profilePolicies":[{"policyType":"String","attributeName":"String","integerValue":0,"stringValue":"String","effectiveDate":"0001-01-01T00:00:00.0000000","expirationDate":"0001-01-01T00:00:00.0000000","comments":"String","externalID":"String","appliesTo":"String","appliesToDescriptor":"String"}]},"externalReferences":[{"pK_ExternalReferences":"00000000000000000000000000000000","fK_Internal":"00000000000000000000000000000000","fK_InternalId":0,"keyTable":"String","referenceType":"String","referenceSource":"String","referenceNumber":"String","legNumber":0}],"activities":[{"cendynPropertyID":"String","reservationID":"String","profileID":"String","activityStatus":"String","activityCategory":"String","activityID1":"String","activitySource1":"String","activityID2":"String","activitySource2":"String","activityName":"String","activityDescription":"String","activityNotes":"String","groupCode":"String","currencyCode":"String","amount":0,"depositRequired":0,"depositCollectorType":"String","inactiveDate":"0001-01-01T00:00:00.0000000","urlLink":"String","confirmationNum":"String","activityClass":"String","activityCode":"String","activitySubCode":"String","languageCode":"String","numAdults":0,"numYouths":0,"numChildren":0,"startDate":"0001-01-01T00:00:00.0000000","startTaskType":"String","startLocationCode":"String","startLocationName":"String","endDate":"0001-01-01T00:00:00.0000000","endTaskType":"String","endLocationCode":"String","durationUnit":"String","relatedDate":"0001-01-01T00:00:00.0000000","relatedType":"String","relatedLocationCode":"String","relatedDescription":"String","vipCode":"String","assignedUser":"String","bookedDate":"0001-01-01T00:00:00.0000000","bookedBy":"String","lastUpdatedDate":"0001-01-01T00:00:00.0000000","lastUpdatedBy":"String","cancellationCode":"String","customField1":"String","customField2":"String","customField3":"String","customField4":"String","customField5":"String"}],"udfDataCollection":[{"cendynPropertyID":"String","moduleName":"String","tableName":"String","columnName":"String","udfValue":"String"}]}],"stayHeaders":[{"externalID":"String","stayBeginDate":"0001-01-01T00:00:00.0000000","stayEndDate":"0001-01-01T00:00:00.0000000","buildingCode":"String","roomNumber":"String","roomType":"String","marketSegmentCode":"String","resSourceCode":"String","shareCode":"String","invBlockCode":"String","resStatusType":"String","rtc":"String","channelCode":"String","sourceSequence":0,"rateType":"String","rateCategory":"String","dailyRate":0,"currencyCode":"String","promotionCode":"String","stayDetails":[{"externalID":"String","stayDate":"0001-01-01T00:00:00.0000000","roomNumber":"String","roomType":"String","rateType":"String","marketCode":"String","resSourceCode":"String","numberOfRooms":0,"dailyRate":0,"currencyCode":"String","dateStayDetailUpdated":"0001-01-01T00:00:00.0000000","dailyRateBeforeTax":0,"dailyRateAfterTax":0,"taxTypes":[{"amount":0,"code":"String","description":"String"}]}],"cancelPenalties":[{"ruleType":"String","ruleCode":"String","ruleDescription":"String","resortRuleID":"String","ruleID":"String","amount":0,"percentage":0,"cancelByDate":"0001-01-01T00:00:00.0000000","cancelPercentDue":0,"cancelRoomNights":0,"activityDeposit":0,"roomDeposit":0,"ruleScope":"String","currencyCode":"String"}],"resServices":[{"externalID":"String","serviceType":"String","serviceGroup":"String","resAction":"String","servicePricingType":"String","serviceSequence":0,"serviceInventoryCode":"String","startDate":"0001-01-01T00:00:00.0000000","endDate":"0001-01-01T00:00:00.0000000","frequency":"String","priceAmount":0,"currencyCode":"String","quantity":0,"ratePlanCode":"String","inventoryBlockCode":"String","priceGuaranteed":false,"inclusive":false,"serviceComments":"String","inactiveDate":"0001-01-01T00:00:00.0000000","servicePrices":[{"externalID":"String","actualBeginDate":"0001-01-01T00:00:00.0000000","actualEndDate":"0001-01-01T00:00:00.0000000","unitPrice":0}]}],"payInfoCollection":[{"recordType":"String","methodTypeCode":"String","methodType":"String","dueDate":"0001-01-01T00:00:00.0000000","amount":0,"currencyCode":"String","cancelIfNotReceived":false,"dropTime":"0001-01-01T00:00:00.0000000"}],"fixedCharges":[{"chargeCode":"String","chargeName":"String","description":"String","frequency":"String","chargeUnit":0,"chargeType":"String","curencyCode":"String","amount":0,"taxInclusive":false,"taxAmount":0,"percentage":0,"effectiveDate":"0001-01-01T00:00:00.0000000","expirationDate":"0001-01-01T00:00:00.0000000","taxable":false,"customCode1":"String","customCode2":"String","customCode3":"String","inactiveDate":"0001-01-01T00:00:00.0000000"}]}],"actionComments":[{"externalID":"String","commentType":"String","commentTitle":"String","commentClass":"String","actionType":"String","comment":"String","actionDate":"0001-01-01T00:00:00.0000000","inactiveDate":"0001-01-01T00:00:00.0000000","guestViewable":false,"creatorCode":"String","dateCommentCreated":"0001-01-01T00:00:00.0000000","resortCode":"String"}],"specialRequests":[{"externalID":"String","requestType":"String","requestCode":"String","requestComments":"String","resortField":"String","actionTypeCode":"String","actionType":"String","inactiveDate":"0001-01-01T00:00:00.0000000"}],"udfDataCollection":[{"cendynPropertyID":"String","moduleName":"String","tableName":"String","columnName":"String","udfValue":"String"}],"taxTypes":[{"amount":0,"code":"String","description":"String"}],"stayHistoryRevenueCollection":[{"recordStatus":"String","revenueGroup":"String","revenueType":"String","amount":0,"currencyCode":"String","folioWindow":"String","transactionDate":"0001-01-01T00:00:00.0000000","inactiveDate":"0001-01-01T00:00:00.0000000"}],"resServices":[{"externalID":"String","serviceType":"String","serviceGroup":"String","resAction":"String","servicePricingType":"String","serviceSequence":0,"serviceInventoryCode":"String","startDate":"0001-01-01T00:00:00.0000000","endDate":"0001-01-01T00:00:00.0000000","frequency":"String","priceAmount":0,"currencyCode":"String","quantity":0,"ratePlanCode":"String","inventoryBlockCode":"String","priceGuaranteed":false,"inclusive":false,"serviceComments":"String","inactiveDate":"0001-01-01T00:00:00.0000000","servicePrices":[{"externalID":"String","actualBeginDate":"0001-01-01T00:00:00.0000000","actualEndDate":"0001-01-01T00:00:00.0000000","unitPrice":0}]}],"externalReferences":[{"pK_ExternalReferences":"00000000000000000000000000000000","fK_Internal":"00000000000000000000000000000000","fK_InternalId":0,"keyTable":"String","referenceType":"String","referenceSource":"String","referenceNumber":"String","legNumber":0}],"paymentMethods":[{"methodOfPayment":"String","folioID":"String","paymentCards":[{"cardType":"String","cardHolderName":"String","cardValue":"String","cardValueType":"String","expirationMonth":0,"expirationYear":0,"securityCode":"String","isPrimary":false}]}],"resActions":[{"externalID":"String","resActionTypeID":"String","resActionType":"RT","sourceResAction":"String","resActionText":"String","resActionBy":"String","resActionDate":"0001-01-01T00:00:00.0000000","inactiveDate":"0001-01-01T00:00:00.0000000"}]},"status":"Success","statusMessage":"String","recordsReturned":0,"recordsAvailable":0,"pageNumber":0,"pageSize":0}