/* Options: Date: 2025-09-13 20:07:42 Version: 8.80 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://api.bookmore.com //Package: //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: CreateInvoice.* //ExcludeTypes: //InitializeCollections: False //TreatTypesAsStrings: //DefaultImports: java.math.*,java.util.*,java.io.InputStream,net.servicestack.client.* */ import java.math.* import java.util.* import java.io.InputStream import net.servicestack.client.* @Route(Path="/eaccounting/invoice", Verbs="POST") open class CreateInvoice : InvoiceAddressResponse(), IReturn, ICompany { /** * The booking id, to be used to create the customer. */ @ApiMember(Description="The booking id, to be used to create the customer.", IsRequired=true) open var BookingId:Int? = null /** * The Term of payment Id, to be used to create the invoice. */ @ApiMember(Description="The Term of payment Id, to be used to create the invoice.", IsRequired=true) open var TermsOfPaymentId:UUID? = null /** * Note id's to add to this invoice */ @ApiMember(Description="Note id's to add to this invoice") open var Notes:ArrayList? = null /** * Invoice Customer name */ @ApiMember(Description="Invoice Customer name") open var InvoiceCustomerName:String? = null /** * Used for sending the invoice via Auto-invoice Default:None, 0 = None, 1 = AutoInvoiceElectronic, 2 = AutoInvoicePrint, 3 = AutoInvoiceB2C = ['0', '1', '2', '3']. */ @ApiMember(Description="Used for sending the invoice via Auto-invoice Default:None, 0 = None, 1 = AutoInvoiceElectronic, 2 = AutoInvoicePrint, 3 = AutoInvoiceB2C = ['0', '1', '2', '3'].", IsRequired=true) open var SendType:EAccountingInvoiceSendTypes? = null /** * 1 = Apartment, 2 = Property Leave blank or set to null if you do not intend to use ROT or Green Technology functionality. */ @ApiMember(Description="1 = Apartment, 2 = Property Leave blank or set to null if you do not intend to use ROT or Green Technology functionality.", IsRequired=true) open var RotPropertyType:RotPropertyTypes? = null /** * 0 = Normal, 1 = Rot, 2 = Rut = ['0', '1', '2'] */ @ApiMember(Description="0 = Normal, 1 = Rot, 2 = Rut = ['0', '1', '2']", IsRequired=true) open var RotReducedInvoicingType:RotReducedInvoicingTypes? = null /** * 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.") override var CompanyId:UUID? = null companion object { private val responseType = CreateInvoiceQueryResponse::class.java } override fun getResponseType(): Any? = CreateInvoice.responseType } open class CreateInvoiceQueryResponse { open var Invoice:InvoiceQueryResponse? = null open var InvoiceUri:String? = null open var ResponseStatus:ResponseStatus? = null } interface ICompany { var CompanyId:UUID? } enum class RotPropertyTypes(val value:Int) { Apartment(1), Property(2), } enum class RotReducedInvoicingTypes { Normal, Rot, Rut, } open class InvoiceAddressResponse { open var InvoiceAddressId:UUID? = null open var UserId:UUID? = null open var CorporateIdentityNumber:String? = null open var InvoiceAddress1:String? = null open var InvoiceAddress2:String? = null open var InvoiceCity:String? = null open var InvoicePostalCode:String? = null open var InvoiceCountryCode:String? = null } enum class EAccountingInvoiceSendTypes { None, AutoInvoiceElectronic, AutoInvoicePrint, AutoInvoiceB2C, } open class InvoiceQueryResponse { open var InvoiceId:UUID? = null open var CreatedDate:Date? = null open var TotalAmount:BigDecimal? = null open var TotalVatAmount:BigDecimal? = null open var CustomerId:String? = null open var Rows:ArrayList? = null open var VatSpecification:ArrayList? = null open var InvoiceDate:String? = null open var DueDate:String? = null open var DeliveryDate:Date? = null open var Persons:ArrayList? = null open var InvoiceCustomerName:String? = null open var InvoiceAddress:EAccountingInvoiceAddress? = null open var CustomerIsPrivatePerson:Boolean? = null open var TermsOfPaymentId:String? = null open var TermsOfPaymentData:EAccountingTermsOfPaymentQueryResponse? = null open var CustomerEmail:String? = null open var InvoiceNumber:Int? = null open var CustomerNumber:String? = null open var Notes:ArrayList? = null open var NoteIds:ArrayList? = null open var CreatedUtc:Date? = null open var ModifiedUtc:Date? = null open var IncludesVat:Boolean? = null open var SendType:EAccountingInvoiceSendTypes? = null open var IsSold:Boolean? = null open var PaymentDate:Date? = null open var PaymentStatus:PaymentStatus? = null open var PaymentStatusTitle:String? = null open var CreditedBy:ArrayList? = null open var PriceSign:String? = null open var BookingId:String? = null }