CenResService

<back to all web services

HotelPackage

The following routes are available for this service:
POST/HotelPackage/{SubscriptionId}/{CendynPropertyId}
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 Response:
    status_code: Optional[str] = None
    record_count: Optional[int] = None
    error_count: Optional[int] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PackageDetail:
    start_date: Optional[datetime.datetime] = None
    end_date: Optional[datetime.datetime] = None
    price_amount: Optional[Decimal] = None
    pos_allowance: Optional[Decimal] = None
    points_total: Optional[int] = None
    action: Optional[str] = None
    amount_before_tax: Optional[Decimal] = None
    amount_after_tax: Optional[Decimal] = None
    item_name: Optional[str] = None
    quantity: Optional[int] = None
    code: Optional[str] = None
    item_id: Optional[str] = None
    show_in_reservation: Optional[bool] = None
    use_in_c_r_s: Optional[bool] = None
    add_to_rate: Optional[bool] = None
    is_fixed_charge: Optional[bool] = None
    recurrence: Optional[str] = None
    relation: Optional[str] = None
    monday: Optional[bool] = None
    tuesday: Optional[bool] = None
    wednesday: Optional[bool] = None
    thursday: Optional[bool] = None
    friday: Optional[bool] = None
    saturday: Optional[bool] = None
    sunday: Optional[bool] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PackageItem:
    item_name: Optional[str] = None
    quantity: Optional[int] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class Package:
    external_i_d: Optional[str] = None
    cendyn_property_i_d: Optional[str] = None
    hotel_code: Optional[str] = None
    package_code: Optional[str] = None
    package_description: Optional[str] = None
    short_description: Optional[str] = None
    forecast_group: Optional[str] = None
    print_separately: Optional[bool] = None
    add_to_rate: Optional[bool] = None
    price_amount: Optional[Decimal] = None
    tax_included: Optional[bool] = None
    currency_code: Optional[str] = None
    sell_separate: Optional[bool] = None
    post_next_day: Optional[bool] = None
    forecast_next_day: Optional[bool] = None
    catering_package: Optional[bool] = None
    redemption: Optional[bool] = None
    override_fixed_rate: Optional[bool] = None
    calculation_rule: Optional[str] = None
    posting_rhythm: Optional[str] = None
    package_element: Optional[str] = None
    add_to_rate_mode: Optional[str] = None
    is_active: Optional[bool] = None
    inactive_date: Optional[datetime.datetime] = None
    source_name: Optional[str] = None
    source_i_d: Optional[str] = None
    action: Optional[str] = None
    package_details: Optional[List[PackageDetail]] = None
    package_items: Optional[List[PackageItem]] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class HotelPackage:
    package: Optional[Package] = None
    subscription_id: Optional[str] = None
    cendyn_property_id: Optional[str] = None

Python HotelPackage DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .xml suffix or ?format=xml

HTTP + XML

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

POST /HotelPackage/{SubscriptionId}/{CendynPropertyId} HTTP/1.1 
Host: cert.cendyn.com 
Accept: application/xml
Content-Type: application/xml
Content-Length: length

<HotelPackage xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/CenResSS.ServiceModel">
  <CendynPropertyId>String</CendynPropertyId>
  <Package>
    <Action>String</Action>
    <AddToRate>false</AddToRate>
    <AddToRateMode>String</AddToRateMode>
    <CalculationRule>String</CalculationRule>
    <CateringPackage>false</CateringPackage>
    <CendynPropertyID>String</CendynPropertyID>
    <CurrencyCode>String</CurrencyCode>
    <ExternalID>String</ExternalID>
    <ForecastGroup>String</ForecastGroup>
    <ForecastNextDay>false</ForecastNextDay>
    <HotelCode>String</HotelCode>
    <InactiveDate>0001-01-01T00:00:00</InactiveDate>
    <IsActive>false</IsActive>
    <OverrideFixedRate>false</OverrideFixedRate>
    <PackageCode>String</PackageCode>
    <PackageDescription>String</PackageDescription>
    <PackageDetails>
      <PackageDetail>
        <Action>String</Action>
        <AddToRate>false</AddToRate>
        <AmountAfterTax>0</AmountAfterTax>
        <AmountBeforeTax>0</AmountBeforeTax>
        <Code>String</Code>
        <EndDate>0001-01-01T00:00:00</EndDate>
        <Friday>false</Friday>
        <IsFixedCharge>false</IsFixedCharge>
        <ItemId>String</ItemId>
        <ItemName>String</ItemName>
        <Monday>false</Monday>
        <POSAllowance>0</POSAllowance>
        <PointsTotal>0</PointsTotal>
        <PriceAmount>0</PriceAmount>
        <Quantity>0</Quantity>
        <Recurrence>String</Recurrence>
        <Relation>String</Relation>
        <Saturday>false</Saturday>
        <ShowInReservation>false</ShowInReservation>
        <StartDate>0001-01-01T00:00:00</StartDate>
        <Sunday>false</Sunday>
        <Thursday>false</Thursday>
        <Tuesday>false</Tuesday>
        <UseInCRS>false</UseInCRS>
        <Wednesday>false</Wednesday>
      </PackageDetail>
    </PackageDetails>
    <PackageElement>String</PackageElement>
    <PackageItems>
      <PackageItem>
        <ItemName>String</ItemName>
        <Quantity>0</Quantity>
      </PackageItem>
    </PackageItems>
    <PostNextDay>false</PostNextDay>
    <PostingRhythm>String</PostingRhythm>
    <PriceAmount>0</PriceAmount>
    <PrintSeparately>false</PrintSeparately>
    <Redemption>false</Redemption>
    <SellSeparate>false</SellSeparate>
    <ShortDescription>String</ShortDescription>
    <SourceID>String</SourceID>
    <SourceName>String</SourceName>
    <TaxIncluded>false</TaxIncluded>
  </Package>
  <SubscriptionId>String</SubscriptionId>
</HotelPackage>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length

<Response xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/CenResSS.ServiceModel">
  <ErrorCount>0</ErrorCount>
  <RecordCount>0</RecordCount>
  <StatusCode>String</StatusCode>
</Response>