| 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
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.
POST /HotelPackage/{SubscriptionId}/{CendynPropertyId} HTTP/1.1
Host: cert.cendyn.com
Accept: application/json
Content-Type: application/json
Content-Length: length
{"package":{"externalID":"String","cendynPropertyID":"String","hotelCode":"String","packageCode":"String","packageDescription":"String","shortDescription":"String","forecastGroup":"String","printSeparately":false,"addToRate":false,"priceAmount":0,"taxIncluded":false,"currencyCode":"String","sellSeparate":false,"postNextDay":false,"forecastNextDay":false,"cateringPackage":false,"redemption":false,"overrideFixedRate":false,"calculationRule":"String","postingRhythm":"String","packageElement":"String","addToRateMode":"String","isActive":false,"inactiveDate":"0001-01-01T00:00:00.0000000","sourceName":"String","sourceID":"String","action":"String","packageDetails":[{"startDate":"0001-01-01T00:00:00.0000000","endDate":"0001-01-01T00:00:00.0000000","priceAmount":0,"posAllowance":0,"pointsTotal":0,"action":"String","amountBeforeTax":0,"amountAfterTax":0,"itemName":"String","quantity":0,"code":"String","itemId":"String","showInReservation":false,"useInCRS":false,"addToRate":false,"isFixedCharge":false,"recurrence":"String","relation":"String","monday":false,"tuesday":false,"wednesday":false,"thursday":false,"friday":false,"saturday":false,"sunday":false}],"packageItems":[{"itemName":"String","quantity":0}]},"subscriptionId":"String","cendynPropertyId":"String"}
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: length
{"statusCode":"String","recordCount":0,"errorCount":0}