/* Options: Date: 2026-04-01 02:33:19 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: PreviewSummarizedInvoice.* //ExcludeTypes: //ExcludeGenericBaseTypes: False //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True //InitializeCollections: False //TreatTypesAsStrings: //DefaultImports: Foundation,ServiceStack */ import Foundation import ServiceStack // @Route("/eaccounting/summarizedinvoice/preview", "GET") // @ValidateRequest(Validator="IsAuthenticated") public class PreviewSummarizedInvoice : IReturn, ICompany, Codable { public typealias Return = PreviewSummarizedInvoiceResponse /** * 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 filter. */ // @ApiMember(Description="Optional customer id filter.") public var customerId:String? /** * Optional service/event id filter. */ // @ApiMember(Description="Optional service/event id filter.") 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]? /** * Send type for invoices. 0 = None, 1 = AutoInvoiceElectronic, 2 = AutoInvoicePrint, 3 = AutoInvoiceB2C. Used to validate customer addresses for postal delivery. */ // @ApiMember(Description="Send type for invoices. 0 = None, 1 = AutoInvoiceElectronic, 2 = AutoInvoicePrint, 3 = AutoInvoiceB2C. Used to validate customer addresses for postal delivery.") public var sendType:EAccountingInvoiceSendTypes? required public init(){} } public class PreviewSummarizedInvoiceResponse : Codable { public var totalCustomers:Int? public var totalBookings:Int? public var customers:[PreviewCustomerGroup] = [] 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 PreviewCustomerGroup : Codable { public var customerId:String? public var customerName:String? public var email:String? public var bookingCount:Int? public var bookingIds:[Int] = [] public var missingInvoiceAddress:Bool? public var missingEmail:Bool? required public init(){} }