Required permission: | CreatePayables |
POST | /Finance/CreatePayable/{vendor_id} |
---|
import 'package:servicestack/servicestack.dart';
import 'dart:typed_data';
class FinancePayableResponse implements IConvertible
{
String? cheque_id;
String? invoice_id;
String? batch_id;
String? transaction_batch_id;
double? total_amount;
double? unapplied_amount;
String? description;
String? vendor_id;
String? vendor_name;
String? doc_type;
bool? is_posted;
bool? is_paid;
bool? is_voided;
bool? is_reimbursed;
DateTime? doc_date;
DateTime? post_date;
DateTime? cheque_date;
DateTime? due_date;
ResponseStatus? responseStatus;
FinancePayableResponse({this.cheque_id,this.invoice_id,this.batch_id,this.transaction_batch_id,this.total_amount,this.unapplied_amount,this.description,this.vendor_id,this.vendor_name,this.doc_type,this.is_posted,this.is_paid,this.is_voided,this.is_reimbursed,this.doc_date,this.post_date,this.cheque_date,this.due_date,this.responseStatus});
FinancePayableResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
cheque_id = json['cheque_id'];
invoice_id = json['invoice_id'];
batch_id = json['batch_id'];
transaction_batch_id = json['transaction_batch_id'];
total_amount = JsonConverters.toDouble(json['total_amount']);
unapplied_amount = JsonConverters.toDouble(json['unapplied_amount']);
description = json['description'];
vendor_id = json['vendor_id'];
vendor_name = json['vendor_name'];
doc_type = json['doc_type'];
is_posted = json['is_posted'];
is_paid = json['is_paid'];
is_voided = json['is_voided'];
is_reimbursed = json['is_reimbursed'];
doc_date = JsonConverters.fromJson(json['doc_date'],'DateTime',context!);
post_date = JsonConverters.fromJson(json['post_date'],'DateTime',context!);
cheque_date = JsonConverters.fromJson(json['cheque_date'],'DateTime',context!);
due_date = JsonConverters.fromJson(json['due_date'],'DateTime',context!);
responseStatus = JsonConverters.fromJson(json['responseStatus'],'ResponseStatus',context!);
return this;
}
Map<String, dynamic> toJson() => {
'cheque_id': cheque_id,
'invoice_id': invoice_id,
'batch_id': batch_id,
'transaction_batch_id': transaction_batch_id,
'total_amount': total_amount,
'unapplied_amount': unapplied_amount,
'description': description,
'vendor_id': vendor_id,
'vendor_name': vendor_name,
'doc_type': doc_type,
'is_posted': is_posted,
'is_paid': is_paid,
'is_voided': is_voided,
'is_reimbursed': is_reimbursed,
'doc_date': JsonConverters.toJson(doc_date,'DateTime',context!),
'post_date': JsonConverters.toJson(post_date,'DateTime',context!),
'cheque_date': JsonConverters.toJson(cheque_date,'DateTime',context!),
'due_date': JsonConverters.toJson(due_date,'DateTime',context!),
'responseStatus': JsonConverters.toJson(responseStatus,'ResponseStatus',context!)
};
getTypeName() => "FinancePayableResponse";
TypeContext? context = _ctx;
}
class FinanceCreatePayableDistributionRequest implements IConvertible
{
String? account;
double? amount;
String? description;
FinanceCreatePayableDistributionRequest({this.account,this.amount,this.description});
FinanceCreatePayableDistributionRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
account = json['account'];
amount = JsonConverters.toDouble(json['amount']);
description = json['description'];
return this;
}
Map<String, dynamic> toJson() => {
'account': account,
'amount': amount,
'description': description
};
getTypeName() => "FinanceCreatePayableDistributionRequest";
TypeContext? context = _ctx;
}
class FinanceCreatePayableRequest implements IConvertible
{
String? vendor_id;
double? total_amount;
double? tax_amount;
String? tax_schedule;
String? tax_account;
String? description;
String? batch_id;
bool? is_eft;
String? invoice_id;
String? chequebook;
DateTime? document_date;
DateTime? post_date;
List<FinanceCreatePayableDistributionRequest>? distributions;
FinanceCreatePayableRequest({this.vendor_id,this.total_amount,this.tax_amount,this.tax_schedule,this.tax_account,this.description,this.batch_id,this.is_eft,this.invoice_id,this.chequebook,this.document_date,this.post_date,this.distributions});
FinanceCreatePayableRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
vendor_id = json['vendor_id'];
total_amount = JsonConverters.toDouble(json['total_amount']);
tax_amount = JsonConverters.toDouble(json['tax_amount']);
tax_schedule = json['tax_schedule'];
tax_account = json['tax_account'];
description = json['description'];
batch_id = json['batch_id'];
is_eft = json['is_eft'];
invoice_id = json['invoice_id'];
chequebook = json['chequebook'];
document_date = JsonConverters.fromJson(json['document_date'],'DateTime',context!);
post_date = JsonConverters.fromJson(json['post_date'],'DateTime',context!);
distributions = JsonConverters.fromJson(json['distributions'],'List<FinanceCreatePayableDistributionRequest>',context!);
return this;
}
Map<String, dynamic> toJson() => {
'vendor_id': vendor_id,
'total_amount': total_amount,
'tax_amount': tax_amount,
'tax_schedule': tax_schedule,
'tax_account': tax_account,
'description': description,
'batch_id': batch_id,
'is_eft': is_eft,
'invoice_id': invoice_id,
'chequebook': chequebook,
'document_date': JsonConverters.toJson(document_date,'DateTime',context!),
'post_date': JsonConverters.toJson(post_date,'DateTime',context!),
'distributions': JsonConverters.toJson(distributions,'List<FinanceCreatePayableDistributionRequest>',context!)
};
getTypeName() => "FinanceCreatePayableRequest";
TypeContext? context = _ctx;
}
TypeContext _ctx = TypeContext(library: 'data.regent_college.edu', types: <String, TypeInfo> {
'FinancePayableResponse': TypeInfo(TypeOf.Class, create:() => FinancePayableResponse()),
'FinanceCreatePayableDistributionRequest': TypeInfo(TypeOf.Class, create:() => FinanceCreatePayableDistributionRequest()),
'FinanceCreatePayableRequest': TypeInfo(TypeOf.Class, create:() => FinanceCreatePayableRequest()),
'List<FinanceCreatePayableDistributionRequest>': TypeInfo(TypeOf.Class, create:() => <FinanceCreatePayableDistributionRequest>[]),
});
Dart FinanceCreatePayableRequest DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /Finance/CreatePayable/{vendor_id} HTTP/1.1
Host: data.regent-college.edu
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
vendor_id: String,
total_amount: 0,
tax_amount: 0,
tax_schedule: String,
tax_account: String,
description: String,
batch_id: String,
is_eft: False,
invoice_id: String,
chequebook: String,
document_date: 0001-01-01,
post_date: 0001-01-01,
distributions:
[
{
account: String,
amount: 0,
description: String
}
]
}
HTTP/1.1 200 OK Content-Type: text/jsv Content-Length: length { cheque_id: String, invoice_id: String, batch_id: String, transaction_batch_id: String, total_amount: 0, unapplied_amount: 0, description: String, vendor_id: String, vendor_name: String, doc_type: String, is_posted: False, is_paid: False, is_voided: False, is_reimbursed: False, doc_date: 0001-01-01, post_date: 0001-01-01, cheque_date: 0001-01-01, due_date: 0001-01-01, responseStatus: { errorCode: String, message: String, stackTrace: String, errors: [ { errorCode: String, fieldName: String, message: String, meta: { String: String } } ], meta: { String: String } } }