Billiecart API

<back to all web services

ForecastRequest

Requires Authentication
Requires the role:manager
The following routes are available for this service:
PUT/packages/{id}/forecast
Imports System
Imports System.Collections
Imports System.Collections.Generic
Imports System.Runtime.Serialization
Imports ServiceStack
Imports ServiceStack.DataAnnotations
Imports Infrastructure.Api.Interfaces.ServiceOperations.SalaryPackages
Imports Infrastructure.Api.Interfaces.ServiceOperations
Imports Application.Interfaces.Resources

Namespace Global

    Namespace Application.Interfaces.Resources

        Public Partial Class Adjustment
            Implements IIdentifiableResource
            Public Overridable Property BudgetCategory As String
            Public Overridable Property Amount As Decimal
            Public Overridable Property Gst As Decimal
            Public Overridable Property Description As String
            Public Overridable Property Received As Date
            Public Overridable Property Id As String
        End Class

        Public Partial Class BankAccount
            Public Overridable Property BsbNumber As String
            Public Overridable Property AccountNumber As String
        End Class

        Public Partial Class BudgetBalances
            Public Overridable Property LeaseAmount As Decimal
            Public Overridable Property AdministrationFee As Decimal
            Public Overridable Property Fuel As Decimal
            Public Overridable Property Servicing As Decimal
            Public Overridable Property Tyres As Decimal
            Public Overridable Property Insurance As Decimal
            Public Overridable Property CarWash As Decimal
            Public Overridable Property Registration As Decimal
            Public Overridable Property RoadSideAssistance As Decimal
            Public Overridable Property AnythingExtra As Decimal
        End Class

        Public Partial Class BudgetBreakdown
            Public Overridable Property LeaseAmount As Nullable(Of Decimal)
            Public Overridable Property AdministrationFee As Nullable(Of Decimal)
            Public Overridable Property Fuel As Nullable(Of Decimal)
            Public Overridable Property Servicing As Nullable(Of Decimal)
            Public Overridable Property Tyres As Nullable(Of Decimal)
            Public Overridable Property Insurance As Nullable(Of Decimal)
            Public Overridable Property CarWash As Nullable(Of Decimal)
            Public Overridable Property Registration As Nullable(Of Decimal)
            Public Overridable Property RoadSideAssistance As Nullable(Of Decimal)
            Public Overridable Property AnythingExtra As Nullable(Of Decimal)
        End Class

        Public Partial Class Employment
            Public Overridable Property PayrollCycle As String
            Public Overridable Property FirstPayDate As Date
            Public Overridable Property EmployerId As String
            Public Overridable Property EmployerName As String
        End Class

        Public Partial Class Expense
            Public Overridable Property BudgetCategory As String
            Public Overridable Property Amount As Decimal
            Public Overridable Property Gst As Decimal
        End Class

        Public Partial Class ForecastedOutgoingPayment
            Public Overridable Property Scheduled As Date
            Public Overridable Property Amount As Decimal
            Public Overridable Property BudgetCategory As String
            Public Overridable Property Matched As Expense
        End Class

        Public Partial Class ForecastedSalarySacrifice
            Public Overridable Property PaymentDate As Date
            Public Overridable Property Amount As Decimal
            Public Overridable Property Matched As SalarySacrifice
        End Class

        Public Partial Class LeaseDetails
            Public Overridable Property Term As Nullable(Of Integer)
            Public Overridable Property StartDate As Nullable(Of Date)
            Public Overridable Property AmountFinanced As Nullable(Of Decimal)
            Public Overridable Property PaymentAmount As Nullable(Of Decimal)
            Public Overridable Property FinanceProvider As String
            Public Overridable Property ResidualValue As Nullable(Of Decimal)
            Public Overridable Property YearlyKmsTravelled As Nullable(Of Integer)
            Public Overridable Property FringeBenefitTaxValue As Nullable(Of Decimal)
            Public Overridable Property FringeBenefitTaxMethod As String
            Public Overridable Property FringeBenefitTaxBusinessUse As Integer
            Public Overridable Property FringeBenefitTaxStartDate As Date
            Public Overridable Property PreTaxDeduction As Nullable(Of Decimal)
            Public Overridable Property PostTaxDeduction As Nullable(Of Decimal)
            Public Overridable Property GstOnPostTaxDeduction As Nullable(Of Decimal)
            Public Overridable Property LuxuryVehicleCharge As Nullable(Of Decimal)
            Public Overridable Property OnRoadCost As Decimal
            Public Overridable Property RegistrationDueDate As Date
            Public Overridable Property InsuranceDueDate As Date
            Public Overridable Property LeaseProviderBankAccount As BankAccount
        End Class

        Public Partial Class SalaryPackage
            Implements IIdentifiableResource
            Public Sub New()
                ForecastedSalarySacrifices = New List(Of ForecastedSalarySacrifice)
                ForecastedOutgoingPayments = New List(Of ForecastedOutgoingPayment)
                Adjustments = New List(Of Adjustment)
                Transactions = New List(Of Transaction)
            End Sub

            Public Overridable Property CustomerId As String
            Public Overridable Property CustomerFirstName As String
            Public Overridable Property CustomerLastName As String
            Public Overridable Property Status As String
            Public Overridable Property Notes As String
            Public Overridable Property BudgetBreakdown As BudgetBreakdown
            Public Overridable Property Employment As Employment
            Public Overridable Property Vehicle As Vehicle
            Public Overridable Property LeaseDetails As LeaseDetails
            Public Overridable Property BudgetBalances As BudgetBalances
            Public Overridable Property CurrentBalance As Decimal
            Public Overridable Property ForecastedSalarySacrifices As List(Of ForecastedSalarySacrifice)
            Public Overridable Property ForecastedOutgoingPayments As List(Of ForecastedOutgoingPayment)
            Public Overridable Property Adjustments As List(Of Adjustment)
            Public Overridable Property Transactions As List(Of Transaction)
            Public Overridable Property Id As String
        End Class

        Public Partial Class SalarySacrifice
            Public Overridable Property PaymentDate As Date
            Public Overridable Property SalarySacrificeBreakdown As SalarySacrificeBreakdown
            Public Overridable Property PreTaxDeduction As Decimal
            Public Overridable Property PostTaxDeduction As Decimal
            Public Overridable Property ContributionId As String
        End Class

        Public Partial Class SalarySacrificeBreakdown
            Public Overridable Property LeaseAmount As Nullable(Of Decimal)
            Public Overridable Property AdministrationFee As Nullable(Of Decimal)
            Public Overridable Property Fuel As Nullable(Of Decimal)
            Public Overridable Property Servicing As Nullable(Of Decimal)
            Public Overridable Property Tyres As Nullable(Of Decimal)
            Public Overridable Property Insurance As Nullable(Of Decimal)
            Public Overridable Property CarWash As Nullable(Of Decimal)
            Public Overridable Property Registration As Nullable(Of Decimal)
            Public Overridable Property RoadSideAssistance As Nullable(Of Decimal)
            Public Overridable Property AnythingExtra As Nullable(Of Decimal)
        End Class

        Public Partial Class Transaction
            Public Overridable Property Received As Date
            Public Overridable Property BudgetCategory As String
            Public Overridable Property Amount As Decimal
            Public Overridable Property Gst As Decimal
            Public Overridable Property Description As String
            Public Overridable Property Type As String
        End Class

        Public Partial Class Vehicle
            Public Overridable Property Make As String
            Public Overridable Property Model As String
            Public Overridable Property Colour As String
            Public Overridable Property BodyShape As String
            Public Overridable Property LicensePlate As String
            Public Overridable Property Transmission As String
            Public Overridable Property ManufactureYear As Integer
        End Class
    End Namespace

    Namespace Infrastructure.Api.Interfaces.ServiceOperations

        Public Partial Class PutOperationTenanted(Of TResponse)
            Inherits PutOperationUnTenanted(Of TResponse)
            Implements ITenantedRequest
            Public Overridable Property OrganisationId As String
        End Class

        Public Partial Class PutOperationUnTenanted(Of TResponse)
            Implements IPut
        End Class
    End Namespace

    Namespace Infrastructure.Api.Interfaces.ServiceOperations.SalaryPackages

        Public Partial Class ForecastRequest
            Inherits PutOperationTenanted(Of ForecastResponse)
            Public Overridable Property Id As String
        End Class

        Public Partial Class ForecastResponse
            Public Overridable Property ResponseStatus As ResponseStatus
            Public Overridable Property SalaryPackage As SalaryPackage
        End Class
    End Namespace
End Namespace

VB.NET ForecastRequest DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .csv suffix or ?format=csv

HTTP + CSV

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/csv
Content-Type: text/csv
Content-Length: length

{"id":"String","organisationId":"String"}
HTTP/1.1 200 OK
Content-Type: text/csv
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":null,"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"}}