| GET | /v2/transaction/{Query}/{CendynPropertyId} | ||
|---|---|---|---|
| GET | /v2/transaction/{Query} |
import 'package:servicestack/servicestack.dart';
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<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> 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<String, dynamic> 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<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> 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<String, dynamic> 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<Transaction>? records;
TransactionResponse({this.records});
TransactionResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
super.fromMap(json);
records = JsonConverters.fromJson(json['records'],'List<Transaction>',context!);
return this;
}
Map<String, dynamic> toJson() => super.toJson()..addAll({
'records': JsonConverters.toJson(records,'List<Transaction>',context!)
});
getTypeName() => "TransactionResponse";
TypeContext? context = _ctx;
}
enum TransactionQueryType
{
TransactionId,
LastUpdated,
TransactionDate,
}
class TransactionRequest implements 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<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> 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<String, dynamic> 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
};
getTypeName() => "TransactionRequest";
TypeContext? context = _ctx;
}
TypeContext _ctx = TypeContext(library: 'cert.cendyn.com', types: <String, TypeInfo> {
'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<Transaction>': TypeInfo(TypeOf.Class, create:() => <Transaction>[]),
'TransactionQueryType': TypeInfo(TypeOf.Enum, enumValues:TransactionQueryType.values),
'TransactionRequest': TypeInfo(TypeOf.Class, create:() => TransactionRequest()),
});
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
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
GET /v2/transaction/{Query}/{CendynPropertyId} HTTP/1.1
Host: cert.cendyn.com
Accept: application/json
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: length
{"records":[{"cendynPropertyID":"String","sourcePropertyID":"String","externalResID1":"String","externalProfileID":"String","externalRefType":"String","externalRefID":"String","transactionSource":"String","transactionID":"String","transactionGroup":"String","transactionDate":"0001-01-01T00:00:00.0000000","folioID":"String","folioGroupingID":"String","transactionCode":"String","description":"String","creditAmount":0,"debitAmount":0,"netAmount":0,"displayOnInvoice":false,"ledgerAccountNum":"String","ccTransactionType":"String","roomNumber":"String","transferType":"String","transferredResID":"String","referenceNum":"String","postedNights":0,"itemQty":0,"userID":"String","currencyCode":"String","decimals":0,"customValue1":0,"customValue2":0}],"status":"Success","statusMessage":"String","recordsReturned":0,"recordsAvailable":0,"pageNumber":0,"pageSize":0}