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 .xml suffix or ?format=xml
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: application/xml
Content-Type: application/xml
Content-Length: length
<ForecastRequest xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Infrastructure.Api.Interfaces.ServiceOperations.SalaryPackages">
<OrganisationId xmlns="http://schemas.datacontract.org/2004/07/Infrastructure.Api.Interfaces.ServiceOperations">String</OrganisationId>
<Id>String</Id>
</ForecastRequest>
HTTP/1.1 200 OK Content-Type: application/xml Content-Length: length <ForecastResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Infrastructure.Api.Interfaces.ServiceOperations.SalaryPackages"> <ResponseStatus xmlns:d2p1="http://schemas.servicestack.net/types"> <d2p1:ErrorCode>String</d2p1:ErrorCode> <d2p1:Message>String</d2p1:Message> <d2p1:StackTrace>String</d2p1:StackTrace> <d2p1:Errors> <d2p1:ResponseError> <d2p1:ErrorCode>String</d2p1:ErrorCode> <d2p1:FieldName>String</d2p1:FieldName> <d2p1:Message>String</d2p1:Message> <d2p1:Meta xmlns:d5p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays"> <d5p1:KeyValueOfstringstring> <d5p1:Key>String</d5p1:Key> <d5p1:Value>String</d5p1:Value> </d5p1:KeyValueOfstringstring> </d2p1:Meta> </d2p1:ResponseError> </d2p1:Errors> <d2p1:Meta xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays"> <d3p1:KeyValueOfstringstring> <d3p1:Key>String</d3p1:Key> <d3p1:Value>String</d3p1:Value> </d3p1:KeyValueOfstringstring> </d2p1:Meta> </ResponseStatus> <SalaryPackage xmlns:d2p1="http://schemas.datacontract.org/2004/07/Application.Interfaces.Resources"> <d2p1:Adjustments> <d2p1:Adjustment> <d2p1:Amount>0</d2p1:Amount> <d2p1:BudgetCategory>String</d2p1:BudgetCategory> <d2p1:Description>String</d2p1:Description> <d2p1:Gst>0</d2p1:Gst> <d2p1:Id>String</d2p1:Id> <d2p1:Received>0001-01-01T00:00:00</d2p1:Received> </d2p1:Adjustment> </d2p1:Adjustments> <d2p1:BudgetBalances> <d2p1:AdministrationFee>0</d2p1:AdministrationFee> <d2p1:AnythingExtra>0</d2p1:AnythingExtra> <d2p1:CarWash>0</d2p1:CarWash> <d2p1:Fuel>0</d2p1:Fuel> <d2p1:Insurance>0</d2p1:Insurance> <d2p1:LeaseAmount>0</d2p1:LeaseAmount> <d2p1:Registration>0</d2p1:Registration> <d2p1:RoadSideAssistance>0</d2p1:RoadSideAssistance> <d2p1:Servicing>0</d2p1:Servicing> <d2p1:Tyres>0</d2p1:Tyres> </d2p1:BudgetBalances> <d2p1:BudgetBreakdown> <d2p1:AdministrationFee>0</d2p1:AdministrationFee> <d2p1:AnythingExtra>0</d2p1:AnythingExtra> <d2p1:CarWash>0</d2p1:CarWash> <d2p1:Fuel>0</d2p1:Fuel> <d2p1:Insurance>0</d2p1:Insurance> <d2p1:LeaseAmount>0</d2p1:LeaseAmount> <d2p1:Registration>0</d2p1:Registration> <d2p1:RoadSideAssistance>0</d2p1:RoadSideAssistance> <d2p1:Servicing>0</d2p1:Servicing> <d2p1:Tyres>0</d2p1:Tyres> </d2p1:BudgetBreakdown> <d2p1:CurrentBalance>0</d2p1:CurrentBalance> <d2p1:CustomerFirstName>String</d2p1:CustomerFirstName> <d2p1:CustomerId>String</d2p1:CustomerId> <d2p1:CustomerLastName>String</d2p1:CustomerLastName> <d2p1:Employment> <d2p1:EmployerId>String</d2p1:EmployerId> <d2p1:EmployerName>String</d2p1:EmployerName> <d2p1:FirstPayDate>0001-01-01T00:00:00</d2p1:FirstPayDate> <d2p1:PayrollCycle>String</d2p1:PayrollCycle> </d2p1:Employment> <d2p1:ForecastedOutgoingPayments> <d2p1:ForecastedOutgoingPayment> <d2p1:Amount>0</d2p1:Amount> <d2p1:BudgetCategory>String</d2p1:BudgetCategory> <d2p1:Matched> <d2p1:Amount>0</d2p1:Amount> <d2p1:BudgetCategory>String</d2p1:BudgetCategory> <d2p1:Gst>0</d2p1:Gst> </d2p1:Matched> <d2p1:Scheduled>0001-01-01T00:00:00</d2p1:Scheduled> </d2p1:ForecastedOutgoingPayment> </d2p1:ForecastedOutgoingPayments> <d2p1:ForecastedSalarySacrifices> <d2p1:ForecastedSalarySacrifice> <d2p1:Amount>0</d2p1:Amount> <d2p1:Matched> <d2p1:ContributionId>String</d2p1:ContributionId> <d2p1:PaymentDate>0001-01-01T00:00:00</d2p1:PaymentDate> <d2p1:PostTaxDeduction>0</d2p1:PostTaxDeduction> <d2p1:PreTaxDeduction>0</d2p1:PreTaxDeduction> <d2p1:SalarySacrificeBreakdown> <d2p1:AdministrationFee>0</d2p1:AdministrationFee> <d2p1:AnythingExtra>0</d2p1:AnythingExtra> <d2p1:CarWash>0</d2p1:CarWash> <d2p1:Fuel>0</d2p1:Fuel> <d2p1:Insurance>0</d2p1:Insurance> <d2p1:LeaseAmount>0</d2p1:LeaseAmount> <d2p1:Registration>0</d2p1:Registration> <d2p1:RoadSideAssistance>0</d2p1:RoadSideAssistance> <d2p1:Servicing>0</d2p1:Servicing> <d2p1:Tyres>0</d2p1:Tyres> </d2p1:SalarySacrificeBreakdown> </d2p1:Matched> <d2p1:PaymentDate>0001-01-01T00:00:00</d2p1:PaymentDate> </d2p1:ForecastedSalarySacrifice> </d2p1:ForecastedSalarySacrifices> <d2p1:Id>String</d2p1:Id> <d2p1:LeaseDetails> <d2p1:AmountFinanced>0</d2p1:AmountFinanced> <d2p1:FinanceProvider>String</d2p1:FinanceProvider> <d2p1:FringeBenefitTaxBusinessUse>0</d2p1:FringeBenefitTaxBusinessUse> <d2p1:FringeBenefitTaxMethod>String</d2p1:FringeBenefitTaxMethod> <d2p1:FringeBenefitTaxStartDate>0001-01-01T00:00:00</d2p1:FringeBenefitTaxStartDate> <d2p1:FringeBenefitTaxValue>0</d2p1:FringeBenefitTaxValue> <d2p1:GstOnPostTaxDeduction>0</d2p1:GstOnPostTaxDeduction> <d2p1:InsuranceDueDate>0001-01-01T00:00:00</d2p1:InsuranceDueDate> <d2p1:LeaseProviderBankAccount> <d2p1:AccountNumber>String</d2p1:AccountNumber> <d2p1:BsbNumber>String</d2p1:BsbNumber> </d2p1:LeaseProviderBankAccount> <d2p1:LuxuryVehicleCharge>0</d2p1:LuxuryVehicleCharge> <d2p1:OnRoadCost>0</d2p1:OnRoadCost> <d2p1:PaymentAmount>0</d2p1:PaymentAmount> <d2p1:PostTaxDeduction>0</d2p1:PostTaxDeduction> <d2p1:PreTaxDeduction>0</d2p1:PreTaxDeduction> <d2p1:RegistrationDueDate>0001-01-01T00:00:00</d2p1:RegistrationDueDate> <d2p1:ResidualValue>0</d2p1:ResidualValue> <d2p1:StartDate>0001-01-01T00:00:00</d2p1:StartDate> <d2p1:Term>0</d2p1:Term> <d2p1:YearlyKmsTravelled>0</d2p1:YearlyKmsTravelled> </d2p1:LeaseDetails> <d2p1:Notes>String</d2p1:Notes> <d2p1:Status>String</d2p1:Status> <d2p1:Transactions> <d2p1:Transaction> <d2p1:Amount>0</d2p1:Amount> <d2p1:BudgetCategory>String</d2p1:BudgetCategory> <d2p1:Description>String</d2p1:Description> <d2p1:Gst>0</d2p1:Gst> <d2p1:Received>0001-01-01T00:00:00</d2p1:Received> <d2p1:Type>String</d2p1:Type> </d2p1:Transaction> </d2p1:Transactions> <d2p1:Vehicle> <d2p1:BodyShape>String</d2p1:BodyShape> <d2p1:Colour>String</d2p1:Colour> <d2p1:LicensePlate>String</d2p1:LicensePlate> <d2p1:Make>String</d2p1:Make> <d2p1:ManufactureYear>0</d2p1:ManufactureYear> <d2p1:Model>String</d2p1:Model> <d2p1:Transmission>String</d2p1:Transmission> </d2p1:Vehicle> </SalaryPackage> </ForecastResponse>