/* Options: Date: 2024-11-21 12:03:43 Version: 8.23 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://api.bokamera.se //GlobalNamespace: //MakePropertiesOptional: False //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: CreateInvoiceDraft.* //ExcludeTypes: //DefaultImports: */ export interface IReturn { createResponse(): T; } export interface ICompany { CompanyId?: string; } // @DataContract export class ResponseError { // @DataMember(Order=1) public ErrorCode: string; // @DataMember(Order=2) public FieldName: string; // @DataMember(Order=3) public Message: string; // @DataMember(Order=4) public Meta: { [index: string]: string; }; public constructor(init?: Partial) { (Object as any).assign(this, init); } } // @DataContract export class ResponseStatus { // @DataMember(Order=1) public ErrorCode: string; // @DataMember(Order=2) public Message: string; // @DataMember(Order=3) public StackTrace: string; // @DataMember(Order=4) public Errors: ResponseError[]; // @DataMember(Order=5) public Meta: { [index: string]: string; }; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class InvoiceAddress { public CorporateIdentityNumber: string; public InvoiceAddress1: string; public InvoiceAddress2: string; public InvoiceCity: string; public InvoicePostalCode: string; public InvoiceCountryCode: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export enum RotPropertyTypes { Apartment = 1, Property = 2, } export enum RotReducedInvoicingTypes { Normal = 'Normal', Rot = 'Rot', Rut = 'Rut', } export class InvoiceDraftQueryResponse { public InvoiceId: string; public CreatedDate?: string; public TotalAmount?: number; public TotalVatAmount?: number; public CustomerId: string; public Rows: InvoiceDraftLineQueryResponse[]; public InvoiceDate: string; public DueDate: string; public DeliveryDate?: string; public Persons: Person[]; public InvoiceCustomerName: string; public InvoiceAddress: InvoiceAddress; public CustomerIsPrivatePerson: boolean; public CustomerNumber: string; public Notes: NoteQueryResponse[]; public NoteIds: string[]; public CreatedUtc: string; public IncludesVat: boolean; public PriceSign: string; public BookingId: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class CreateInvoiceDraftQueryResponse { public Invoice: InvoiceDraftQueryResponse; public InvoiceUri: string; public ResponseStatus: ResponseStatus; public constructor(init?: Partial) { (Object as any).assign(this, init); } } // @Route("/eaccounting/invoicedraft", "POST") export class CreateInvoiceDraft extends InvoiceAddress implements IReturn, ICompany { /** @description The booking id, to be used to create the customer. */ // @ApiMember(Description="The booking id, to be used to create the customer.", IsRequired=true) public BookingId: number; /** @description 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) public TermsOfPaymentId: string; /** @description Note id's to add to this invoice */ // @ApiMember(Description="Note id's to add to this invoice") public Notes: string[]; /** @description Invoice Customer name */ // @ApiMember(Description="Invoice Customer name") public InvoiceCustomerName: string; /** @description 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) public RotPropertyType: RotPropertyTypes; /** @description 0 = Normal, 1 = Rot, 2 = Rut = ['0', '1', '2'] */ // @ApiMember(Description="0 = Normal, 1 = Rot, 2 = Rut = ['0', '1', '2']", IsRequired=true) public RotReducedInvoicingType: RotReducedInvoicingTypes; /** @description 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 CompanyId?: string; public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } public getTypeName() { return 'CreateInvoiceDraft'; } public getMethod() { return 'POST'; } public createResponse() { return new CreateInvoiceDraftQueryResponse(); } }