/* Options: Date: 2025-09-13 09:57:28 SwiftVersion: 6.0 Version: 8.80 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://api.bokamera.se //BaseClass: //AddModelExtensions: True //AddServiceStackTypes: True //MakePropertiesOptional: True IncludeTypes: EaccountingInvoicePrintQuery.* //ExcludeTypes: //ExcludeGenericBaseTypes: False //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True //InitializeCollections: False //TreatTypesAsStrings: //DefaultImports: Foundation,ServiceStack */ import Foundation import ServiceStack // @Route("/eaccounting/invoice/print", "GET") public class EaccountingInvoicePrintQuery : IReturn, ICompany, Codable { public typealias Return = InvoiceQueryResponse public var invoiceId:String? public var companyId:String? required public init(){} } public class InvoiceQueryResponse : Codable { public var invoiceId:String? public var createdDate:Date? public var totalAmount:Double? public var totalVatAmount:Double? public var customerId:String? public var rows:[InvoiceLineQueryResponse]? public var vatSpecification:[VatSpecificationQueryResponse]? public var invoiceDate:String? public var dueDate:String? public var deliveryDate:Date? public var persons:[Person]? public var invoiceCustomerName:String? public var invoiceAddress:EAccountingInvoiceAddress? public var customerIsPrivatePerson:Bool? public var termsOfPaymentId:String? public var termsOfPaymentData:EAccountingTermsOfPaymentQueryResponse? public var customerEmail:String? public var invoiceNumber:Int? public var customerNumber:String? public var notes:[NoteQueryResponse]? public var noteIds:[String]? public var createdUtc:Date? public var modifiedUtc:Date? public var includesVat:Bool? public var sendType:EAccountingInvoiceSendTypes? public var isSold:Bool? public var paymentDate:Date? public var paymentStatus:PaymentStatus? public var paymentStatusTitle:String? public var creditedBy:[CreditedBy]? public var priceSign:String? public var bookingId:String? 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 InvoiceLineQueryResponse : Codable { public var articleNumber:String? public var articleId:String? public var isServiceArticle:Bool? public var amountNoVat:Double? public var percentVat:Double? public var lineNumber:Int? public var isTextRow:Bool? public var text:String? public var unitPrice:Double? public var unitAbbreviation:String? public var unitAbbreviationEnglish:String? public var discountPercentage:Double? public var quantity:Float? public var isWorkCost:Bool? public var isVatFree:Bool? public var costCenterItemId1:String? public var costCenterItemId2:String? public var costCenterItemId3:String? public var unitId:String? public var projectId:String? public var workCostType:Int? public var workHours:Float? public var materialCosts:Double? public var greenTechnologyType:GreenTechnologyType? public var contributionMargin:ContributionMargin? required public init(){} } public class VatSpecificationQueryResponse : Codable { public var amountInvoiceCurrency:Double? public var vatAmountInvoiceCurrency:Double? public var vatPercent:Double? required public init(){} } public class Person : Codable { public var ssn:String? public var amount:Int? required public init(){} } public class EAccountingInvoiceAddress : Codable { public var corporateIdentityNumber:String? public var invoiceAddress1:String? public var invoiceAddress2:String? public var invoiceCity:String? public var invoicePostalCode:String? public var invoiceCountryCode:String? required public init(){} } public enum PaymentStatus : String, Codable { case Paid case Unpaid case Overdue } public class CreditedBy : Codable { public var creditInvoiceId:String? required public init(){} } public enum GreenTechnologyType : String, Codable { case None case SolarCellInstallation case ElectricEnergyStorageInstallation case ElectricVehicleChargingPointInstallation } public class ContributionMargin : Codable { public var amount:Int? public var percentage:Int? required public init(){} } public class NoteQueryResponse : Codable { public var id:String? public var text:String? public var createdUtc:Date? public var modifiedUtc:Date? required public init(){} } public class EAccountingTermsOfPaymentQueryResponse : Codable { public var id:String? public var name:String? public var nameEnglish:String? public var numberOfDays:Int? public var termsOfPaymentTypeId:Int? public var termsOfPaymentTypeText:String? public var availableForSales:Bool? public var availableForPurchase:Bool? required public init(){} }