/* Options: Date: 2026-10-08 22:18:29 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: RoomTypeAvailabilityRequest.* //ExcludeTypes: //DefaultImports: package:servicestack/servicestack.dart */ import 'package:servicestack/servicestack.dart'; enum RequestType { CenRes, Inventory, } class RoomType implements IConvertible { String? externalID; String? hotelCode; String? roomCode; String? roomCategory; String? shortDescription; String? longDescription; String? roomTypeCode; String? roomClass; String? imagePath; int? roomsInHotel; String? bedTypeCode; bool? nonSmoking; bool? activeRetail; int? occupancyMax; int? occupancyAdult; int? occupancyChild; double? xtraAdultCharge; double? xtraChildCharge; double? roomArea; bool? isPseudo; bool? isActive; DateTime? inactiveDate; String? sourceName; String? sourceID; RoomType({this.externalID,this.hotelCode,this.roomCode,this.roomCategory,this.shortDescription,this.longDescription,this.roomTypeCode,this.roomClass,this.imagePath,this.roomsInHotel,this.bedTypeCode,this.nonSmoking,this.activeRetail,this.occupancyMax,this.occupancyAdult,this.occupancyChild,this.xtraAdultCharge,this.xtraChildCharge,this.roomArea,this.isPseudo,this.isActive,this.inactiveDate,this.sourceName,this.sourceID}); RoomType.fromJson(Map json) { fromMap(json); } fromMap(Map json) { externalID = json['externalID']; hotelCode = json['hotelCode']; roomCode = json['roomCode']; roomCategory = json['roomCategory']; shortDescription = json['shortDescription']; longDescription = json['longDescription']; roomTypeCode = json['roomTypeCode']; roomClass = json['roomClass']; imagePath = json['imagePath']; roomsInHotel = json['roomsInHotel']; bedTypeCode = json['bedTypeCode']; nonSmoking = json['nonSmoking']; activeRetail = json['activeRetail']; occupancyMax = json['occupancyMax']; occupancyAdult = json['occupancyAdult']; occupancyChild = json['occupancyChild']; xtraAdultCharge = JsonConverters.toDouble(json['xtraAdultCharge']); xtraChildCharge = JsonConverters.toDouble(json['xtraChildCharge']); roomArea = JsonConverters.toDouble(json['roomArea']); isPseudo = json['isPseudo']; isActive = json['isActive']; inactiveDate = JsonConverters.fromJson(json['inactiveDate'],'DateTime',context!); sourceName = json['sourceName']; sourceID = json['sourceID']; return this; } Map toJson() => { 'externalID': externalID, 'hotelCode': hotelCode, 'roomCode': roomCode, 'roomCategory': roomCategory, 'shortDescription': shortDescription, 'longDescription': longDescription, 'roomTypeCode': roomTypeCode, 'roomClass': roomClass, 'imagePath': imagePath, 'roomsInHotel': roomsInHotel, 'bedTypeCode': bedTypeCode, 'nonSmoking': nonSmoking, 'activeRetail': activeRetail, 'occupancyMax': occupancyMax, 'occupancyAdult': occupancyAdult, 'occupancyChild': occupancyChild, 'xtraAdultCharge': xtraAdultCharge, 'xtraChildCharge': xtraChildCharge, 'roomArea': roomArea, 'isPseudo': isPseudo, 'isActive': isActive, 'inactiveDate': JsonConverters.toJson(inactiveDate,'DateTime',context!), 'sourceName': sourceName, 'sourceID': sourceID }; getTypeName() => "RoomType"; TypeContext? context = _ctx; } class RoomInfo implements IConvertible { String? roomType; DateTime? date; int? totalRooms; int? availableRooms; RoomInfo({this.roomType,this.date,this.totalRooms,this.availableRooms}); RoomInfo.fromJson(Map json) { fromMap(json); } fromMap(Map json) { roomType = json['roomType']; date = JsonConverters.fromJson(json['date'],'DateTime',context!); totalRooms = json['totalRooms']; availableRooms = json['availableRooms']; return this; } Map toJson() => { 'roomType': roomType, 'date': JsonConverters.toJson(date,'DateTime',context!), 'totalRooms': totalRooms, 'availableRooms': availableRooms }; getTypeName() => "RoomInfo"; TypeContext? context = _ctx; } // @Route("/availability/simple/{CendynPropertyId}", "POST") class RoomTypeAvailabilityRequest implements IReturn>, IConvertible { String? cendynPropertyId; DateTime? startDate; DateTime? endDate; List? roomTypeFilter; RequestType? interfaceType; RoomTypeAvailabilityRequest({this.cendynPropertyId,this.startDate,this.endDate,this.roomTypeFilter,this.interfaceType}); RoomTypeAvailabilityRequest.fromJson(Map json) { fromMap(json); } fromMap(Map json) { cendynPropertyId = json['cendynPropertyId']; startDate = JsonConverters.fromJson(json['startDate'],'DateTime',context!); endDate = JsonConverters.fromJson(json['endDate'],'DateTime',context!); roomTypeFilter = JsonConverters.fromJson(json['roomTypeFilter'],'List',context!); interfaceType = JsonConverters.fromJson(json['interfaceType'],'RequestType',context!); return this; } Map toJson() => { 'cendynPropertyId': cendynPropertyId, 'startDate': JsonConverters.toJson(startDate,'DateTime',context!), 'endDate': JsonConverters.toJson(endDate,'DateTime',context!), 'roomTypeFilter': JsonConverters.toJson(roomTypeFilter,'List',context!), 'interfaceType': JsonConverters.toJson(interfaceType,'RequestType',context!) }; createResponse() => []; getResponseTypeName() => "List"; getTypeName() => "RoomTypeAvailabilityRequest"; TypeContext? context = _ctx; } TypeContext _ctx = TypeContext(library: 'cert.cendyn.com', types: { 'RequestType': TypeInfo(TypeOf.Enum, enumValues:RequestType.values), 'RoomType': TypeInfo(TypeOf.Class, create:() => RoomType()), 'RoomInfo': TypeInfo(TypeOf.Class, create:() => RoomInfo()), 'RoomTypeAvailabilityRequest': TypeInfo(TypeOf.Class, create:() => RoomTypeAvailabilityRequest()), });