/* Options: Date: 2026-10-08 22:18:46 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: StayHistoryRequest.* //ExcludeTypes: //DefaultImports: package:servicestack/servicestack.dart */ import 'package:servicestack/servicestack.dart'; enum StayHistoryQueryType { ProfileId, ResId, } 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 UniqueIDType implements IConvertible { String? id; String? type; String? Context; UniqueIDType({this.id,this.type,this.Context}); UniqueIDType.fromJson(Map json) { fromMap(json); } fromMap(Map json) { id = json['id']; type = json['type']; Context = json['context']; return this; } Map toJson() => { 'id': id, 'type': type, 'context': Context }; getTypeName() => "UniqueIDType"; TypeContext? context = _ctx; } class StayHistoryRevenue implements IConvertible { String? recordStatus; // @DataMember(IsRequired=true) String? revenueGroup; // @DataMember(IsRequired=true) String? revenueType; // @DataMember(IsRequired=true) double? amount; String? currencyCode; String? folioWindow; DateTime? transactionDate; DateTime? inactiveDate; StayHistoryRevenue({this.recordStatus,this.revenueGroup,this.revenueType,this.amount,this.currencyCode,this.folioWindow,this.transactionDate,this.inactiveDate}); StayHistoryRevenue.fromJson(Map json) { fromMap(json); } fromMap(Map json) { recordStatus = json['recordStatus']; revenueGroup = json['revenueGroup']; revenueType = json['revenueType']; amount = JsonConverters.toDouble(json['amount']); currencyCode = json['currencyCode']; folioWindow = json['folioWindow']; transactionDate = JsonConverters.fromJson(json['transactionDate'],'DateTime',context!); inactiveDate = JsonConverters.fromJson(json['inactiveDate'],'DateTime',context!); return this; } Map toJson() => { 'recordStatus': recordStatus, 'revenueGroup': revenueGroup, 'revenueType': revenueType, 'amount': amount, 'currencyCode': currencyCode, 'folioWindow': folioWindow, 'transactionDate': JsonConverters.toJson(transactionDate,'DateTime',context!), 'inactiveDate': JsonConverters.toJson(inactiveDate,'DateTime',context!) }; getTypeName() => "StayHistoryRevenue"; TypeContext? context = _ctx; } class StayHistoryDailyRate implements IConvertible { String? recordStatus; DateTime? transactionDate; String? rateCode; String? marketCode; double? amount; String? currencyCode; String? roomNumber; String? resourceID; String? pseudoRoom; String? roomCategory; String? rateRoomType; DateTime? inactiveDate; StayHistoryDailyRate({this.recordStatus,this.transactionDate,this.rateCode,this.marketCode,this.amount,this.currencyCode,this.roomNumber,this.resourceID,this.pseudoRoom,this.roomCategory,this.rateRoomType,this.inactiveDate}); StayHistoryDailyRate.fromJson(Map json) { fromMap(json); } fromMap(Map json) { recordStatus = json['recordStatus']; transactionDate = JsonConverters.fromJson(json['transactionDate'],'DateTime',context!); rateCode = json['rateCode']; marketCode = json['marketCode']; amount = JsonConverters.toDouble(json['amount']); currencyCode = json['currencyCode']; roomNumber = json['roomNumber']; resourceID = json['resourceID']; pseudoRoom = json['pseudoRoom']; roomCategory = json['roomCategory']; rateRoomType = json['rateRoomType']; inactiveDate = JsonConverters.fromJson(json['inactiveDate'],'DateTime',context!); return this; } Map toJson() => { 'recordStatus': recordStatus, 'transactionDate': JsonConverters.toJson(transactionDate,'DateTime',context!), 'rateCode': rateCode, 'marketCode': marketCode, 'amount': amount, 'currencyCode': currencyCode, 'roomNumber': roomNumber, 'resourceID': resourceID, 'pseudoRoom': pseudoRoom, 'roomCategory': roomCategory, 'rateRoomType': rateRoomType, 'inactiveDate': JsonConverters.toJson(inactiveDate,'DateTime',context!) }; getTypeName() => "StayHistoryDailyRate"; TypeContext? context = _ctx; } class StayHistory implements IConvertible { String? cendynPropertyID; String? resortID; String? externalProfileID1; String? externalResId1; String? crsBookNo; String? resortBookNo; int? resortLegNo; String? confirmationID; String? reservationStatus; bool? hasDailyRooms; String? rateRoomType; DateTime? actualArrivalDate; DateTime? actualDepartureDate; DateTime? bookDate; DateTime? bookedArrivalDate; DateTime? bookedDepartureDate; String? compYN; int? adults; int? children; String? roomCategory; String? roomNumber; double? rateAmount; String? rateCode; String? rateAmountCurrencyCode; String? currencyCode; String? sourceCode; String? marketCode; String? travelAgentID; String? companyID; String? channel; String? paymentMethod; String? rateCurrencyCode; double? totalRevenue; double? roomRevenue; double? fbRevenue; String? membershipType; String? membershipID; String? transactionID; String? transactionStatus; List? uniqueIDs; List? stayHistoryRevenueCollection; List? stayHistoryDailyRateCollection; StayHistory({this.cendynPropertyID,this.resortID,this.externalProfileID1,this.externalResId1,this.crsBookNo,this.resortBookNo,this.resortLegNo,this.confirmationID,this.reservationStatus,this.hasDailyRooms,this.rateRoomType,this.actualArrivalDate,this.actualDepartureDate,this.bookDate,this.bookedArrivalDate,this.bookedDepartureDate,this.compYN,this.adults,this.children,this.roomCategory,this.roomNumber,this.rateAmount,this.rateCode,this.rateAmountCurrencyCode,this.currencyCode,this.sourceCode,this.marketCode,this.travelAgentID,this.companyID,this.channel,this.paymentMethod,this.rateCurrencyCode,this.totalRevenue,this.roomRevenue,this.fbRevenue,this.membershipType,this.membershipID,this.transactionID,this.transactionStatus,this.uniqueIDs,this.stayHistoryRevenueCollection,this.stayHistoryDailyRateCollection}); StayHistory.fromJson(Map json) { fromMap(json); } fromMap(Map json) { cendynPropertyID = json['cendynPropertyID']; resortID = json['resortID']; externalProfileID1 = json['externalProfileID1']; externalResId1 = json['externalResId1']; crsBookNo = json['crsBookNo']; resortBookNo = json['resortBookNo']; resortLegNo = json['resortLegNo']; confirmationID = json['confirmationID']; reservationStatus = json['reservationStatus']; hasDailyRooms = json['hasDailyRooms']; rateRoomType = json['rateRoomType']; actualArrivalDate = JsonConverters.fromJson(json['actualArrivalDate'],'DateTime',context!); actualDepartureDate = JsonConverters.fromJson(json['actualDepartureDate'],'DateTime',context!); bookDate = JsonConverters.fromJson(json['bookDate'],'DateTime',context!); bookedArrivalDate = JsonConverters.fromJson(json['bookedArrivalDate'],'DateTime',context!); bookedDepartureDate = JsonConverters.fromJson(json['bookedDepartureDate'],'DateTime',context!); compYN = json['compYN']; adults = json['adults']; children = json['children']; roomCategory = json['roomCategory']; roomNumber = json['roomNumber']; rateAmount = JsonConverters.toDouble(json['rateAmount']); rateCode = json['rateCode']; rateAmountCurrencyCode = json['rateAmountCurrencyCode']; currencyCode = json['currencyCode']; sourceCode = json['sourceCode']; marketCode = json['marketCode']; travelAgentID = json['travelAgentID']; companyID = json['companyID']; channel = json['channel']; paymentMethod = json['paymentMethod']; rateCurrencyCode = json['rateCurrencyCode']; totalRevenue = JsonConverters.toDouble(json['totalRevenue']); roomRevenue = JsonConverters.toDouble(json['roomRevenue']); fbRevenue = JsonConverters.toDouble(json['fbRevenue']); membershipType = json['membershipType']; membershipID = json['membershipID']; transactionID = json['transactionID']; transactionStatus = json['transactionStatus']; uniqueIDs = JsonConverters.fromJson(json['uniqueIDs'],'List',context!); stayHistoryRevenueCollection = JsonConverters.fromJson(json['stayHistoryRevenueCollection'],'List',context!); stayHistoryDailyRateCollection = JsonConverters.fromJson(json['stayHistoryDailyRateCollection'],'List',context!); return this; } Map toJson() => { 'cendynPropertyID': cendynPropertyID, 'resortID': resortID, 'externalProfileID1': externalProfileID1, 'externalResId1': externalResId1, 'crsBookNo': crsBookNo, 'resortBookNo': resortBookNo, 'resortLegNo': resortLegNo, 'confirmationID': confirmationID, 'reservationStatus': reservationStatus, 'hasDailyRooms': hasDailyRooms, 'rateRoomType': rateRoomType, 'actualArrivalDate': JsonConverters.toJson(actualArrivalDate,'DateTime',context!), 'actualDepartureDate': JsonConverters.toJson(actualDepartureDate,'DateTime',context!), 'bookDate': JsonConverters.toJson(bookDate,'DateTime',context!), 'bookedArrivalDate': JsonConverters.toJson(bookedArrivalDate,'DateTime',context!), 'bookedDepartureDate': JsonConverters.toJson(bookedDepartureDate,'DateTime',context!), 'compYN': compYN, 'adults': adults, 'children': children, 'roomCategory': roomCategory, 'roomNumber': roomNumber, 'rateAmount': rateAmount, 'rateCode': rateCode, 'rateAmountCurrencyCode': rateAmountCurrencyCode, 'currencyCode': currencyCode, 'sourceCode': sourceCode, 'marketCode': marketCode, 'travelAgentID': travelAgentID, 'companyID': companyID, 'channel': channel, 'paymentMethod': paymentMethod, 'rateCurrencyCode': rateCurrencyCode, 'totalRevenue': totalRevenue, 'roomRevenue': roomRevenue, 'fbRevenue': fbRevenue, 'membershipType': membershipType, 'membershipID': membershipID, 'transactionID': transactionID, 'transactionStatus': transactionStatus, 'uniqueIDs': JsonConverters.toJson(uniqueIDs,'List',context!), 'stayHistoryRevenueCollection': JsonConverters.toJson(stayHistoryRevenueCollection,'List',context!), 'stayHistoryDailyRateCollection': JsonConverters.toJson(stayHistoryDailyRateCollection,'List',context!) }; getTypeName() => "StayHistory"; TypeContext? context = _ctx; } class StayHistoryResponse extends CenResResponse implements IConvertible { List? records; StayHistoryResponse({this.records}); StayHistoryResponse.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() => "StayHistoryResponse"; TypeContext? context = _ctx; } // @Route("/v2/stayhistory/{Query}", "GET") // @Route("/v2/stayhistory/{Query}/{CendynPropertyId}", "GET") class StayHistoryRequest implements IReturn, IConvertible { String? cendynPropertyId; StayHistoryQueryType? query; String? id; StayHistoryRequest({this.cendynPropertyId,this.query,this.id}); StayHistoryRequest.fromJson(Map json) { fromMap(json); } fromMap(Map json) { cendynPropertyId = json['cendynPropertyId']; query = JsonConverters.fromJson(json['query'],'StayHistoryQueryType',context!); id = json['id']; return this; } Map toJson() => { 'cendynPropertyId': cendynPropertyId, 'query': JsonConverters.toJson(query,'StayHistoryQueryType',context!), 'id': id }; createResponse() => StayHistoryResponse(); getResponseTypeName() => "StayHistoryResponse"; getTypeName() => "StayHistoryRequest"; TypeContext? context = _ctx; } TypeContext _ctx = TypeContext(library: 'cert.cendyn.com', types: { 'StayHistoryQueryType': TypeInfo(TypeOf.Enum, enumValues:StayHistoryQueryType.values), 'RequestStatus': TypeInfo(TypeOf.Enum, enumValues:RequestStatus.values), 'CenResResponse': TypeInfo(TypeOf.Class, create:() => CenResResponse()), 'UniqueIDType': TypeInfo(TypeOf.Class, create:() => UniqueIDType()), 'StayHistoryRevenue': TypeInfo(TypeOf.Class, create:() => StayHistoryRevenue()), 'StayHistoryDailyRate': TypeInfo(TypeOf.Class, create:() => StayHistoryDailyRate()), 'StayHistory': TypeInfo(TypeOf.Class, create:() => StayHistory()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'List': TypeInfo(TypeOf.Class, create:() => []), 'List': TypeInfo(TypeOf.Class, create:() => []), 'StayHistoryResponse': TypeInfo(TypeOf.Class, create:() => StayHistoryResponse()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'StayHistoryRequest': TypeInfo(TypeOf.Class, create:() => StayHistoryRequest()), });