NAV

<back to all web services

FinancialTransactionsBatchCreate

The following routes are available for this service:
POST/financial-transaction-batches
import 'package:servicestack/servicestack.dart';

class FinancialTransactionsBatchCreateResponse implements IConvertible
{
    ResponseStatus? responseStatus;

    FinancialTransactionsBatchCreateResponse({this.responseStatus});
    FinancialTransactionsBatchCreateResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        responseStatus = JsonConverters.fromJson(json['responseStatus'],'ResponseStatus',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'responseStatus': JsonConverters.toJson(responseStatus,'ResponseStatus',context!)
    };

    getTypeName() => "FinancialTransactionsBatchCreateResponse";
    TypeContext? context = _ctx;
}

class FinancialTransactionsBatchCreateViewModel implements IConvertible
{
    double? beeNumberCustomer;
    String? transactionCode;
    String? transactionBIDSCode;
    double? transactionAmount;
    String? transactionBillSeq;
    DateTime? transactionTime;
    String? transactionId;
    String? campaign;
    String? orderNumber;
    String? invoiceNumber;
    double? retailSalesAmount;
    double? federalTaxAmount1;
    double? federalTaxAmount2;
    double? localTaxAmount;
    double? paymentAmount;
    double? customerPrice;
    double? freeAmount;
    double? bonusAmount;
    double? discountPercentage;
    double? customerCount;
    String? pricePromotionCode;
    String? accountType;
    String? state;
    String? taxArea;
    double? taxRate;
    String? taxIndicator;
    double? netSalesAmount;
    double? currentBalance;

    FinancialTransactionsBatchCreateViewModel({this.beeNumberCustomer,this.transactionCode,this.transactionBIDSCode,this.transactionAmount,this.transactionBillSeq,this.transactionTime,this.transactionId,this.campaign,this.orderNumber,this.invoiceNumber,this.retailSalesAmount,this.federalTaxAmount1,this.federalTaxAmount2,this.localTaxAmount,this.paymentAmount,this.customerPrice,this.freeAmount,this.bonusAmount,this.discountPercentage,this.customerCount,this.pricePromotionCode,this.accountType,this.state,this.taxArea,this.taxRate,this.taxIndicator,this.netSalesAmount,this.currentBalance});
    FinancialTransactionsBatchCreateViewModel.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        beeNumberCustomer = JsonConverters.toDouble(json['beeNumberCustomer']);
        transactionCode = json['transactionCode'];
        transactionBIDSCode = json['transactionBIDSCode'];
        transactionAmount = JsonConverters.toDouble(json['transactionAmount']);
        transactionBillSeq = json['transactionBillSeq'];
        transactionTime = JsonConverters.fromJson(json['transactionTime'],'DateTime',context!);
        transactionId = json['transactionId'];
        campaign = json['campaign'];
        orderNumber = json['orderNumber'];
        invoiceNumber = json['invoiceNumber'];
        retailSalesAmount = JsonConverters.toDouble(json['retailSalesAmount']);
        federalTaxAmount1 = JsonConverters.toDouble(json['federalTaxAmount1']);
        federalTaxAmount2 = JsonConverters.toDouble(json['federalTaxAmount2']);
        localTaxAmount = JsonConverters.toDouble(json['localTaxAmount']);
        paymentAmount = JsonConverters.toDouble(json['paymentAmount']);
        customerPrice = JsonConverters.toDouble(json['customerPrice']);
        freeAmount = JsonConverters.toDouble(json['freeAmount']);
        bonusAmount = JsonConverters.toDouble(json['bonusAmount']);
        discountPercentage = JsonConverters.toDouble(json['discountPercentage']);
        customerCount = JsonConverters.toDouble(json['customerCount']);
        pricePromotionCode = json['pricePromotionCode'];
        accountType = json['accountType'];
        state = json['state'];
        taxArea = json['taxArea'];
        taxRate = JsonConverters.toDouble(json['taxRate']);
        taxIndicator = json['taxIndicator'];
        netSalesAmount = JsonConverters.toDouble(json['netSalesAmount']);
        currentBalance = JsonConverters.toDouble(json['currentBalance']);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'beeNumberCustomer': beeNumberCustomer,
        'transactionCode': transactionCode,
        'transactionBIDSCode': transactionBIDSCode,
        'transactionAmount': transactionAmount,
        'transactionBillSeq': transactionBillSeq,
        'transactionTime': JsonConverters.toJson(transactionTime,'DateTime',context!),
        'transactionId': transactionId,
        'campaign': campaign,
        'orderNumber': orderNumber,
        'invoiceNumber': invoiceNumber,
        'retailSalesAmount': retailSalesAmount,
        'federalTaxAmount1': federalTaxAmount1,
        'federalTaxAmount2': federalTaxAmount2,
        'localTaxAmount': localTaxAmount,
        'paymentAmount': paymentAmount,
        'customerPrice': customerPrice,
        'freeAmount': freeAmount,
        'bonusAmount': bonusAmount,
        'discountPercentage': discountPercentage,
        'customerCount': customerCount,
        'pricePromotionCode': pricePromotionCode,
        'accountType': accountType,
        'state': state,
        'taxArea': taxArea,
        'taxRate': taxRate,
        'taxIndicator': taxIndicator,
        'netSalesAmount': netSalesAmount,
        'currentBalance': currentBalance
    };

    getTypeName() => "FinancialTransactionsBatchCreateViewModel";
    TypeContext? context = _ctx;
}

