/* Options: Date: 2026-04-01 02:31:16 Version: 10.05 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: PreviewSummarizedInvoice.* //ExcludeTypes: //DefaultImports: */ // @ts-nocheck 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 enum EAccountingInvoiceSendTypes { None = 'None', AutoInvoiceElectronic = 'AutoInvoiceElectronic', AutoInvoicePrint = 'AutoInvoicePrint', AutoInvoiceB2C = 'AutoInvoiceB2C', } export class PreviewCustomerGroup { public CustomerId: string; public CustomerName: string; public Email?: string; public BookingCount: number; public BookingIds: number[] = []; public MissingInvoiceAddress: boolean; public MissingEmail: boolean; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class PreviewSummarizedInvoiceResponse { public TotalCustomers: number; public TotalBookings: number; public Customers: PreviewCustomerGroup[] = []; public ResponseStatus: ResponseStatus; public constructor(init?: Partial) { (Object as any).assign(this, init); } } // @Route("/eaccounting/summarizedinvoice/preview", "GET") // @ValidateRequest(Validator="IsAuthenticated") export class PreviewSummarizedInvoice implements IReturn, ICompany { /** @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; /** @description Start date for the booking range to include. */ // @ApiMember(Description="Start date for the booking range to include.", IsRequired=true) public DateFrom: string; /** @description End date for the booking range to include. */ // @ApiMember(Description="End date for the booking range to include.", IsRequired=true) public DateTo: string; /** @description Optional customer id filter. */ // @ApiMember(Description="Optional customer id filter.") public CustomerId?: string; /** @description Optional service/event id filter. */ // @ApiMember(Description="Optional service/event id filter.") public ServiceId?: number; /** @description 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 BookingStatusIds?: number[]; /** @description 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 SendType?: EAccountingInvoiceSendTypes; public constructor(init?: Partial) { (Object as any).assign(this, init); } public getTypeName() { return 'PreviewSummarizedInvoice'; } public getMethod() { return 'GET'; } public createResponse() { return new PreviewSummarizedInvoiceResponse(); } }