regis

<back to all web services

FinanceCreatePayableRequest

Requires Authentication
Required permission:CreatePayables
The following routes are available for this service:
POST/Finance/CreatePayable/{vendor_id}
import 'package:servicestack/servicestack.dart';

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

HTTP + 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
		}
	}
}