| 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 .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 /hotelrate/{SubscriptionId}/{CendynPropertyId} HTTP/1.1
Host: cert.cendyn.com
Accept: application/json
Content-Type: application/json
Content-Length: length
{"rateContainer":{"echoToken":"String","rateType":{"hotelCode":"String","rateCode":"String","rateCategory":"String","rateName":"String","startDate":"0001-01-01T00:00:00.0000000","endDate":"0001-01-01T00:00:00.0000000","rateStatus":"String","baseRateCode":"String","marketCode":"String","confidential":false,"mealsIncluded":false,"taxIncludedIndicator":"String","rateCategoryDescription":"String","displayText":"String","shortDescription":"String","longDescription":"String","minLOS":0,"sourceName":"String","sourceID":"String","rateAdjustDirection":"String","rateAdjustAmount":0,"rateAdjustPercent":0,"currencyCode":"String","isDaily":false,"isActive":false,"inactiveDate":"0001-01-01T00:00:00.0000000"},"changeAction":"String","rates":[{"hotelCode":"String","rateCode":"String","roomCode":"String","startDate":"0001-01-01T00:00:00.0000000","endDate":"0001-01-01T00:00:00.0000000","rate1":0,"rate2":0,"rate3":0,"rate4":0,"extraAdult":0,"extraChild":0,"extraBed":0,"currencyCode":"String","freeChildLimit":0,"includeMonday":false,"includeTuesday":false,"includeWednesday":false,"includeThursday":false,"includeFriday":false,"includeSaturday":false,"includeSunday":false,"customerSegment":"String","sourceName":"String","sourceID":"String","isActive":false,"inactiveDate":"0001-01-01T00:00:00.0000000","rateSetID":"String","rateChargeDetails":[{"chargeCode":"String","isBaseRate":false,"rateBeforeTax":0,"rateAfterTax":0,"unitCount":0,"taxAmount":0}],"rateGuestCountDetails":[{"guestCount":0,"minRate":0,"maxRate":0}]}]},"subscriptionId":"String","cendynPropertyId":"String"}
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: length
{"statusCode":"String","recordCount":0,"errorCount":0}