/* Options: Date: 2026-10-08 22:17:27 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: TransactionRequest.* //ExcludeTypes: //DefaultImports: package:servicestack/servicestack.dart */ import 'package:servicestack/servicestack.dart'; enum TransactionQueryType { TransactionId, LastUpdated, TransactionDate, } 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 Transaction implements IConvertible { String? cendynPropertyID; String? sourcePropertyID; String? externalResID1; String? externalProfileID; String? externalRefType; String? externalRefID; String? transactionSource; String? transactionID; String? transactionGroup; DateTime? transactionDate; String? folioID; String? folioGroupingID; String? transactionCode; String? description; double? creditAmount; double? debitAmount; double? netAmount; bool? displayOnInvoice; String? ledgerAccountNum; String? ccTransactionType; String? roomNumber; String? transferType; String? transferredResID; String? referenceNum; int? postedNights; int? itemQty; String? userID; String? currencyCode; int? decimals; double? customValue1; double? customValue2; Transaction({this.cendynPropertyID,this.sourcePropertyID,this.externalResID1,this.externalProfileID,this.externalRefType,this.externalRefID,this.transactionSource,this.transactionID,this.transactionGroup,this.transactionDate,this.folioID,this.folioGroupingID,this.transactionCode,this.description,this.creditAmount,this.debitAmount,this.netAmount,this.displayOnInvoice,this.ledgerAccountNum,this.ccTransactionType,this.roomNumber,this.transferType,this.transferredResID,this.referenceNum,this.postedNights,this.itemQty,this.userID,this.currencyCode,this.decimals,this.customValue1,this.customValue2}); Transaction.fromJson(Map json) { fromMap(json); } fromMap(Map json) { cendynPropertyID = json['cendynPropertyID']; sourcePropertyID = json['sourcePropertyID']; externalResID1 = json['externalResID1']; externalProfileID = json['externalProfileID']; externalRefType = json['externalRefType']; externalRefID = json['externalRefID']; transactionSource = json['transactionSource']; transactionID = json['transactionID']; transactionGroup = json['transactionGroup']; transactionDate = JsonConverters.fromJson(json['transactionDate'],'DateTime',context!); folioID = json['folioID']; folioGroupingID = json['folioGroupingID']; transactionCode = json['transactionCode']; description = json['description']; creditAmount = JsonConverters.toDouble(json['creditAmount']); debitAmount = JsonConverters.toDouble(json['debitAmount']); netAmount = JsonConverters.toDouble(json['netAmount']); displayOnInvoice = json['displayOnInvoice']; ledgerAccountNum = json['ledgerAccountNum']; ccTransactionType = json['ccTransactionType']; roomNumber = json['roomNumber']; transferType = json['transferType']; transferredResID = json['transferredResID']; referenceNum = json['referenceNum']; postedNights = json['postedNights']; itemQty = json['itemQty']; userID = json['userID']; currencyCode = json['currencyCode']; decimals = json['decimals']; customValue1 = JsonConverters.toDouble(json['customValue1']); customValue2 = JsonConverters.toDouble(json['customValue2']); return this; } Map toJson() => { 'cendynPropertyID': cendynPropertyID, 'sourcePropertyID': sourcePropertyID, 'externalResID1': externalResID1, 'externalProfileID': externalProfileID, 'externalRefType': externalRefType, 'externalRefID': externalRefID, 'transactionSource': transactionSource, 'transactionID': transactionID, 'transactionGroup': transactionGroup, 'transactionDate': JsonConverters.toJson(transactionDate,'DateTime',context!), 'folioID': folioID, 'folioGroupingID': folioGroupingID, 'transactionCode': transactionCode, 'description': description, 'creditAmount': creditAmount, 'debitAmount': debitAmount, 'netAmount': netAmount, 'displayOnInvoice': displayOnInvoice, 'ledgerAccountNum': ledgerAccountNum, 'ccTransactionType': ccTransactionType, 'roomNumber': roomNumber, 'transferType': transferType, 'transferredResID': transferredResID, 'referenceNum': referenceNum, 'postedNights': postedNights, 'itemQty': itemQty, 'userID': userID, 'currencyCode': currencyCode, 'decimals': decimals, 'customValue1': customValue1, 'customValue2': customValue2 }; getTypeName() => "Transaction"; TypeContext? context = _ctx; } class TransactionResponse extends CenResResponse implements IConvertible { List? records; TransactionResponse({this.records}); TransactionResponse.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() => "TransactionResponse"; TypeContext? context = _ctx; } // @Route("/v2/transaction/{Query}", "GET") // @Route("/v2/transaction/{Query}/{CendynPropertyId}", "GET") class TransactionRequest implements IReturn, IConvertible { String? cendynPropertyId; String? transactionSource; TransactionQueryType? query; String? id; DateTime? startDate; DateTime? endDate; // @DataMember(Name="Limit") int? pageSize; // @DataMember(Name="Page") int? pageNumber; TransactionRequest({this.cendynPropertyId,this.transactionSource,this.query,this.id,this.startDate,this.endDate,this.pageSize,this.pageNumber}); TransactionRequest.fromJson(Map json) { fromMap(json); } fromMap(Map json) { cendynPropertyId = json['cendynPropertyId']; transactionSource = json['transactionSource']; query = JsonConverters.fromJson(json['query'],'TransactionQueryType',context!); id = json['id']; 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, 'transactionSource': transactionSource, 'query': JsonConverters.toJson(query,'TransactionQueryType',context!), 'id': id, 'startDate': JsonConverters.toJson(startDate,'DateTime',context!), 'endDate': JsonConverters.toJson(endDate,'DateTime',context!), 'pageSize': pageSize, 'pageNumber': pageNumber }; createResponse() => TransactionResponse(); getResponseTypeName() => "TransactionResponse"; getTypeName() => "TransactionRequest"; TypeContext? context = _ctx; } TypeContext _ctx = TypeContext(library: 'cert.cendyn.com', types: { 'TransactionQueryType': TypeInfo(TypeOf.Enum, enumValues:TransactionQueryType.values), 'RequestStatus': TypeInfo(TypeOf.Enum, enumValues:RequestStatus.values), 'CenResResponse': TypeInfo(TypeOf.Class, create:() => CenResResponse()), 'Transaction': TypeInfo(TypeOf.Class, create:() => Transaction()), 'TransactionResponse': TypeInfo(TypeOf.Class, create:() => TransactionResponse()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'TransactionRequest': TypeInfo(TypeOf.Class, create:() => TransactionRequest()), });