Requires the role: | manager |
PUT | /packages/{id}/forecast |
---|
import 'package:servicestack/servicestack.dart';
abstract class PutOperationUnTenanted<TResponse> implements IPut
{
PutOperationUnTenanted();
PutOperationUnTenanted.fromJson(Map<String, dynamic> json) : super();
fromMap(Map<String, dynamic> json) {
return this;
}
Map<String, dynamic> toJson() => {};
getTypeName() => "PutOperationUnTenanted<$TResponse>";
TypeContext? context = _ctx;
}
abstract class PutOperationTenanted<TResponse> extends PutOperationUnTenanted<TResponse> implements ITenantedRequest
{
String? organisationId;
PutOperationTenanted({this.organisationId});
PutOperationTenanted.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
super.fromMap(json);
organisationId = json['organisationId'];
return this;
}
Map<String, dynamic> toJson() => super.toJson()..addAll({
'organisationId': organisationId
});
getTypeName() => "PutOperationTenanted<$TResponse>";
TypeContext? context = _ctx;
}
class BudgetBreakdown implements IConvertible
{
double? leaseAmount;
double? administrationFee;
double? fuel;
double? servicing;
double? tyres;
double? insurance;
double? carWash;
double? registration;
double? roadSideAssistance;
double? anythingExtra;
BudgetBreakdown({this.leaseAmount,this.administrationFee,this.fuel,this.servicing,this.tyres,this.insurance,this.carWash,this.registration,this.roadSideAssistance,this.anythingExtra});
BudgetBreakdown.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
leaseAmount = JsonConverters.toDouble(json['leaseAmount']);
administrationFee = JsonConverters.toDouble(json['administrationFee']);
fuel = JsonConverters.toDouble(json['fuel']);
servicing = JsonConverters.toDouble(json['servicing']);
tyres = JsonConverters.toDouble(json['tyres']);
insurance = JsonConverters.toDouble(json['insurance']);
carWash = JsonConverters.toDouble(json['carWash']);
registration = JsonConverters.toDouble(json['registration']);
roadSideAssistance = JsonConverters.toDouble(json['roadSideAssistance']);
anythingExtra = JsonConverters.toDouble(json['anythingExtra']);
return this;
}
Map<String, dynamic> toJson() => {
'leaseAmount': leaseAmount,
'administrationFee': administrationFee,
'fuel': fuel,
'servicing': servicing,
'tyres': tyres,
'insurance': insurance,
'carWash': carWash,
'registration': registration,
'roadSideAssistance': roadSideAssistance,
'anythingExtra': anythingExtra
};
getTypeName() => "BudgetBreakdown";
TypeContext? context = _ctx;
}
class Employment implements IConvertible
{
String? payrollCycle;
DateTime? firstPayDate;
String? employerId;
String? employerName;
Employment({this.payrollCycle,this.firstPayDate,this.employerId,this.employerName});
Employment.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
payrollCycle = json['payrollCycle'];
firstPayDate = JsonConverters.fromJson(json['firstPayDate'],'DateTime',context!);
employerId = json['employerId'];
employerName = json['employerName'];
return this;
}
Map<String, dynamic> toJson() => {
'payrollCycle': payrollCycle,
'firstPayDate': JsonConverters.toJson(firstPayDate,'DateTime',context!),
'employerId': employerId,
'employerName': employerName
};
getTypeName() => "Employment";
TypeContext? context = _ctx;
}
class Vehicle implements IConvertible
{
String? make;
String? model;
String? colour;
String? bodyShape;
String? licensePlate;
String? transmission;
int? manufactureYear;
Vehicle({this.make,this.model,this.colour,this.bodyShape,this.licensePlate,this.transmission,this.manufactureYear});
Vehicle.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
make = json['make'];
model = json['model'];
colour = json['colour'];
bodyShape = json['bodyShape'];
licensePlate = json['licensePlate'];
transmission = json['transmission'];
manufactureYear = json['manufactureYear'];
return this;
}
Map<String, dynamic> toJson() => {
'make': make,
'model': model,
'colour': colour,
'bodyShape': bodyShape,
'licensePlate': licensePlate,
'transmission': transmission,
'manufactureYear': manufactureYear
};
getTypeName() => "Vehicle";
TypeContext? context = _ctx;
}
class BankAccount implements IConvertible
{
String? bsbNumber;
String? accountNumber;
BankAccount({this.bsbNumber,this.accountNumber});
BankAccount.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
bsbNumber = json['bsbNumber'];
accountNumber = json['accountNumber'];
return this;
}
Map<String, dynamic> toJson() => {
'bsbNumber': bsbNumber,
'accountNumber': accountNumber
};
getTypeName() => "BankAccount";
TypeContext? context = _ctx;
}
class LeaseDetails implements IConvertible
{
int? term;
DateTime? startDate;
double? amountFinanced;
double? paymentAmount;
String? financeProvider;
double? residualValue;
int? yearlyKmsTravelled;
double? fringeBenefitTaxValue;
String? fringeBenefitTaxMethod;
int? fringeBenefitTaxBusinessUse;
DateTime? fringeBenefitTaxStartDate;
double? preTaxDeduction;
double? postTaxDeduction;
double? gstOnPostTaxDeduction;
double? luxuryVehicleCharge;
double? onRoadCost;
DateTime? registrationDueDate;
DateTime? insuranceDueDate;
BankAccount? leaseProviderBankAccount;
LeaseDetails({this.term,this.startDate,this.amountFinanced,this.paymentAmount,this.financeProvider,this.residualValue,this.yearlyKmsTravelled,this.fringeBenefitTaxValue,this.fringeBenefitTaxMethod,this.fringeBenefitTaxBusinessUse,this.fringeBenefitTaxStartDate,this.preTaxDeduction,this.postTaxDeduction,this.gstOnPostTaxDeduction,this.luxuryVehicleCharge,this.onRoadCost,this.registrationDueDate,this.insuranceDueDate,this.leaseProviderBankAccount});
LeaseDetails.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
term = json['term'];
startDate = JsonConverters.fromJson(json['startDate'],'DateTime',context!);
amountFinanced = JsonConverters.toDouble(json['amountFinanced']);
paymentAmount = JsonConverters.toDouble(json['paymentAmount']);
financeProvider = json['financeProvider'];
residualValue = JsonConverters.toDouble(json['residualValue']);
yearlyKmsTravelled = json['yearlyKmsTravelled'];
fringeBenefitTaxValue = JsonConverters.toDouble(json['fringeBenefitTaxValue']);
fringeBenefitTaxMethod = json['fringeBenefitTaxMethod'];
fringeBenefitTaxBusinessUse = json['fringeBenefitTaxBusinessUse'];
fringeBenefitTaxStartDate = JsonConverters.fromJson(json['fringeBenefitTaxStartDate'],'DateTime',context!);
preTaxDeduction = JsonConverters.toDouble(json['preTaxDeduction']);
postTaxDeduction = JsonConverters.toDouble(json['postTaxDeduction']);
gstOnPostTaxDeduction = JsonConverters.toDouble(json['gstOnPostTaxDeduction']);
luxuryVehicleCharge = JsonConverters.toDouble(json['luxuryVehicleCharge']);
onRoadCost = JsonConverters.toDouble(json['onRoadCost']);
registrationDueDate = JsonConverters.fromJson(json['registrationDueDate'],'DateTime',context!);
insuranceDueDate = JsonConverters.fromJson(json['insuranceDueDate'],'DateTime',context!);
leaseProviderBankAccount = JsonConverters.fromJson(json['leaseProviderBankAccount'],'BankAccount',context!);
return this;
}
Map<String, dynamic> toJson() => {
'term': term,
'startDate': JsonConverters.toJson(startDate,'DateTime',context!),
'amountFinanced': amountFinanced,
'paymentAmount': paymentAmount,
'financeProvider': financeProvider,
'residualValue': residualValue,
'yearlyKmsTravelled': yearlyKmsTravelled,
'fringeBenefitTaxValue': fringeBenefitTaxValue,
'fringeBenefitTaxMethod': fringeBenefitTaxMethod,
'fringeBenefitTaxBusinessUse': fringeBenefitTaxBusinessUse,
'fringeBenefitTaxStartDate': JsonConverters.toJson(fringeBenefitTaxStartDate,'DateTime',context!),
'preTaxDeduction': preTaxDeduction,
'postTaxDeduction': postTaxDeduction,
'gstOnPostTaxDeduction': gstOnPostTaxDeduction,
'luxuryVehicleCharge': luxuryVehicleCharge,
'onRoadCost': onRoadCost,
'registrationDueDate': JsonConverters.toJson(registrationDueDate,'DateTime',context!),
'insuranceDueDate': JsonConverters.toJson(insuranceDueDate,'DateTime',context!),
'leaseProviderBankAccount': JsonConverters.toJson(leaseProviderBankAccount,'BankAccount',context!)
};
getTypeName() => "LeaseDetails";
TypeContext? context = _ctx;
}
class BudgetBalances implements IConvertible
{
double? leaseAmount;
double? administrationFee;
double? fuel;
double? servicing;
double? tyres;
double? insurance;
double? carWash;
double? registration;
double? roadSideAssistance;
double? anythingExtra;
BudgetBalances({this.leaseAmount,this.administrationFee,this.fuel,this.servicing,this.tyres,this.insurance,this.carWash,this.registration,this.roadSideAssistance,this.anythingExtra});
BudgetBalances.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
leaseAmount = JsonConverters.toDouble(json['leaseAmount']);
administrationFee = JsonConverters.toDouble(json['administrationFee']);
fuel = JsonConverters.toDouble(json['fuel']);
servicing = JsonConverters.toDouble(json['servicing']);
tyres = JsonConverters.toDouble(json['tyres']);
insurance = JsonConverters.toDouble(json['insurance']);
carWash = JsonConverters.toDouble(json['carWash']);
registration = JsonConverters.toDouble(json['registration']);
roadSideAssistance = JsonConverters.toDouble(json['roadSideAssistance']);
anythingExtra = JsonConverters.toDouble(json['anythingExtra']);
return this;
}
Map<String, dynamic> toJson() => {
'leaseAmount': leaseAmount,
'administrationFee': administrationFee,
'fuel': fuel,
'servicing': servicing,
'tyres': tyres,
'insurance': insurance,
'carWash': carWash,
'registration': registration,
'roadSideAssistance': roadSideAssistance,
'anythingExtra': anythingExtra
};
getTypeName() => "BudgetBalances";
TypeContext? context = _ctx;
}
class SalarySacrificeBreakdown implements IConvertible
{
double? leaseAmount;
double? administrationFee;
double? fuel;
double? servicing;
double? tyres;
double? insurance;
double? carWash;
double? registration;
double? roadSideAssistance;
double? anythingExtra;
SalarySacrificeBreakdown({this.leaseAmount,this.administrationFee,this.fuel,this.servicing,this.tyres,this.insurance,this.carWash,this.registration,this.roadSideAssistance,this.anythingExtra});
SalarySacrificeBreakdown.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
leaseAmount = JsonConverters.toDouble(json['leaseAmount']);
administrationFee = JsonConverters.toDouble(json['administrationFee']);
fuel = JsonConverters.toDouble(json['fuel']);
servicing = JsonConverters.toDouble(json['servicing']);
tyres = JsonConverters.toDouble(json['tyres']);
insurance = JsonConverters.toDouble(json['insurance']);
carWash = JsonConverters.toDouble(json['carWash']);
registration = JsonConverters.toDouble(json['registration']);
roadSideAssistance = JsonConverters.toDouble(json['roadSideAssistance']);
anythingExtra = JsonConverters.toDouble(json['anythingExtra']);
return this;
}
Map<String, dynamic> toJson() => {
'leaseAmount': leaseAmount,
'administrationFee': administrationFee,
'fuel': fuel,
'servicing': servicing,
'tyres': tyres,
'insurance': insurance,
'carWash': carWash,
'registration': registration,
'roadSideAssistance': roadSideAssistance,
'anythingExtra': anythingExtra
};
getTypeName() => "SalarySacrificeBreakdown";
TypeContext? context = _ctx;
}
class SalarySacrifice implements IConvertible
{
DateTime? paymentDate;
SalarySacrificeBreakdown? salarySacrificeBreakdown;
double? preTaxDeduction;
double? postTaxDeduction;
String? contributionId;
SalarySacrifice({this.paymentDate,this.salarySacrificeBreakdown,this.preTaxDeduction,this.postTaxDeduction,this.contributionId});
SalarySacrifice.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
paymentDate = JsonConverters.fromJson(json['paymentDate'],'DateTime',context!);
salarySacrificeBreakdown = JsonConverters.fromJson(json['salarySacrificeBreakdown'],'SalarySacrificeBreakdown',context!);
preTaxDeduction = JsonConverters.toDouble(json['preTaxDeduction']);
postTaxDeduction = JsonConverters.toDouble(json['postTaxDeduction']);
contributionId = json['contributionId'];
return this;
}
Map<String, dynamic> toJson() => {
'paymentDate': JsonConverters.toJson(paymentDate,'DateTime',context!),
'salarySacrificeBreakdown': JsonConverters.toJson(salarySacrificeBreakdown,'SalarySacrificeBreakdown',context!),
'preTaxDeduction': preTaxDeduction,
'postTaxDeduction': postTaxDeduction,
'contributionId': contributionId
};
getTypeName() => "SalarySacrifice";
TypeContext? context = _ctx;
}
class ForecastedSalarySacrifice implements IConvertible
{
DateTime? paymentDate;
double? amount;
SalarySacrifice? matched;
ForecastedSalarySacrifice({this.paymentDate,this.amount,this.matched});
ForecastedSalarySacrifice.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
paymentDate = JsonConverters.fromJson(json['paymentDate'],'DateTime',context!);
amount = JsonConverters.toDouble(json['amount']);
matched = JsonConverters.fromJson(json['matched'],'SalarySacrifice',context!);
return this;
}
Map<String, dynamic> toJson() => {
'paymentDate': JsonConverters.toJson(paymentDate,'DateTime',context!),
'amount': amount,
'matched': JsonConverters.toJson(matched,'SalarySacrifice',context!)
};
getTypeName() => "ForecastedSalarySacrifice";
TypeContext? context = _ctx;
}
class Expense implements IConvertible
{
String? budgetCategory;
double? amount;
double? gst;
Expense({this.budgetCategory,this.amount,this.gst});
Expense.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
budgetCategory = json['budgetCategory'];
amount = JsonConverters.toDouble(json['amount']);
gst = JsonConverters.toDouble(json['gst']);
return this;
}
Map<String, dynamic> toJson() => {
'budgetCategory': budgetCategory,
'amount': amount,
'gst': gst
};
getTypeName() => "Expense";
TypeContext? context = _ctx;
}
class ForecastedOutgoingPayment implements IConvertible
{
DateTime? scheduled;
double? amount;
String? budgetCategory;
Expense? matched;
ForecastedOutgoingPayment({this.scheduled,this.amount,this.budgetCategory,this.matched});
ForecastedOutgoingPayment.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
scheduled = JsonConverters.fromJson(json['scheduled'],'DateTime',context!);
amount = JsonConverters.toDouble(json['amount']);
budgetCategory = json['budgetCategory'];
matched = JsonConverters.fromJson(json['matched'],'Expense',context!);
return this;
}
Map<String, dynamic> toJson() => {
'scheduled': JsonConverters.toJson(scheduled,'DateTime',context!),
'amount': amount,
'budgetCategory': budgetCategory,
'matched': JsonConverters.toJson(matched,'Expense',context!)
};
getTypeName() => "ForecastedOutgoingPayment";
TypeContext? context = _ctx;
}
class Adjustment implements IIdentifiableResource, IConvertible
{
String? budgetCategory;
double? amount;
double? gst;
String? description;
DateTime? received;
String? id;
Adjustment({this.budgetCategory,this.amount,this.gst,this.description,this.received,this.id});
Adjustment.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
budgetCategory = json['budgetCategory'];
amount = JsonConverters.toDouble(json['amount']);
gst = JsonConverters.toDouble(json['gst']);
description = json['description'];
received = JsonConverters.fromJson(json['received'],'DateTime',context!);
id = json['id'];
return this;
}
Map<String, dynamic> toJson() => {
'budgetCategory': budgetCategory,
'amount': amount,
'gst': gst,
'description': description,
'received': JsonConverters.toJson(received,'DateTime',context!),
'id': id
};
getTypeName() => "Adjustment";
TypeContext? context = _ctx;
}
class Transaction implements IConvertible
{
DateTime? received;
String? budgetCategory;
double? amount;
double? gst;
String? description;
String? type;
Transaction({this.received,this.budgetCategory,this.amount,this.gst,this.description,this.type});
Transaction.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
received = JsonConverters.fromJson(json['received'],'DateTime',context!);
budgetCategory = json['budgetCategory'];
amount = JsonConverters.toDouble(json['amount']);
gst = JsonConverters.toDouble(json['gst']);
description = json['description'];
type = json['type'];
return this;
}
Map<String, dynamic> toJson() => {
'received': JsonConverters.toJson(received,'DateTime',context!),
'budgetCategory': budgetCategory,
'amount': amount,
'gst': gst,
'description': description,
'type': type
};
getTypeName() => "Transaction";
TypeContext? context = _ctx;
}
class SalaryPackage implements IIdentifiableResource, IConvertible
{
String? customerId;
String? customerFirstName;
String? customerLastName;
String? status;
String? notes;
BudgetBreakdown? budgetBreakdown;
Employment? employment;
Vehicle? vehicle;
LeaseDetails? leaseDetails;
BudgetBalances? budgetBalances;
double? currentBalance;
List<ForecastedSalarySacrifice>? forecastedSalarySacrifices;
List<ForecastedOutgoingPayment>? forecastedOutgoingPayments;
List<Adjustment>? adjustments;
List<Transaction>? transactions;
String? id;
SalaryPackage({this.customerId,this.customerFirstName,this.customerLastName,this.status,this.notes,this.budgetBreakdown,this.employment,this.vehicle,this.leaseDetails,this.budgetBalances,this.currentBalance,this.forecastedSalarySacrifices,this.forecastedOutgoingPayments,this.adjustments,this.transactions,this.id});
SalaryPackage.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
customerId = json['customerId'];
customerFirstName = json['customerFirstName'];
customerLastName = json['customerLastName'];
status = json['status'];
notes = json['notes'];
budgetBreakdown = JsonConverters.fromJson(json['budgetBreakdown'],'BudgetBreakdown',context!);
employment = JsonConverters.fromJson(json['employment'],'Employment',context!);
vehicle = JsonConverters.fromJson(json['vehicle'],'Vehicle',context!);
leaseDetails = JsonConverters.fromJson(json['leaseDetails'],'LeaseDetails',context!);
budgetBalances = JsonConverters.fromJson(json['budgetBalances'],'BudgetBalances',context!);
currentBalance = JsonConverters.toDouble(json['currentBalance']);
forecastedSalarySacrifices = JsonConverters.fromJson(json['forecastedSalarySacrifices'],'List<ForecastedSalarySacrifice>',context!);
forecastedOutgoingPayments = JsonConverters.fromJson(json['forecastedOutgoingPayments'],'List<ForecastedOutgoingPayment>',context!);
adjustments = JsonConverters.fromJson(json['adjustments'],'List<Adjustment>',context!);
transactions = JsonConverters.fromJson(json['transactions'],'List<Transaction>',context!);
id = json['id'];
return this;
}
Map<String, dynamic> toJson() => {
'customerId': customerId,
'customerFirstName': customerFirstName,
'customerLastName': customerLastName,
'status': status,
'notes': notes,
'budgetBreakdown': JsonConverters.toJson(budgetBreakdown,'BudgetBreakdown',context!),
'employment': JsonConverters.toJson(employment,'Employment',context!),
'vehicle': JsonConverters.toJson(vehicle,'Vehicle',context!),
'leaseDetails': JsonConverters.toJson(leaseDetails,'LeaseDetails',context!),
'budgetBalances': JsonConverters.toJson(budgetBalances,'BudgetBalances',context!),
'currentBalance': currentBalance,
'forecastedSalarySacrifices': JsonConverters.toJson(forecastedSalarySacrifices,'List<ForecastedSalarySacrifice>',context!),
'forecastedOutgoingPayments': JsonConverters.toJson(forecastedOutgoingPayments,'List<ForecastedOutgoingPayment>',context!),
'adjustments': JsonConverters.toJson(adjustments,'List<Adjustment>',context!),
'transactions': JsonConverters.toJson(transactions,'List<Transaction>',context!),
'id': id
};
getTypeName() => "SalaryPackage";
TypeContext? context = _ctx;
}
class ForecastResponse implements IConvertible
{
ResponseStatus? responseStatus;
SalaryPackage? salaryPackage;
ForecastResponse({this.responseStatus,this.salaryPackage});
ForecastResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
responseStatus = JsonConverters.fromJson(json['responseStatus'],'ResponseStatus',context!);
salaryPackage = JsonConverters.fromJson(json['salaryPackage'],'SalaryPackage',context!);
return this;
}
Map<String, dynamic> toJson() => {
'responseStatus': JsonConverters.toJson(responseStatus,'ResponseStatus',context!),
'salaryPackage': JsonConverters.toJson(salaryPackage,'SalaryPackage',context!)
};
getTypeName() => "ForecastResponse";
TypeContext? context = _ctx;
}
class ForecastRequest extends PutOperationTenanted<ForecastResponse> implements IConvertible
{
String? id;
ForecastRequest({this.id});
ForecastRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
super.fromMap(json);
id = json['id'];
return this;
}
Map<String, dynamic> toJson() => super.toJson()..addAll({
'id': id
});
getTypeName() => "ForecastRequest";
TypeContext? context = _ctx;
}
TypeContext _ctx = TypeContext(library: 'staging_api.billiecart.com.au', types: <String, TypeInfo> {
'PutOperationUnTenanted<TResponse>': TypeInfo(TypeOf.AbstractClass),
'PutOperationTenanted<TResponse>': TypeInfo(TypeOf.AbstractClass),
'BudgetBreakdown': TypeInfo(TypeOf.Class, create:() => BudgetBreakdown()),
'Employment': TypeInfo(TypeOf.Class, create:() => Employment()),
'Vehicle': TypeInfo(TypeOf.Class, create:() => Vehicle()),
'BankAccount': TypeInfo(TypeOf.Class, create:() => BankAccount()),
'LeaseDetails': TypeInfo(TypeOf.Class, create:() => LeaseDetails()),
'BudgetBalances': TypeInfo(TypeOf.Class, create:() => BudgetBalances()),
'SalarySacrificeBreakdown': TypeInfo(TypeOf.Class, create:() => SalarySacrificeBreakdown()),
'SalarySacrifice': TypeInfo(TypeOf.Class, create:() => SalarySacrifice()),
'ForecastedSalarySacrifice': TypeInfo(TypeOf.Class, create:() => ForecastedSalarySacrifice()),
'Expense': TypeInfo(TypeOf.Class, create:() => Expense()),
'ForecastedOutgoingPayment': TypeInfo(TypeOf.Class, create:() => ForecastedOutgoingPayment()),
'Adjustment': TypeInfo(TypeOf.Class, create:() => Adjustment()),
'Transaction': TypeInfo(TypeOf.Class, create:() => Transaction()),
'SalaryPackage': TypeInfo(TypeOf.Class, create:() => SalaryPackage()),
'List<ForecastedSalarySacrifice>': TypeInfo(TypeOf.Class, create:() => <ForecastedSalarySacrifice>[]),
'List<ForecastedOutgoingPayment>': TypeInfo(TypeOf.Class, create:() => <ForecastedOutgoingPayment>[]),
'List<Adjustment>': TypeInfo(TypeOf.Class, create:() => <Adjustment>[]),
'List<Transaction>': TypeInfo(TypeOf.Class, create:() => <Transaction>[]),
'ForecastResponse': TypeInfo(TypeOf.Class, create:() => ForecastResponse()),
'ForecastRequest': TypeInfo(TypeOf.Class, create:() => ForecastRequest()),
});
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.
PUT /packages/{id}/forecast HTTP/1.1
Host: staging-api.billiecart.com.au
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
id: String,
organisationId: String
}
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 } }, salaryPackage: { customerId: String, customerFirstName: String, customerLastName: String, status: String, notes: String, budgetBreakdown: { leaseAmount: 0, administrationFee: 0, fuel: 0, servicing: 0, tyres: 0, insurance: 0, carWash: 0, registration: 0, roadSideAssistance: 0, anythingExtra: 0 }, employment: { payrollCycle: String, employerId: String, employerName: String }, vehicle: { make: String, model: String, colour: String, bodyShape: String, licensePlate: String, transmission: String, manufactureYear: 0 }, leaseDetails: { term: 0, startDate: , amountFinanced: 0, paymentAmount: 0, financeProvider: String, residualValue: 0, yearlyKmsTravelled: 0, fringeBenefitTaxValue: 0, fringeBenefitTaxMethod: String, fringeBenefitTaxBusinessUse: 0, preTaxDeduction: 0, postTaxDeduction: 0, gstOnPostTaxDeduction: 0, luxuryVehicleCharge: 0, onRoadCost: 0, leaseProviderBankAccount: { bsbNumber: String, accountNumber: String } }, budgetBalances: { leaseAmount: 0, administrationFee: 0, fuel: 0, servicing: 0, tyres: 0, insurance: 0, carWash: 0, registration: 0, roadSideAssistance: 0, anythingExtra: 0 }, currentBalance: 0, forecastedSalarySacrifices: [ { amount: 0, matched: { salarySacrificeBreakdown: { leaseAmount: 0, administrationFee: 0, fuel: 0, servicing: 0, tyres: 0, insurance: 0, carWash: 0, registration: 0, roadSideAssistance: 0, anythingExtra: 0 }, preTaxDeduction: 0, postTaxDeduction: 0, contributionId: String } } ], forecastedOutgoingPayments: [ { amount: 0, budgetCategory: String, matched: { budgetCategory: String, amount: 0, gst: 0 } } ], adjustments: [ { budgetCategory: String, amount: 0, gst: 0, description: String, id: String } ], transactions: [ { budgetCategory: String, amount: 0, gst: 0, description: String, type: String } ], id: String } }