/* Options: Date: 2026-04-01 02:31:17 SwiftVersion: 6.0 Version: 10.05 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://api.bokamera.se //BaseClass: //AddModelExtensions: True //AddServiceStackTypes: True //MakePropertiesOptional: True IncludeTypes: CreateSummarizedInvoice.* //ExcludeTypes: //ExcludeGenericBaseTypes: False //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True //InitializeCollections: False //TreatTypesAsStrings: //DefaultImports: Foundation,ServiceStack */ import Foundation import ServiceStack // @Route("/eaccounting/summarizedinvoice", "POST") // @ApiResponse(Description="You were unauthorized to call this service", StatusCode=401) // @ValidateRequest(Validator="IsAuthenticated") public class CreateSummarizedInvoice : IReturn, ICompany, Codable { public typealias Return = CreateSummarizedInvoiceResponse /** * 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? /** * Start date for the booking range to include. */ // @ApiMember(Description="Start date for the booking range to include.", IsRequired=true) public var dateFrom:Date? /** * End date for the booking range to include. */ // @ApiMember(Description="End date for the booking range to include.", IsRequired=true) public var dateTo:Date? /** * Optional customer id. If null, creates one summarized invoice per customer with eligible bookings. */ // @ApiMember(Description="Optional customer id. If null, creates one summarized invoice per customer with eligible bookings.") public var customerId:String? /** * Optional service/event id filter. Only include bookings for this service. */ // @ApiMember(Description="Optional service/event id filter. Only include bookings for this service.") public var serviceId:Int? /** * Optional list of booking status ids to include. If empty, all statuses are included. */ // @ApiMember(Description="Optional list of booking status ids to include. If empty, all statuses are included.") public var bookingStatusIds:[Int]? /** * The terms of payment id from EAccounting. */ // @ApiMember(Description="The terms of payment id from EAccounting.", IsRequired=true) public var termsOfPaymentId:String? /** * Invoice creation type: 'Draft' or 'Invoice'. Defaults to company's EAccounting DefaultCreateType. */ // @ApiMember(Description="Invoice creation type: 'Draft' or 'Invoice'. Defaults to company's EAccounting DefaultCreateType.") public var createType:String? /** * Send type for final invoices. 0 = None, 1 = AutoInvoiceElectronic, 2 = AutoInvoicePrint, 3 = AutoInvoiceB2C. */ // @ApiMember(Description="Send type for final invoices. 0 = None, 1 = AutoInvoiceElectronic, 2 = AutoInvoicePrint, 3 = AutoInvoiceB2C.") public var sendType:EAccountingInvoiceSendTypes? /** * Override corporate identity number for invoice address. */ // @ApiMember(Description="Override corporate identity number for invoice address.") public var corporateIdentityNumber:String? /** * Override invoice address line 1. */ // @ApiMember(Description="Override invoice address line 1.") public var invoiceAddress1:String? /** * Override invoice address line 2. */ // @ApiMember(Description="Override invoice address line 2.") public var invoiceAddress2:String? /** * Override invoice city. */ // @ApiMember(Description="Override invoice city.") public var invoiceCity:String? /** * Override invoice postal code. */ // @ApiMember(Description="Override invoice postal code.") public var invoicePostalCode:String? /** * Override invoice country code. */ // @ApiMember(Description="Override invoice country code.") public var invoiceCountryCode:String? required public init(){} } public class CreateSummarizedInvoiceResponse : Codable { public var totalCustomersQueued:Int? public var jobs:[SummarizedInvoiceJobResponse] = [] public var responseStatus:ResponseStatus? required public init(){} } public protocol ICompany { var companyId:String? { get set } } public enum EAccountingInvoiceSendTypes : String, Codable { case None case AutoInvoiceElectronic case AutoInvoicePrint case AutoInvoiceB2C } public class SummarizedInvoiceJobResponse : Codable { public var summarizedInvoiceId:String? public var customerId:String? public var customerName:String? public var bookingCount:Int? required public init(){} }