CenResService

<back to all web services

HotelInventorySnapshot

The following routes are available for this service:
POST/hotelinventorysnapshot/{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 InventoryRoom:
    room_type: Optional[str] = None
    physical_rooms: Optional[int] = None
    out_of_order: Optional[int] = None
    definitive_available: Optional[int] = None
    definitive_sold: Optional[int] = None
    block_count: Optional[int] = None
    expected_block_revenue: Optional[Decimal] = None
    casino_block_count: Optional[int] = None
    expected_casino_revenue: Optional[Decimal] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class InventorySnapshot:
    cendyn_property_i_d: Optional[str] = None
    hotel_code: Optional[str] = None
    inventory_day: Optional[datetime.datetime] = None
    physical_rooms: Optional[int] = None
    out_of_order: Optional[int] = None
    definitive_sold: Optional[int] = None
    block_count: Optional[int] = None
    expected_block_revenue: Optional[Decimal] = None
    casino_block_count: Optional[int] = None
    expected_casino_revenue: Optional[Decimal] = None
    source_name: Optional[str] = None
    source_i_d: Optional[str] = None
    inventory_rooms: Optional[List[InventoryRoom]] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class HotelInventorySnapshot:
    inventory_snapshot: Optional[InventorySnapshot] = None
    subscription_id: Optional[str] = None
    cendyn_property_id: Optional[str] = None

Python HotelInventorySnapshot 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 /hotelinventorysnapshot/{SubscriptionId}/{CendynPropertyId} HTTP/1.1 
Host: cert.cendyn.com 
Accept: application/xml
Content-Type: application/xml
Content-Length: length

<HotelInventorySnapshot xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/CenResSS.ServiceModel">
  <CendynPropertyId>String</CendynPropertyId>
  <InventorySnapshot>
    <BlockCount>0</BlockCount>
    <CasinoBlockCount>0</CasinoBlockCount>
    <CendynPropertyID>String</CendynPropertyID>
    <DefinitiveSold>0</DefinitiveSold>
    <ExpectedBlockRevenue>0</ExpectedBlockRevenue>
    <ExpectedCasinoRevenue>0</ExpectedCasinoRevenue>
    <HotelCode>String</HotelCode>
    <InventoryDay>0001-01-01T00:00:00</InventoryDay>
    <InventoryRooms>
      <InventoryRoom>
        <BlockCount>0</BlockCount>
        <CasinoBlockCount>0</CasinoBlockCount>
        <DefinitiveAvailable>0</DefinitiveAvailable>
        <DefinitiveSold>0</DefinitiveSold>
        <ExpectedBlockRevenue>0</ExpectedBlockRevenue>
        <ExpectedCasinoRevenue>0</ExpectedCasinoRevenue>
        <OutOfOrder>0</OutOfOrder>
        <PhysicalRooms>0</PhysicalRooms>
        <RoomType>String</RoomType>
      </InventoryRoom>
    </InventoryRooms>
    <OutOfOrder>0</OutOfOrder>
    <PhysicalRooms>0</PhysicalRooms>
    <SourceID>String</SourceID>
    <SourceName>String</SourceName>
  </InventorySnapshot>
  <SubscriptionId>String</SubscriptionId>
</HotelInventorySnapshot>
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>