BokaMera.API.Host

<back to all web services

GetVossCustomerInvoiceBalance

Requires Authentication
Requires any of the roles:bookingsupplier-administrator-write, superadmin
The following routes are available for this service:
GET/voss/invoice/balanceget voss invoice
import Foundation
import ServiceStack

// @ApiResponse(Description="You were unauthorized to call this service", StatusCode=401)
public class GetVossCustomerInvoiceBalance : VossPagination
{
    /**
    * The company id, if empty will use the company id for the user you are logged in with.
    */
    // @ApiMember(Description="The company id, if empty will use the company id for the user you are logged in with.")
    public var companyId:String?

    /**
    * Controls up to which point of time transactions are included in invoice, can be set to any date, if not provided current UTC time will be used instead
    */
    // @ApiMember(Description="Controls up to which point of time transactions are included in invoice, can be set to any date, if not provided current UTC time will be used instead")
    public var invoiceDate:Date?

    /**
    * If present the operation will start only after this date
    */
    // @ApiMember(Description="If present the operation will start only after this date")
    public var scheduledStartTime:Date?

    /**
    * Optional CRON expression for recurring operations.
    */
    // @ApiMember(Description="Optional CRON expression for recurring operations.")
    public var recurringSchedule:String

    required public init(){ super.init() }

    private enum CodingKeys : String, CodingKey {
        case companyId
        case invoiceDate
        case scheduledStartTime
        case recurringSchedule
    }

    required public init(from decoder: Decoder) throws {
        try super.init(from: decoder)
        let container = try decoder.container(keyedBy: CodingKeys.self)
        companyId = try container.decodeIfPresent(String.self, forKey: .companyId)
        invoiceDate = try container.decodeIfPresent(Date.self, forKey: .invoiceDate)
        scheduledStartTime = try container.decodeIfPresent(Date.self, forKey: .scheduledStartTime)
        recurringSchedule = try container.decodeIfPresent(String.self, forKey: .recurringSchedule)
    }

    public override func encode(to encoder: Encoder) throws {
        try super.encode(to: encoder)
        var container = encoder.container(keyedBy: CodingKeys.self)
        if companyId != nil { try container.encode(companyId, forKey: .companyId) }
        if invoiceDate != nil { try container.encode(invoiceDate, forKey: .invoiceDate) }
        if scheduledStartTime != nil { try container.encode(scheduledStartTime, forKey: .scheduledStartTime) }
        if recurringSchedule != nil { try container.encode(recurringSchedule, forKey: .recurringSchedule) }
    }
}

public class VossPagination : Codable
{
    public var searchText:String
    public var pageIndex:Int
    public var pageSize:Int
    public var sortField:String
    public var sortDirection:SortDirectionEnum

    required public init(){}
}

public enum SortDirectionEnum : String, Codable
{
    case Ascending
    case Descending
}


Swift GetVossCustomerInvoiceBalance DTOs

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

HTTP + XML

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

GET /voss/invoice/balance HTTP/1.1 
Host: testapi.bokamera.se 
Accept: application/xml
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length

<z:anyType xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns:z="http://schemas.microsoft.com/2003/10/Serialization/" />