| POST | /hotelrate/{SubscriptionId}/{CendynPropertyId} |
|---|
import 'package:servicestack/servicestack.dart';
class Response implements IConvertible
{
String? statusCode;
int? recordCount;
int? errorCount;
Response({this.statusCode,this.recordCount,this.errorCount});
Response.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
statusCode = json['statusCode'];
recordCount = json['recordCount'];
errorCount = json['errorCount'];
return this;
}
Map<String, dynamic> toJson() => {
'statusCode': statusCode,
'recordCount': recordCount,
'errorCount': errorCount
};
getTypeName() => "Response";
TypeContext? context = _ctx;
}
class RateType implements IConvertible
{
String? hotelCode;
String? rateCode;
String? rateCategory;
String? rateName;
DateTime? startDate;
DateTime? endDate;
String? rateStatus;
String? baseRateCode;
String? marketCode;
bool? confidential;
bool? mealsIncluded;
String? taxIncludedIndicator;
String? rateCategoryDescription;
String? displayText;
String? shortDescription;
String? longDescription;
int? minLOS;
String? sourceName;
String? sourceID;
String? rateAdjustDirection;
double? rateAdjustAmount;
double? rateAdjustPercent;
String? currencyCode;
bool? isDaily;
bool? isActive;
DateTime? inactiveDate;
RateType({this.hotelCode,this.rateCode,this.rateCategory,this.rateName,this.startDate,this.endDate,this.rateStatus,this.baseRateCode,this.marketCode,this.confidential,this.mealsIncluded,this.taxIncludedIndicator,this.rateCategoryDescription,this.displayText,this.shortDescription,this.longDescription,this.minLOS,this.sourceName,this.sourceID,this.rateAdjustDirection,this.rateAdjustAmount,this.rateAdjustPercent,this.currencyCode,this.isDaily,this.isActive,this.inactiveDate});
RateType.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
hotelCode = json['hotelCode'];
rateCode = json['rateCode'];
rateCategory = json['rateCategory'];
rateName = json['rateName'];
startDate = JsonConverters.fromJson(json['startDate'],'DateTime',context!);
endDate = JsonConverters.fromJson(json['endDate'],'DateTime',context!);
rateStatus = json['rateStatus'];
baseRateCode = json['baseRateCode'];
marketCode = json['marketCode'];
confidential = json['confidential'];
mealsIncluded = json['mealsIncluded'];
taxIncludedIndicator = json['taxIncludedIndicator'];
rateCategoryDescription = json['rateCategoryDescription'];
displayText = json['displayText'];
shortDescription = json['shortDescription'];
longDescription = json['longDescription'];
minLOS = json['minLOS'];
sourceName = json['sourceName'];
sourceID = json['sourceID'];
rateAdjustDirection = json['rateAdjustDirection'];
rateAdjustAmount = JsonConverters.toDouble(json['rateAdjustAmount']);
rateAdjustPercent = JsonConverters.toDouble(json['rateAdjustPercent']);
currencyCode = json['currencyCode'];
isDaily = json['isDaily'];
isActive = json['isActive'];
inactiveDate = JsonConverters.fromJson(json['inactiveDate'],'DateTime',context!);
return this;
}
Map<String, dynamic> toJson() => {
'hotelCode': hotelCode,
'rateCode': rateCode,
'rateCategory': rateCategory,
'rateName': rateName,
'startDate': JsonConverters.toJson(startDate,'DateTime',context!),
'endDate': JsonConverters.toJson(endDate,'DateTime',context!),
'rateStatus': rateStatus,
'baseRateCode': baseRateCode,
'marketCode': marketCode,
'confidential': confidential,
'mealsIncluded': mealsIncluded,
'taxIncludedIndicator': taxIncludedIndicator,
'rateCategoryDescription': rateCategoryDescription,
'displayText': displayText,
'shortDescription': shortDescription,
'longDescription': longDescription,
'minLOS': minLOS,
'sourceName': sourceName,
'sourceID': sourceID,
'rateAdjustDirection': rateAdjustDirection,
'rateAdjustAmount': rateAdjustAmount,
'rateAdjustPercent': rateAdjustPercent,
'currencyCode': currencyCode,
'isDaily': isDaily,
'isActive': isActive,
'inactiveDate': JsonConverters.toJson(inactiveDate,'DateTime',context!)
};
getTypeName() => "RateType";
TypeContext? context = _ctx;
}
class RateChargeDetail implements IConvertible
{
String? chargeCode;
bool? isBaseRate;
double? rateBeforeTax;
double? rateAfterTax;
int? unitCount;
double? taxAmount;
RateChargeDetail({this.chargeCode,this.isBaseRate,this.rateBeforeTax,this.rateAfterTax,this.unitCount,this.taxAmount});
RateChargeDetail.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
chargeCode = json['chargeCode'];
isBaseRate = json['isBaseRate'];
rateBeforeTax = JsonConverters.toDouble(json['rateBeforeTax']);
rateAfterTax = JsonConverters.toDouble(json['rateAfterTax']);
unitCount = json['unitCount'];
taxAmount = JsonConverters.toDouble(json['taxAmount']);
return this;
}
Map<String, dynamic> toJson() => {
'chargeCode': chargeCode,
'isBaseRate': isBaseRate,
'rateBeforeTax': rateBeforeTax,
'rateAfterTax': rateAfterTax,
'unitCount': unitCount,
'taxAmount': taxAmount
};
getTypeName() => "RateChargeDetail";
TypeContext? context = _ctx;
}
class RateGuestCountDetail implements IConvertible
{
int? guestCount;
double? minRate;
double? maxRate;
RateGuestCountDetail({this.guestCount,this.minRate,this.maxRate});
RateGuestCountDetail.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
guestCount = json['guestCount'];
minRate = JsonConverters.toDouble(json['minRate']);
maxRate = JsonConverters.toDouble(json['maxRate']);
return this;
}
Map<String, dynamic> toJson() => {
'guestCount': guestCount,
'minRate': minRate,
'maxRate': maxRate
};
getTypeName() => "RateGuestCountDetail";
TypeContext? context = _ctx;
}
class Rate implements IConvertible
{
String? hotelCode;
String? rateCode;
String? roomCode;
DateTime? startDate;
DateTime? endDate;
double? rate1;
double? rate2;
double? rate3;
double? rate4;
double? extraAdult;
double? extraChild;
double? extraBed;
String? currencyCode;
int? freeChildLimit;
bool? includeMonday;
bool? includeTuesday;
bool? includeWednesday;
bool? includeThursday;
bool? includeFriday;
bool? includeSaturday;
bool? includeSunday;
String? customerSegment;
String? sourceName;
String? sourceID;
bool? isActive;
DateTime? inactiveDate;
String? rateSetID;
List<RateChargeDetail>? rateChargeDetails;
List<RateGuestCountDetail>? rateGuestCountDetails;
Rate({this.hotelCode,this.rateCode,this.roomCode,this.startDate,this.endDate,this.rate1,this.rate2,this.rate3,this.rate4,this.extraAdult,this.extraChild,this.extraBed,this.currencyCode,this.freeChildLimit,this.includeMonday,this.includeTuesday,this.includeWednesday,this.includeThursday,this.includeFriday,this.includeSaturday,this.includeSunday,this.customerSegment,this.sourceName,this.sourceID,this.isActive,this.inactiveDate,this.rateSetID,this.rateChargeDetails,this.rateGuestCountDetails});
Rate.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
hotelCode = json['hotelCode'];
rateCode = json['rateCode'];
roomCode = json['roomCode'];
startDate = JsonConverters.fromJson(json['startDate'],'DateTime',context!);
endDate = JsonConverters.fromJson(json['endDate'],'DateTime',context!);
rate1 = JsonConverters.toDouble(json['rate1']);
rate2 = JsonConverters.toDouble(json['rate2']);
rate3 = JsonConverters.toDouble(json['rate3']);
rate4 = JsonConverters.toDouble(json['rate4']);
extraAdult = JsonConverters.toDouble(json['extraAdult']);
extraChild = JsonConverters.toDouble(json['extraChild']);
extraBed = JsonConverters.toDouble(json['extraBed']);
currencyCode = json['currencyCode'];
freeChildLimit = json['freeChildLimit'];
includeMonday = json['includeMonday'];
includeTuesday = json['includeTuesday'];
includeWednesday = json['includeWednesday'];
includeThursday = json['includeThursday'];
includeFriday = json['includeFriday'];
includeSaturday = json['includeSaturday'];
includeSunday = json['includeSunday'];
customerSegment = json['customerSegment'];
sourceName = json['sourceName'];
sourceID = json['sourceID'];
isActive = json['isActive'];
inactiveDate = JsonConverters.fromJson(json['inactiveDate'],'DateTime',context!);
rateSetID = json['rateSetID'];
rateChargeDetails = JsonConverters.fromJson(json['rateChargeDetails'],'List<RateChargeDetail>',context!);
rateGuestCountDetails = JsonConverters.fromJson(json['rateGuestCountDetails'],'List<RateGuestCountDetail>',context!);
return this;
}
Map<String, dynamic> toJson() => {
'hotelCode': hotelCode,
'rateCode': rateCode,
'roomCode': roomCode,
'startDate': JsonConverters.toJson(startDate,'DateTime',context!),
'endDate': JsonConverters.toJson(endDate,'DateTime',context!),
'rate1': rate1,
'rate2': rate2,
'rate3': rate3,
'rate4': rate4,
'extraAdult': extraAdult,
'extraChild': extraChild,
'extraBed': extraBed,
'currencyCode': currencyCode,
'freeChildLimit': freeChildLimit,
'includeMonday': includeMonday,
'includeTuesday': includeTuesday,
'includeWednesday': includeWednesday,
'includeThursday': includeThursday,
'includeFriday': includeFriday,
'includeSaturday': includeSaturday,
'includeSunday': includeSunday,
'customerSegment': customerSegment,
'sourceName': sourceName,
'sourceID': sourceID,
'isActive': isActive,
'inactiveDate': JsonConverters.toJson(inactiveDate,'DateTime',context!),
'rateSetID': rateSetID,
'rateChargeDetails': JsonConverters.toJson(rateChargeDetails,'List<RateChargeDetail>',context!),
'rateGuestCountDetails': JsonConverters.toJson(rateGuestCountDetails,'List<RateGuestCountDetail>',context!)
};
getTypeName() => "Rate";
TypeContext? context = _ctx;
}
class RateContainer implements IConvertible
{
String? echoToken;
RateType? rateType;
String? changeAction;
List<Rate>? rates;
RateContainer({this.echoToken,this.rateType,this.changeAction,this.rates});
RateContainer.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
echoToken = json['echoToken'];
rateType = JsonConverters.fromJson(json['rateType'],'RateType',context!);
changeAction = json['changeAction'];
rates = JsonConverters.fromJson(json['rates'],'List<Rate>',context!);
return this;
}
Map<String, dynamic> toJson() => {
'echoToken': echoToken,
'rateType': JsonConverters.toJson(rateType,'RateType',context!),
'changeAction': changeAction,
'rates': JsonConverters.toJson(rates,'List<Rate>',context!)
};
getTypeName() => "RateContainer";
TypeContext? context = _ctx;
}
class HotelRate implements IConvertible
{
RateContainer? rateContainer;
String? subscriptionId;
String? cendynPropertyId;
HotelRate({this.rateContainer,this.subscriptionId,this.cendynPropertyId});
HotelRate.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
rateContainer = JsonConverters.fromJson(json['rateContainer'],'RateContainer',context!);
subscriptionId = json['subscriptionId'];
cendynPropertyId = json['cendynPropertyId'];
return this;
}
Map<String, dynamic> toJson() => {
'rateContainer': JsonConverters.toJson(rateContainer,'RateContainer',context!),
'subscriptionId': subscriptionId,
'cendynPropertyId': cendynPropertyId
};
getTypeName() => "HotelRate";
TypeContext? context = _ctx;
}
TypeContext _ctx = TypeContext(library: 'cert.cendyn.com', types: <String, TypeInfo> {
'Response': TypeInfo(TypeOf.Class, create:() => Response()),
'RateType': TypeInfo(TypeOf.Class, create:() => RateType()),
'RateChargeDetail': TypeInfo(TypeOf.Class, create:() => RateChargeDetail()),
'RateGuestCountDetail': TypeInfo(TypeOf.Class, create:() => RateGuestCountDetail()),
'Rate': TypeInfo(TypeOf.Class, create:() => Rate()),
'List<RateChargeDetail>': TypeInfo(TypeOf.Class, create:() => <RateChargeDetail>[]),
'List<RateGuestCountDetail>': TypeInfo(TypeOf.Class, create:() => <RateGuestCountDetail>[]),
'RateContainer': TypeInfo(TypeOf.Class, create:() => RateContainer()),
'List<Rate>': TypeInfo(TypeOf.Class, create:() => <Rate>[]),
'HotelRate': TypeInfo(TypeOf.Class, create:() => HotelRate()),
});
To override the Content-type in your clients, use the HTTP Accept Header, append the .xml suffix or ?format=xml
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /hotelrate/{SubscriptionId}/{CendynPropertyId} HTTP/1.1
Host: cert.cendyn.com
Accept: application/xml
Content-Type: application/xml
Content-Length: length
<HotelRate xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/CenResSS.ServiceModel">
<CendynPropertyId>String</CendynPropertyId>
<RateContainer>
<ChangeAction>String</ChangeAction>
<EchoToken>String</EchoToken>
<RateType>
<BaseRateCode>String</BaseRateCode>
<Confidential>false</Confidential>
<CurrencyCode>String</CurrencyCode>
<DisplayText>String</DisplayText>
<EndDate>0001-01-01T00:00:00</EndDate>
<HotelCode>String</HotelCode>
<InactiveDate>0001-01-01T00:00:00</InactiveDate>
<IsActive>false</IsActive>
<IsDaily>false</IsDaily>
<LongDescription>String</LongDescription>
<MarketCode>String</MarketCode>
<MealsIncluded>false</MealsIncluded>
<MinLOS>0</MinLOS>
<RateAdjustAmount>0</RateAdjustAmount>
<RateAdjustDirection>String</RateAdjustDirection>
<RateAdjustPercent>0</RateAdjustPercent>
<RateCategory>String</RateCategory>
<RateCategoryDescription>String</RateCategoryDescription>
<RateCode>String</RateCode>
<RateName>String</RateName>
<RateStatus>String</RateStatus>
<ShortDescription>String</ShortDescription>
<SourceID>String</SourceID>
<SourceName>String</SourceName>
<StartDate>0001-01-01T00:00:00</StartDate>
<TaxIncludedIndicator>String</TaxIncludedIndicator>
</RateType>
<Rates>
<Rate>
<CurrencyCode>String</CurrencyCode>
<CustomerSegment>String</CustomerSegment>
<EndDate>0001-01-01T00:00:00</EndDate>
<ExtraAdult>0</ExtraAdult>
<ExtraBed>0</ExtraBed>
<ExtraChild>0</ExtraChild>
<FreeChildLimit>0</FreeChildLimit>
<HotelCode>String</HotelCode>
<InactiveDate>0001-01-01T00:00:00</InactiveDate>
<IncludeFriday>false</IncludeFriday>
<IncludeMonday>false</IncludeMonday>
<IncludeSaturday>false</IncludeSaturday>
<IncludeSunday>false</IncludeSunday>
<IncludeThursday>false</IncludeThursday>
<IncludeTuesday>false</IncludeTuesday>
<IncludeWednesday>false</IncludeWednesday>
<IsActive>false</IsActive>
<Rate1>0</Rate1>
<Rate2>0</Rate2>
<Rate3>0</Rate3>
<Rate4>0</Rate4>
<RateChargeDetails>
<RateChargeDetail>
<ChargeCode>String</ChargeCode>
<IsBaseRate>false</IsBaseRate>
<RateAfterTax>0</RateAfterTax>
<RateBeforeTax>0</RateBeforeTax>
<TaxAmount>0</TaxAmount>
<UnitCount>0</UnitCount>
</RateChargeDetail>
</RateChargeDetails>
<RateCode>String</RateCode>
<RateGuestCountDetails>
<RateGuestCountDetail>
<GuestCount>0</GuestCount>
<MaxRate>0</MaxRate>
<MinRate>0</MinRate>
</RateGuestCountDetail>
</RateGuestCountDetails>
<RateSetID>String</RateSetID>
<RoomCode>String</RoomCode>
<SourceID>String</SourceID>
<SourceName>String</SourceName>
<StartDate>0001-01-01T00:00:00</StartDate>
</Rate>
</Rates>
</RateContainer>
<SubscriptionId>String</SubscriptionId>
</HotelRate>
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>