| POST | /eaccounting/summarizedinvoice | Create summarized invoices for customer bookings in a date range | Creates a single invoice per customer covering all their bookings in the specified date range. Processing is async via queue. |
|---|
Imports System
Imports System.IO
Imports System.Collections
Imports System.Collections.Generic
Imports System.Runtime.Serialization
Imports ServiceStack
Imports ServiceStack.DataAnnotations
Imports BokaMera.API.ServiceModel.Dtos
Imports BokaMera.API.ServiceModel.Enums
Namespace Global
Namespace BokaMera.API.ServiceModel.Dtos
<ApiResponse(Description:="You were unauthorized to call this service", StatusCode:=401)>
<ValidateRequest(Validator:="IsAuthenticated")>
Public Partial Class CreateSummarizedInvoice
Implements ICompany
'''<Summary>
'''The company id, if empty will use the company id for the user you are logged in with.
'''</Summary>
<ApiMember(Description:="The company id, if empty will use the company id for the user you are logged in with.")>
Public Overridable Property CompanyId As Guid? Implements ICompany.CompanyId
'''<Summary>
'''Start date for the booking range to include.
'''</Summary>
<ApiMember(Description:="Start date for the booking range to include.", IsRequired:=true)>
Public Overridable Property DateFrom As Date
'''<Summary>
'''End date for the booking range to include.
'''</Summary>
<ApiMember(Description:="End date for the booking range to include.", IsRequired:=true)>
Public Overridable Property DateTo As Date
'''<Summary>
'''Optional customer id. If null, creates one summarized invoice per customer with eligible bookings.
'''</Summary>
<ApiMember(Description:="Optional customer id. If null, creates one summarized invoice per customer with eligible bookings.")>
Public Overridable Property CustomerId As Guid?
'''<Summary>
'''Optional service/event id filter. Only include bookings for this service.
'''</Summary>
<ApiMember(Description:="Optional service/event id filter. Only include bookings for this service.")>
Public Overridable Property ServiceId As Integer?
'''<Summary>
'''Optional list of booking status ids to include. If empty, all statuses are included.
'''</Summary>
<ApiMember(Description:="Optional list of booking status ids to include. If empty, all statuses are included.")>
Public Overridable Property BookingStatusIds As List(Of Integer)
'''<Summary>
'''The terms of payment id from EAccounting.
'''</Summary>
<ApiMember(Description:="The terms of payment id from EAccounting.", IsRequired:=true)>
Public Overridable Property TermsOfPaymentId As String
'''<Summary>
'''Invoice creation type: 'Draft' or 'Invoice'. Defaults to company's EAccounting DefaultCreateType.
'''</Summary>
<ApiMember(Description:="Invoice creation type: 'Draft' or 'Invoice'. Defaults to company's EAccounting DefaultCreateType.")>
Public Overridable Property CreateType As String
'''<Summary>
'''Send type for final invoices. 0 = None, 1 = AutoInvoiceElectronic, 2 = AutoInvoicePrint, 3 = AutoInvoiceB2C.
'''</Summary>
<ApiMember(Description:="Send type for final invoices. 0 = None, 1 = AutoInvoiceElectronic, 2 = AutoInvoicePrint, 3 = AutoInvoiceB2C.")>
Public Overridable Property SendType As EAccountingInvoiceSendTypes?
'''<Summary>
'''Override corporate identity number for invoice address.
'''</Summary>
<ApiMember(Description:="Override corporate identity number for invoice address.")>
Public Overridable Property CorporateIdentityNumber As String
'''<Summary>
'''Override invoice address line 1.
'''</Summary>
<ApiMember(Description:="Override invoice address line 1.")>
Public Overridable Property InvoiceAddress1 As String
'''<Summary>
'''Override invoice address line 2.
'''</Summary>
<ApiMember(Description:="Override invoice address line 2.")>
Public Overridable Property InvoiceAddress2 As String
'''<Summary>
'''Override invoice city.
'''</Summary>
<ApiMember(Description:="Override invoice city.")>
Public Overridable Property InvoiceCity As String
'''<Summary>
'''Override invoice postal code.
'''</Summary>
<ApiMember(Description:="Override invoice postal code.")>
Public Overridable Property InvoicePostalCode As String
'''<Summary>
'''Override invoice country code.
'''</Summary>
<ApiMember(Description:="Override invoice country code.")>
Public Overridable Property InvoiceCountryCode As String
End Class
Public Partial Class CreateSummarizedInvoiceResponse
Public Overridable Property TotalCustomersQueued As Integer
Public Overridable Property Jobs As List(Of SummarizedInvoiceJobResponse) = New List(Of SummarizedInvoiceJobResponse)
Public Overridable Property ResponseStatus As ResponseStatus
End Class
Public Partial Class SummarizedInvoiceJobResponse
Public Overridable Property SummarizedInvoiceId As Guid
Public Overridable Property CustomerId As Guid
Public Overridable Property CustomerName As String
Public Overridable Property BookingCount As Integer
End Class
End Namespace
End Namespace
VB.NET CreateSummarizedInvoice DTOs
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.
POST /eaccounting/summarizedinvoice HTTP/1.1
Host: api.bokamera.se
Accept: application/xml
Content-Type: application/xml
Content-Length: length
<CreateSummarizedInvoice xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/BokaMera.API.ServiceModel.Dtos">
<BookingStatusIds xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d2p1:int>0</d2p1:int>
</BookingStatusIds>
<CompanyId>00000000-0000-0000-0000-000000000000</CompanyId>
<CorporateIdentityNumber>String</CorporateIdentityNumber>
<CreateType>String</CreateType>
<CustomerId>00000000-0000-0000-0000-000000000000</CustomerId>
<DateFrom>0001-01-01T00:00:00</DateFrom>
<DateTo>0001-01-01T00:00:00</DateTo>
<InvoiceAddress1>String</InvoiceAddress1>
<InvoiceAddress2>String</InvoiceAddress2>
<InvoiceCity>String</InvoiceCity>
<InvoiceCountryCode>String</InvoiceCountryCode>
<InvoicePostalCode>String</InvoicePostalCode>
<SendType>None</SendType>
<ServiceId>0</ServiceId>
<TermsOfPaymentId>String</TermsOfPaymentId>
</CreateSummarizedInvoice>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length
<CreateSummarizedInvoiceResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/BokaMera.API.ServiceModel.Dtos">
<Jobs>
<SummarizedInvoiceJobResponse>
<BookingCount>0</BookingCount>
<CustomerId>00000000-0000-0000-0000-000000000000</CustomerId>
<CustomerName>String</CustomerName>
<SummarizedInvoiceId>00000000-0000-0000-0000-000000000000</SummarizedInvoiceId>
</SummarizedInvoiceJobResponse>
</Jobs>
<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>
<TotalCustomersQueued>0</TotalCustomersQueued>
</CreateSummarizedInvoiceResponse>