/* Options: Date: 2026-10-08 22:18:36 Version: 6.21 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://cert.cendyn.com/CenResServiceR2Test //GlobalNamespace: //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: ResSummaryRequest.* //ExcludeTypes: //DefaultImports: package:servicestack/servicestack.dart */ import 'package:servicestack/servicestack.dart'; enum ReservationQueryType { ResId, ProfileId, Name, LastUpdated, ArrivalDate, DepartureDate, StayDate, DatePMSResUpdated, } class ReservationSummary implements IConvertible { String? firstName; String? lastName; String? externalProfileId; String? externalProfileId2; String? externalResID1; String? externalResID2; String? cendynPropertyId; String? propertyName; String? resTypeCode; String? resStatusCode; String? confirmationNum; String? centralResNum; DateTime? resArriveDate; DateTime? resDepartDate; int? numRooms; String? roomTypeCode; String? roomNumber; String? rateCode; String? marketSegmentCode; String? marketCodeCategory; String? marketRegionCode; String? companyName; int? numAdults; int? numYouths; int? numChildren; int? totalRoomNights; String? cancellationID; DateTime? cancellationDate; double? totalOtherRevenue; double? totalRoomRevenue; double? totalTax; double? totalRevenue; DateTime? lastUpdated; ReservationSummary({this.firstName,this.lastName,this.externalProfileId,this.externalProfileId2,this.externalResID1,this.externalResID2,this.cendynPropertyId,this.propertyName,this.resTypeCode,this.resStatusCode,this.confirmationNum,this.centralResNum,this.resArriveDate,this.resDepartDate,this.numRooms,this.roomTypeCode,this.roomNumber,this.rateCode,this.marketSegmentCode,this.marketCodeCategory,this.marketRegionCode,this.companyName,this.numAdults,this.numYouths,this.numChildren,this.totalRoomNights,this.cancellationID,this.cancellationDate,this.totalOtherRevenue,this.totalRoomRevenue,this.totalTax,this.totalRevenue,this.lastUpdated}); ReservationSummary.fromJson(Map json) { fromMap(json); } fromMap(Map json) { firstName = json['firstName']; lastName = json['lastName']; externalProfileId = json['externalProfileId']; externalProfileId2 = json['externalProfileId2']; externalResID1 = json['externalResID1']; externalResID2 = json['externalResID2']; cendynPropertyId = json['cendynPropertyId']; propertyName = json['propertyName']; resTypeCode = json['resTypeCode']; resStatusCode = json['resStatusCode']; confirmationNum = json['confirmationNum']; centralResNum = json['centralResNum']; resArriveDate = JsonConverters.fromJson(json['resArriveDate'],'DateTime',context!); resDepartDate = JsonConverters.fromJson(json['resDepartDate'],'DateTime',context!); numRooms = json['numRooms']; roomTypeCode = json['roomTypeCode']; roomNumber = json['roomNumber']; rateCode = json['rateCode']; marketSegmentCode = json['marketSegmentCode']; marketCodeCategory = json['marketCodeCategory']; marketRegionCode = json['marketRegionCode']; companyName = json['companyName']; numAdults = json['numAdults']; numYouths = json['numYouths']; numChildren = json['numChildren']; totalRoomNights = json['totalRoomNights']; cancellationID = json['cancellationID']; cancellationDate = JsonConverters.fromJson(json['cancellationDate'],'DateTime',context!); totalOtherRevenue = JsonConverters.toDouble(json['totalOtherRevenue']); totalRoomRevenue = JsonConverters.toDouble(json['totalRoomRevenue']); totalTax = JsonConverters.toDouble(json['totalTax']); totalRevenue = JsonConverters.toDouble(json['totalRevenue']); lastUpdated = JsonConverters.fromJson(json['lastUpdated'],'DateTime',context!); return this; } Map toJson() => { 'firstName': firstName, 'lastName': lastName, 'externalProfileId': externalProfileId, 'externalProfileId2': externalProfileId2, 'externalResID1': externalResID1, 'externalResID2': externalResID2, 'cendynPropertyId': cendynPropertyId, 'propertyName': propertyName, 'resTypeCode': resTypeCode, 'resStatusCode': resStatusCode, 'confirmationNum': confirmationNum, 'centralResNum': centralResNum, 'resArriveDate': JsonConverters.toJson(resArriveDate,'DateTime',context!), 'resDepartDate': JsonConverters.toJson(resDepartDate,'DateTime',context!), 'numRooms': numRooms, 'roomTypeCode': roomTypeCode, 'roomNumber': roomNumber, 'rateCode': rateCode, 'marketSegmentCode': marketSegmentCode, 'marketCodeCategory': marketCodeCategory, 'marketRegionCode': marketRegionCode, 'companyName': companyName, 'numAdults': numAdults, 'numYouths': numYouths, 'numChildren': numChildren, 'totalRoomNights': totalRoomNights, 'cancellationID': cancellationID, 'cancellationDate': JsonConverters.toJson(cancellationDate,'DateTime',context!), 'totalOtherRevenue': totalOtherRevenue, 'totalRoomRevenue': totalRoomRevenue, 'totalTax': totalTax, 'totalRevenue': totalRevenue, 'lastUpdated': JsonConverters.toJson(lastUpdated,'DateTime',context!) }; getTypeName() => "ReservationSummary"; TypeContext? context = _ctx; } enum RequestStatus { Success, Warning, Error, NotAuthorized, Failure, } class CenResResponse implements IConvertible { RequestStatus? status; String? statusMessage; int? recordsReturned; int? recordsAvailable; int? pageNumber; int? pageSize; CenResResponse({this.status,this.statusMessage,this.recordsReturned,this.recordsAvailable,this.pageNumber,this.pageSize}); CenResResponse.fromJson(Map json) { fromMap(json); } fromMap(Map json) { status = JsonConverters.fromJson(json['status'],'RequestStatus',context!); statusMessage = json['statusMessage']; recordsReturned = json['recordsReturned']; recordsAvailable = json['recordsAvailable']; pageNumber = json['pageNumber']; pageSize = json['pageSize']; return this; } Map toJson() => { 'status': JsonConverters.toJson(status,'RequestStatus',context!), 'statusMessage': statusMessage, 'recordsReturned': recordsReturned, 'recordsAvailable': recordsAvailable, 'pageNumber': pageNumber, 'pageSize': pageSize }; getTypeName() => "CenResResponse"; TypeContext? context = _ctx; } class ResSummaryResponse extends CenResResponse implements IConvertible { List? records; ResSummaryResponse({this.records}); ResSummaryResponse.fromJson(Map json) { fromMap(json); } fromMap(Map json) { super.fromMap(json); records = JsonConverters.fromJson(json['records'],'List',context!); return this; } Map toJson() => super.toJson()..addAll({ 'records': JsonConverters.toJson(records,'List',context!) }); getTypeName() => "ResSummaryResponse"; TypeContext? context = _ctx; } // @Route("/v2/reservation/summary/{Query}", "GET") // @Route("/v2/reservation/summary/{Query}/{CendynPropertyId}", "GET") class ResSummaryRequest implements IReturn, IConvertible { String? cendynPropertyId; ReservationQueryType? query; String? id; String? firstName; String? lastName; DateTime? startDate; DateTime? endDate; // @DataMember(Name="Limit") int? pageSize; // @DataMember(Name="Page") int? pageNumber; ResSummaryRequest({this.cendynPropertyId,this.query,this.id,this.firstName,this.lastName,this.startDate,this.endDate,this.pageSize,this.pageNumber}); ResSummaryRequest.fromJson(Map json) { fromMap(json); } fromMap(Map json) { cendynPropertyId = json['cendynPropertyId']; query = JsonConverters.fromJson(json['query'],'ReservationQueryType',context!); id = json['id']; firstName = json['firstName']; lastName = json['lastName']; startDate = JsonConverters.fromJson(json['startDate'],'DateTime',context!); endDate = JsonConverters.fromJson(json['endDate'],'DateTime',context!); pageSize = json['pageSize']; pageNumber = json['pageNumber']; return this; } Map toJson() => { 'cendynPropertyId': cendynPropertyId, 'query': JsonConverters.toJson(query,'ReservationQueryType',context!), 'id': id, 'firstName': firstName, 'lastName': lastName, 'startDate': JsonConverters.toJson(startDate,'DateTime',context!), 'endDate': JsonConverters.toJson(endDate,'DateTime',context!), 'pageSize': pageSize, 'pageNumber': pageNumber }; createResponse() => ResSummaryResponse(); getResponseTypeName() => "ResSummaryResponse"; getTypeName() => "ResSummaryRequest"; TypeContext? context = _ctx; } TypeContext _ctx = TypeContext(library: 'cert.cendyn.com', types: { 'ReservationQueryType': TypeInfo(TypeOf.Enum, enumValues:ReservationQueryType.values), 'ReservationSummary': TypeInfo(TypeOf.Class, create:() => ReservationSummary()), 'RequestStatus': TypeInfo(TypeOf.Enum, enumValues:RequestStatus.values), 'CenResResponse': TypeInfo(TypeOf.Class, create:() => CenResResponse()), 'ResSummaryResponse': TypeInfo(TypeOf.Class, create:() => ResSummaryResponse()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'ResSummaryRequest': TypeInfo(TypeOf.Class, create:() => ResSummaryRequest()), });