/* Options: Date: 2026-08-17 10:08:41 Version: 6.10 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://stubbur-app.azurewebsites.net //GlobalNamespace: //MakePropertiesOptional: False //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: RefreshmentsOverviewRequest.* //ExcludeTypes: //DefaultImports: */ export interface IReturn { createResponse(): T; } export class SalesTrendBucket { public bucket: string; public revenue: number; public tickets: number; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class SalesHourBucket { public hour: number; public revenue: number; public orders: number; public tickets: number; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class SalesDowBucket { public dow: number; public revenue: number; public orders: number; public tickets: number; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class RefreshmentsKpis { public revenue: number; public refunded: number; public units: number; public orders: number; public aov: number; public unitsPerOrder: number; public attendance: number; public perCap: number; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class KpiDelta { public abs: number; public pct?: number; public dir: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class RefreshmentsDeltas { public revenue: KpiDelta; public refunded: KpiDelta; public units: KpiDelta; public orders: KpiDelta; public aov: KpiDelta; public perCap: KpiDelta; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class RefreshmentsProduct { public ticketTypeId: number; public name: string; public units: number; public revenue: number; public orders: number; public lastSoldAt?: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class RefreshmentsEventRow { public eventId: number; public eventName: string; public eventDate?: string; public revenue: number; public units: number; public orders: number; public attendance: number; public perCap: number; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class RefreshmentsPaymentMethodRow { public paymentMethodId: string; public revenue: number; public units: number; public orders: number; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class RefreshmentsRecentOrder { public ticketId: number; public createdAt: string; public eventName: string; public amount: number; public units: number; public paymentMethodId: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class RefreshmentsOverviewResult { public current: RefreshmentsKpis; public previous: RefreshmentsKpis; public delta: RefreshmentsDeltas; public trend: SalesTrendBucket[]; public previousTrend: SalesTrendBucket[]; public products: RefreshmentsProduct[]; public events: RefreshmentsEventRow[]; public byHourOfDay: SalesHourBucket[]; public byDayOfWeek: SalesDowBucket[]; public byPaymentMethod: RefreshmentsPaymentMethodRow[]; public recentOrders: RefreshmentsRecentOrder[]; public hasAnyDataEver: boolean; public bucket: string; public freshnessUtc: string; public statusCode: number; public message: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } // @Route("/sales/refreshments/overview", "POST") export class RefreshmentsOverviewRequest implements IReturn { public ownerId: number; public seriesId?: number; public fromUtc: string; public toUtc: string; public compareFromUtc?: string; public compareToUtc?: string; public bucket: string; public topEventsLimit: number; public recentOrdersLimit: number; public constructor(init?: Partial) { (Object as any).assign(this, init); } public getTypeName() { return 'RefreshmentsOverviewRequest'; } public getMethod() { return 'POST'; } public createResponse() { return new RefreshmentsOverviewResult(); } }