class FinancialTransactionsBatchCreate implements IPost, IConvertible
{
    List<FinancialTransactionsBatchCreateViewModel>? financialTransactions;

    FinancialTransactionsBatchCreate({this.financialTransactions});
    FinancialTransactionsBatchCreate.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        financialTransactions = JsonConverters.fromJson(json['financialTransactions'],'List<FinancialTransactionsBatchCreateViewModel>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'financialTransactions': JsonConverters.toJson(financialTransactions,'List<FinancialTransactionsBatchCreateViewModel>',context!)
    };

    getTypeName() => "FinancialTransactionsBatchCreate";
    TypeContext? context = _ctx;
}

TypeContext _ctx = TypeContext(library: 'extensions.avon.ca', types: <String, TypeInfo> {
    'FinancialTransactionsBatchCreateResponse': TypeInfo(TypeOf.Class, create:() => FinancialTransactionsBatchCreateResponse()),
    'FinancialTransactionsBatchCreateViewModel': TypeInfo(TypeOf.Class, create:() => FinancialTransactionsBatchCreateViewModel()),
    'FinancialTransactionsBatchCreate': TypeInfo(TypeOf.Class, create:() => FinancialTransactionsBatchCreate()),
    'List<FinancialTransactionsBatchCreateViewModel>': TypeInfo(TypeOf.Class, create:() => <FinancialTransactionsBatchCreateViewModel>[]),
});

Dart FinancialTransactionsBatchCreate 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 /financial-transaction-batches HTTP/1.1 
Host: extensions.avon.ca 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	financialTransactions: 
	[
		{
			beeNumberCustomer: 0,
			transactionCode: String,
			transactionBIDSCode: String,
			transactionAmount: 0,
			transactionBillSeq: String,
			transactionTime: 0001-01-01T00:00:00,
			transactionId: String,
			campaign: String,
			orderNumber: String,
			invoiceNumber: String,
			retailSalesAmount: 0,
			federalTaxAmount1: 0,
			federalTaxAmount2: 0,
			localTaxAmount: 0,
			paymentAmount: 0,
			customerPrice: 0,
			freeAmount: 0,
			bonusAmount: 0,
			discountPercentage: 0,
			customerCount: 0,
			pricePromotionCode: String,
			accountType: String,
			state: String,
			taxArea: String,
			taxRate: 0,
			taxIndicator: String,
			netSalesAmount: 0,
			currentBalance: 0
		}
	]
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	responseStatus: 
	{
		errorCode: String,
		message: String,
		stackTrace: String,
		errors: 
		[
			{
				errorCode: String,
				fieldName: String,
				message: String,
				meta: 
				{
					String: String
				}
			}
		],
		meta: 
		{
			String: String
		}
	}
}