CenResService

<back to all web services

HotelRate

The following routes are available for this service:
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()),
});

Dart HotelRate DTOs

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

HTTP + JSON

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}