@passly-nl/data 1.0.5 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (131) hide show
  1. package/dist/index.d.mts +1116 -171
  2. package/dist/index.d.mts.map +1 -1
  3. package/dist/index.mjs +5 -5
  4. package/dist/index.mjs.map +1 -1
  5. package/package.json +15 -10
  6. package/src/adapter/AiChatAdapter.ts +37 -0
  7. package/src/adapter/AiUsageAdapter.ts +42 -0
  8. package/src/adapter/CashFlowAdapter.ts +70 -0
  9. package/src/adapter/ContentCalendarAdapter.ts +34 -0
  10. package/src/adapter/DiscountCodeAdapter.ts +33 -0
  11. package/src/adapter/EventAdapter.ts +8 -71
  12. package/src/adapter/EventStatisticsBuyersAdapter.ts +27 -0
  13. package/src/adapter/EventStatisticsOperationsAdapter.ts +41 -0
  14. package/src/adapter/EventStatisticsOverviewAdapter.ts +39 -0
  15. package/src/adapter/EventStatisticsSalesAdapter.ts +21 -0
  16. package/src/adapter/MarketingAttributionAdapter.ts +18 -0
  17. package/src/adapter/MerchantAdapter.ts +3 -1
  18. package/src/adapter/OrderAdapter.ts +6 -2
  19. package/src/adapter/ProductAdapter.ts +3 -0
  20. package/src/adapter/PublicShopAdapter.ts +1 -2
  21. package/src/adapter/RefundAdapter.ts +34 -0
  22. package/src/adapter/ReservationAdapter.ts +3 -2
  23. package/src/adapter/StatisticsEventsAdapter.ts +6 -2
  24. package/src/adapter/StatisticsGrowthAdapter.ts +38 -0
  25. package/src/adapter/StatisticsInsightsAdapter.ts +39 -0
  26. package/src/adapter/StatisticsOperationsAdapter.ts +47 -0
  27. package/src/adapter/SubscriptionAdapter.ts +32 -0
  28. package/src/adapter/TicketAdapter.ts +1 -0
  29. package/src/adapter/index.ts +16 -1
  30. package/src/dto/aiChat/AiChatConversationDto.ts +49 -0
  31. package/src/dto/aiChat/AiChatMessageDto.ts +73 -0
  32. package/src/dto/aiChat/AiChatToolCallDto.ts +58 -0
  33. package/src/dto/aiChat/index.ts +3 -0
  34. package/src/dto/aiUsage/AiUsageDto.ts +110 -0
  35. package/src/dto/aiUsage/AiUsageFeatureStatusDto.ts +39 -0
  36. package/src/dto/aiUsage/AiUsagePeriodDto.ts +80 -0
  37. package/src/dto/aiUsage/index.ts +3 -0
  38. package/src/dto/cashFlow/CashFlowDiscountDto.ts +40 -0
  39. package/src/dto/cashFlow/CashFlowDto.ts +99 -0
  40. package/src/dto/cashFlow/CashFlowPaymentDto.ts +50 -0
  41. package/src/dto/cashFlow/CashFlowPlatformCostDto.ts +29 -0
  42. package/src/dto/cashFlow/CashFlowRefundDto.ts +101 -0
  43. package/src/dto/cashFlow/CashFlowTimelineEventDto.ts +71 -0
  44. package/src/dto/cashFlow/index.ts +6 -0
  45. package/src/dto/contentCalendar/ContentCalendarItemCreatorDto.ts +69 -0
  46. package/src/dto/contentCalendar/ContentCalendarItemDto.ts +133 -0
  47. package/src/dto/contentCalendar/index.ts +2 -0
  48. package/src/dto/discountCode/DiscountCodeDto.ts +141 -0
  49. package/src/dto/discountCode/index.ts +1 -0
  50. package/src/dto/event/TimeSlotDto.ts +59 -0
  51. package/src/dto/event/index.ts +1 -9
  52. package/src/dto/eventStatistics/EventStatisticsAppTeamDto.ts +58 -0
  53. package/src/dto/{event/EventStatisticsBuyerTotalsDto.ts → eventStatistics/EventStatisticsBuyersOverviewDto.ts} +18 -18
  54. package/src/dto/{event → eventStatistics}/EventStatisticsFinancialDto.ts +11 -1
  55. package/src/dto/eventStatistics/EventStatisticsKpisDto.ts +119 -0
  56. package/src/dto/eventStatistics/EventStatisticsOperationsOverviewDto.ts +58 -0
  57. package/src/dto/eventStatistics/EventStatisticsSalesFlowChartDto.ts +66 -0
  58. package/src/dto/{event/EventStatisticsOrderTotalsDto.ts → eventStatistics/EventStatisticsStatusDto.ts} +1 -1
  59. package/src/dto/{event/EventStatisticsSwapTotalsDto.ts → eventStatistics/EventStatisticsSwapsDto.ts} +1 -1
  60. package/src/dto/eventStatistics/index.ts +9 -0
  61. package/src/dto/index.ts +10 -0
  62. package/src/dto/marketingAttribution/MarketingAttributionDto.ts +88 -0
  63. package/src/dto/marketingAttribution/index.ts +1 -0
  64. package/src/dto/merchant/MerchantDto.ts +39 -2
  65. package/src/dto/order/OrderDto.ts +42 -2
  66. package/src/dto/product/ProductDto.ts +32 -2
  67. package/src/dto/publicShop/PublicShopCartProductDto.ts +1 -11
  68. package/src/dto/publicShop/PublicShopTimeSlotDto.ts +1 -11
  69. package/src/dto/realtime/AiChatMessageCompletedMessageDto.ts +9 -0
  70. package/src/dto/realtime/ContentCalendarGenerationCompletedMessageDto.ts +8 -0
  71. package/src/dto/realtime/InsightCardCompletedMessageDto.ts +9 -0
  72. package/src/dto/realtime/index.ts +3 -0
  73. package/src/dto/refund/RefundDto.ts +91 -0
  74. package/src/dto/{event/EventStatisticsScansPerAppTeamDto.ts → refund/RefundInitiatorDto.ts} +2 -12
  75. package/src/dto/refund/RefundTicketRefDto.ts +28 -0
  76. package/src/dto/refund/index.ts +3 -0
  77. package/src/dto/reservation/ReservationDto.ts +12 -2
  78. package/src/dto/statistics/InsightDto.ts +130 -0
  79. package/src/dto/statistics/InsightSignalDto.ts +29 -0
  80. package/src/dto/statistics/InsightsResponseDto.ts +50 -0
  81. package/src/dto/statistics/MilestoneDto.ts +80 -0
  82. package/src/dto/statistics/StatisticsGrowthOverviewDto.ts +59 -0
  83. package/src/dto/statistics/StatisticsOperationsAppTeamDto.ts +78 -0
  84. package/src/dto/statistics/StatisticsOperationsOverviewDto.ts +58 -0
  85. package/src/dto/statistics/StatisticsOperationsTaskAssigneeDto.ts +48 -0
  86. package/src/dto/statistics/StatisticsOperationsTasksOverviewDto.ts +69 -0
  87. package/src/dto/statistics/index.ts +9 -0
  88. package/src/dto/subscription/MerchantSubscriptionDto.ts +91 -0
  89. package/src/dto/subscription/SubscriptionPlanDto.ts +80 -0
  90. package/src/dto/subscription/index.ts +2 -0
  91. package/src/dto/ticket/TicketDto.ts +11 -1
  92. package/src/service/AdminMerchantSubscriptionService.ts +34 -0
  93. package/src/service/MerchantAiChatService.ts +51 -0
  94. package/src/service/MerchantAiSettingsService.ts +14 -0
  95. package/src/service/MerchantAiUsageService.ts +32 -0
  96. package/src/service/MerchantDiscountCodeService.ts +42 -0
  97. package/src/service/MerchantDiscountCodesService.ts +45 -0
  98. package/src/service/MerchantEventContentCalendarService.ts +122 -0
  99. package/src/service/MerchantEventProductService.ts +34 -8
  100. package/src/service/MerchantEventProductsService.ts +3 -2
  101. package/src/service/MerchantEventStatisticsBuyersService.ts +86 -0
  102. package/src/service/MerchantEventStatisticsOperationsService.ts +56 -0
  103. package/src/service/MerchantEventStatisticsOverviewService.ts +35 -0
  104. package/src/service/MerchantEventStatisticsSalesService.ts +76 -0
  105. package/src/service/MerchantEventTimeSlotService.ts +51 -0
  106. package/src/service/MerchantEventTimeSlotsService.ts +33 -0
  107. package/src/service/MerchantOrderService.ts +28 -2
  108. package/src/service/MerchantStatisticsEventsService.ts +43 -1
  109. package/src/service/MerchantStatisticsGrowthService.ts +37 -0
  110. package/src/service/MerchantStatisticsInsightsService.ts +15 -0
  111. package/src/service/MerchantStatisticsOperationsService.ts +57 -0
  112. package/src/service/PublicOrderService.ts +30 -0
  113. package/src/service/PublicShopService.ts +25 -7
  114. package/src/service/index.ts +17 -2
  115. package/src/types/aiUsage.ts +5 -0
  116. package/src/types/auth.ts +2 -0
  117. package/src/types/cashFlow.ts +10 -0
  118. package/src/types/contentCalendar.ts +3 -0
  119. package/src/types/discountCode.ts +8 -0
  120. package/src/types/feature.ts +14 -0
  121. package/src/types/general.ts +11 -0
  122. package/src/types/index.ts +9 -0
  123. package/src/types/insights.ts +24 -0
  124. package/src/types/milestone.ts +7 -0
  125. package/src/types/refund.ts +12 -0
  126. package/src/types/subscription.ts +1 -0
  127. package/src/dto/event/EventStatisticsOrdersDto.ts +0 -30
  128. package/src/dto/event/EventStatisticsScanTotalsDto.ts +0 -38
  129. package/src/dto/event/EventStatisticsScansDto.ts +0 -40
  130. package/src/service/MerchantEventStatisticsService.ts +0 -65
  131. /package/src/dto/{event → eventStatistics}/EventStatisticsAttendanceDto.ts +0 -0
@@ -1,6 +1,7 @@
1
1
  import { dto } from '@basmilius/http-client';
2
2
  import type { DateTime } from 'luxon';
3
3
  import type { AddressDto, ContractDto, PictureDto } from '#data/dto';
4
+ import type { Feature } from '#data/types';
4
5
 
5
6
  @dto
6
7
  export class MerchantDto {
@@ -84,6 +85,14 @@ export class MerchantDto {
84
85
  this.#currentContract = value;
85
86
  }
86
87
 
88
+ get enabledFeatures(): Feature[] {
89
+ return this.#enabledFeatures;
90
+ }
91
+
92
+ set enabledFeatures(value: Feature[]) {
93
+ this.#enabledFeatures = value;
94
+ }
95
+
87
96
  get logo(): PictureDto | null {
88
97
  return this.#logo;
89
98
  }
@@ -108,6 +117,14 @@ export class MerchantDto {
108
117
  this.#updatedOn = value;
109
118
  }
110
119
 
120
+ get aiBrandVoice(): string | null {
121
+ return this.#aiBrandVoice;
122
+ }
123
+
124
+ set aiBrandVoice(value: string | null) {
125
+ this.#aiBrandVoice = value;
126
+ }
127
+
111
128
  #id: string;
112
129
  #name: string;
113
130
  #email: string;
@@ -118,11 +135,29 @@ export class MerchantDto {
118
135
  #currency: string;
119
136
  #address: AddressDto;
120
137
  #currentContract: ContractDto | null;
138
+ #enabledFeatures: Feature[];
121
139
  #logo: PictureDto | null;
122
140
  #createdOn: DateTime;
123
141
  #updatedOn: DateTime;
124
-
125
- constructor(id: string, name: string, email: string, phoneNumber: string, url: string, chamberOfCommerceNumber: string | null, vatNumber: string | null, currency: string, address: AddressDto, currentContract: ContractDto | null, logo: PictureDto | null, createdOn: DateTime, updatedOn: DateTime) {
142
+ #aiBrandVoice: string | null;
143
+
144
+ constructor(
145
+ id: string,
146
+ name: string,
147
+ email: string,
148
+ phoneNumber: string,
149
+ url: string,
150
+ chamberOfCommerceNumber: string | null,
151
+ vatNumber: string | null,
152
+ currency: string,
153
+ address: AddressDto,
154
+ currentContract: ContractDto | null,
155
+ enabledFeatures: Feature[],
156
+ logo: PictureDto | null,
157
+ createdOn: DateTime,
158
+ updatedOn: DateTime,
159
+ aiBrandVoice: string | null = null
160
+ ) {
126
161
  this.#id = id;
127
162
  this.#name = name;
128
163
  this.#email = email;
@@ -133,8 +168,10 @@ export class MerchantDto {
133
168
  this.#currency = currency;
134
169
  this.#address = address;
135
170
  this.#currentContract = currentContract;
171
+ this.#enabledFeatures = enabledFeatures;
136
172
  this.#logo = logo;
137
173
  this.#createdOn = createdOn;
138
174
  this.#updatedOn = updatedOn;
175
+ this.#aiBrandVoice = aiBrandVoice;
139
176
  }
140
177
  }
@@ -1,6 +1,6 @@
1
1
  import { dto } from '@basmilius/http-client';
2
2
  import type { DateTime } from 'luxon';
3
- import type { BuyerDto, CostDto, EventDto, OrderLineDto, OrderPaymentProviderDto, PublicShopDto, TransactionDto } from '#data/dto';
3
+ import type { BuyerDto, CostDto, EventDto, MarketingAttributionDto, OrderLineDto, OrderPaymentProviderDto, PublicShopDto, TransactionDto } from '#data/dto';
4
4
  import type { OrderOrigin, OrderType } from '#data/types';
5
5
 
6
6
  @dto
@@ -45,6 +45,22 @@ export class OrderDto {
45
45
  this.#createdOn = value;
46
46
  }
47
47
 
48
+ get discountAmount(): CostDto | null {
49
+ return this.#discountAmount;
50
+ }
51
+
52
+ set discountAmount(value: CostDto | null) {
53
+ this.#discountAmount = value;
54
+ }
55
+
56
+ get discountCodeApplied(): string | null {
57
+ return this.#discountCodeApplied;
58
+ }
59
+
60
+ set discountCodeApplied(value: string | null) {
61
+ this.#discountCodeApplied = value;
62
+ }
63
+
48
64
  get paymentProvider(): OrderPaymentProviderDto | null {
49
65
  return this.#paymentProvider;
50
66
  }
@@ -61,6 +77,14 @@ export class OrderDto {
61
77
  this.#platformCost = value;
62
78
  }
63
79
 
80
+ get refundedTotal(): CostDto {
81
+ return this.#refundedTotal;
82
+ }
83
+
84
+ set refundedTotal(value: CostDto) {
85
+ this.#refundedTotal = value;
86
+ }
87
+
64
88
  get subTotal(): CostDto {
65
89
  return this.#subTotal;
66
90
  }
@@ -125,13 +149,24 @@ export class OrderDto {
125
149
  this.#transaction = value;
126
150
  }
127
151
 
152
+ get attribution(): MarketingAttributionDto | null {
153
+ return this.#attribution;
154
+ }
155
+
156
+ set attribution(value: MarketingAttributionDto | null) {
157
+ this.#attribution = value;
158
+ }
159
+
128
160
  #id: string;
129
161
  #code: string;
130
162
  #origin: OrderOrigin;
131
163
  #type: OrderType;
132
164
  #createdOn: DateTime;
165
+ #discountAmount: CostDto | null;
166
+ #discountCodeApplied: string | null;
133
167
  #paymentProvider: OrderPaymentProviderDto | null;
134
168
  #platformCost: CostDto;
169
+ #refundedTotal: CostDto;
135
170
  #subTotal: CostDto;
136
171
  #total: CostDto;
137
172
  #url: string;
@@ -140,15 +175,19 @@ export class OrderDto {
140
175
  #lines: OrderLineDto[] | null;
141
176
  #shop: PublicShopDto | null;
142
177
  #transaction: TransactionDto | null;
178
+ #attribution: MarketingAttributionDto | null;
143
179
 
144
- constructor(id: string, code: string, origin: OrderOrigin, type: OrderType, createdOn: DateTime, paymentProvider: OrderPaymentProviderDto | null, platformCost: CostDto, subTotal: CostDto, total: CostDto, url: string, buyer: BuyerDto | null, event: EventDto | null, lines: OrderLineDto[] | null, shop: PublicShopDto | null, transaction: TransactionDto | null) {
180
+ constructor(id: string, code: string, origin: OrderOrigin, type: OrderType, createdOn: DateTime, discountAmount: CostDto | null, discountCodeApplied: string | null, paymentProvider: OrderPaymentProviderDto | null, platformCost: CostDto, refundedTotal: CostDto, subTotal: CostDto, total: CostDto, url: string, buyer: BuyerDto | null, event: EventDto | null, lines: OrderLineDto[] | null, shop: PublicShopDto | null, transaction: TransactionDto | null, attribution: MarketingAttributionDto | null) {
145
181
  this.#id = id;
146
182
  this.#code = code;
147
183
  this.#origin = origin;
148
184
  this.#type = type;
149
185
  this.#createdOn = createdOn;
186
+ this.#discountAmount = discountAmount;
187
+ this.#discountCodeApplied = discountCodeApplied;
150
188
  this.#paymentProvider = paymentProvider;
151
189
  this.#platformCost = platformCost;
190
+ this.#refundedTotal = refundedTotal;
152
191
  this.#subTotal = subTotal;
153
192
  this.#total = total;
154
193
  this.#url = url;
@@ -157,5 +196,6 @@ export class OrderDto {
157
196
  this.#lines = lines;
158
197
  this.#shop = shop;
159
198
  this.#transaction = transaction;
199
+ this.#attribution = attribution;
160
200
  }
161
201
  }
@@ -1,6 +1,6 @@
1
1
  import { dto } from '@basmilius/http-client';
2
2
  import type { DateTime } from 'luxon';
3
- import type { CostDto, PictureDto, StockPoolDto } from '#data/dto';
3
+ import type { CostDto, PictureDto, StockPoolDto, TimeSlotDto } from '#data/dto';
4
4
  import type { ProductType } from '#data/types';
5
5
 
6
6
  @dto
@@ -69,6 +69,30 @@ export class ProductDto {
69
69
  this.#isSwappable = value;
70
70
  }
71
71
 
72
+ get hasSales(): boolean {
73
+ return this.#hasSales;
74
+ }
75
+
76
+ set hasSales(value: boolean) {
77
+ this.#hasSales = value;
78
+ }
79
+
80
+ get isTimeslotted(): boolean {
81
+ return this.#isTimeslotted;
82
+ }
83
+
84
+ set isTimeslotted(value: boolean) {
85
+ this.#isTimeslotted = value;
86
+ }
87
+
88
+ get timeSlots(): TimeSlotDto[] {
89
+ return this.#timeSlots;
90
+ }
91
+
92
+ set timeSlots(value: TimeSlotDto[]) {
93
+ this.#timeSlots = value;
94
+ }
95
+
72
96
  get remainingStock(): number {
73
97
  return this.#remainingStock;
74
98
  }
@@ -117,13 +141,16 @@ export class ProductDto {
117
141
  #maxQuantity: number;
118
142
  #isActive: boolean;
119
143
  #isSwappable: boolean;
144
+ #hasSales: boolean;
145
+ #isTimeslotted: boolean;
146
+ #timeSlots: TimeSlotDto[];
120
147
  #remainingStock: number;
121
148
  #stock: StockPoolDto;
122
149
  #image: PictureDto;
123
150
  #images: PictureDto[];
124
151
  #ticketsReleasedOn: DateTime | null;
125
152
 
126
- constructor(id: string, type: ProductType, name: string, description: string, price: CostDto, maxQuantity: number, isActive: boolean, isSwappable: boolean, remainingStock: number, stock: StockPoolDto, image: PictureDto, images: PictureDto[], ticketsReleasedOn: DateTime | null) {
153
+ constructor(id: string, type: ProductType, name: string, description: string, price: CostDto, maxQuantity: number, isActive: boolean, isSwappable: boolean, hasSales: boolean, isTimeslotted: boolean, timeSlots: TimeSlotDto[], remainingStock: number, stock: StockPoolDto, image: PictureDto, images: PictureDto[], ticketsReleasedOn: DateTime | null) {
127
154
  this.#id = id;
128
155
  this.#type = type;
129
156
  this.#name = name;
@@ -132,6 +159,9 @@ export class ProductDto {
132
159
  this.#maxQuantity = maxQuantity;
133
160
  this.#isActive = isActive;
134
161
  this.#isSwappable = isSwappable;
162
+ this.#hasSales = hasSales;
163
+ this.#isTimeslotted = isTimeslotted;
164
+ this.#timeSlots = timeSlots;
135
165
  this.#remainingStock = remainingStock;
136
166
  this.#stock = stock;
137
167
  this.#image = image;
@@ -18,21 +18,11 @@ export class PublicShopCartProductDto {
18
18
  this.#quantity = value;
19
19
  }
20
20
 
21
- get timeSlotId(): string | null {
22
- return this.#timeSlotId;
23
- }
24
-
25
- set timeSlotId(value: string | null) {
26
- this.#timeSlotId = value;
27
- }
28
-
29
21
  #productId: string;
30
22
  #quantity: number;
31
- #timeSlotId: string | null;
32
23
 
33
- constructor(productId: string, quantity: number, timeSlotId: string | null) {
24
+ constructor(productId: string, quantity: number) {
34
25
  this.#productId = productId;
35
26
  this.#quantity = quantity;
36
- this.#timeSlotId = timeSlotId;
37
27
  }
38
28
  }
@@ -35,25 +35,15 @@ export class PublicShopTimeSlotDto {
35
35
  this.#toTime = value;
36
36
  }
37
37
 
38
- get maxQuantity(): number {
39
- return this.#maxQuantity;
40
- }
41
-
42
- set maxQuantity(value: number) {
43
- this.#maxQuantity = value;
44
- }
45
-
46
38
  #id: string;
47
39
  #label: string | null;
48
40
  #fromTime: DateTime;
49
41
  #toTime: DateTime;
50
- #maxQuantity: number;
51
42
 
52
- constructor(id: string, label: string | null, fromTime: DateTime, toTime: DateTime, maxQuantity: number) {
43
+ constructor(id: string, label: string | null, fromTime: DateTime, toTime: DateTime) {
53
44
  this.#id = id;
54
45
  this.#label = label;
55
46
  this.#fromTime = fromTime;
56
47
  this.#toTime = toTime;
57
- this.#maxQuantity = maxQuantity;
58
48
  }
59
49
  }
@@ -0,0 +1,9 @@
1
+ import type { ForeignData } from '@basmilius/http-client';
2
+ import type { AiGenerationStatus } from '#data/types';
3
+
4
+ export type AiChatMessageCompletedMessageDto = {
5
+ readonly conversation_id: string;
6
+ readonly status: AiGenerationStatus;
7
+ readonly message?: ForeignData;
8
+ readonly reason?: string;
9
+ };
@@ -0,0 +1,8 @@
1
+ import type { AiGenerationStatus } from '#data/types';
2
+
3
+ export type ContentCalendarGenerationCompletedMessageDto = {
4
+ readonly event_id: string;
5
+ readonly status: AiGenerationStatus;
6
+ readonly count?: number;
7
+ readonly reason?: string;
8
+ };
@@ -0,0 +1,9 @@
1
+ import type { ForeignData } from '@basmilius/http-client';
2
+ import type { AiGenerationStatus, InsightCardType } from '#data/types';
3
+
4
+ export type InsightCardCompletedMessageDto = {
5
+ readonly card_type: InsightCardType;
6
+ readonly status: AiGenerationStatus;
7
+ readonly insight?: ForeignData;
8
+ readonly reason?: string;
9
+ };
@@ -0,0 +1,3 @@
1
+ export type * from './AiChatMessageCompletedMessageDto';
2
+ export type * from './ContentCalendarGenerationCompletedMessageDto';
3
+ export type * from './InsightCardCompletedMessageDto';
@@ -0,0 +1,91 @@
1
+ import { dto } from '@basmilius/http-client';
2
+ import type { DateTime } from 'luxon';
3
+ import type { CostDto } from '#data/dto';
4
+ import type { RefundReason, RefundStatus } from '#data/types';
5
+
6
+ @dto
7
+ export class RefundDto {
8
+ get id(): string {
9
+ return this.#id;
10
+ }
11
+
12
+ set id(value: string) {
13
+ this.#id = value;
14
+ }
15
+
16
+ get status(): RefundStatus {
17
+ return this.#status;
18
+ }
19
+
20
+ set status(value: RefundStatus) {
21
+ this.#status = value;
22
+ }
23
+
24
+ get amount(): CostDto {
25
+ return this.#amount;
26
+ }
27
+
28
+ set amount(value: CostDto) {
29
+ this.#amount = value;
30
+ }
31
+
32
+ get reason(): RefundReason {
33
+ return this.#reason;
34
+ }
35
+
36
+ set reason(value: RefundReason) {
37
+ this.#reason = value;
38
+ }
39
+
40
+ get reasonLabel(): string {
41
+ return this.#reasonLabel;
42
+ }
43
+
44
+ set reasonLabel(value: string) {
45
+ this.#reasonLabel = value;
46
+ }
47
+
48
+ get note(): string | null {
49
+ return this.#note;
50
+ }
51
+
52
+ set note(value: string | null) {
53
+ this.#note = value;
54
+ }
55
+
56
+ get createdOn(): DateTime {
57
+ return this.#createdOn;
58
+ }
59
+
60
+ set createdOn(value: DateTime) {
61
+ this.#createdOn = value;
62
+ }
63
+
64
+ get completedOn(): DateTime | null {
65
+ return this.#completedOn;
66
+ }
67
+
68
+ set completedOn(value: DateTime | null) {
69
+ this.#completedOn = value;
70
+ }
71
+
72
+ #id: string;
73
+ #status: RefundStatus;
74
+ #amount: CostDto;
75
+ #reason: RefundReason;
76
+ #reasonLabel: string;
77
+ #note: string | null;
78
+ #createdOn: DateTime;
79
+ #completedOn: DateTime | null;
80
+
81
+ constructor(id: string, status: RefundStatus, amount: CostDto, reason: RefundReason, reasonLabel: string, note: string | null, createdOn: DateTime, completedOn: DateTime | null) {
82
+ this.#id = id;
83
+ this.#status = status;
84
+ this.#amount = amount;
85
+ this.#reason = reason;
86
+ this.#reasonLabel = reasonLabel;
87
+ this.#note = note;
88
+ this.#createdOn = createdOn;
89
+ this.#completedOn = completedOn;
90
+ }
91
+ }
@@ -1,7 +1,7 @@
1
1
  import { dto } from '@basmilius/http-client';
2
2
 
3
3
  @dto
4
- export class EventStatisticsScansPerAppTeamDto {
4
+ export class RefundInitiatorDto {
5
5
  get id(): string {
6
6
  return this.#id;
7
7
  }
@@ -18,21 +18,11 @@ export class EventStatisticsScansPerAppTeamDto {
18
18
  this.#name = value;
19
19
  }
20
20
 
21
- get scans(): number {
22
- return this.#scans;
23
- }
24
-
25
- set scans(value: number) {
26
- this.#scans = value;
27
- }
28
-
29
21
  #id: string;
30
22
  #name: string;
31
- #scans: number;
32
23
 
33
- constructor(id: string, name: string, scans: number) {
24
+ constructor(id: string, name: string) {
34
25
  this.#id = id;
35
26
  this.#name = name;
36
- this.#scans = scans;
37
27
  }
38
28
  }
@@ -0,0 +1,28 @@
1
+ import { dto } from '@basmilius/http-client';
2
+
3
+ @dto
4
+ export class RefundTicketRefDto {
5
+ get id(): string {
6
+ return this.#id;
7
+ }
8
+
9
+ set id(value: string) {
10
+ this.#id = value;
11
+ }
12
+
13
+ get code(): string {
14
+ return this.#code;
15
+ }
16
+
17
+ set code(value: string) {
18
+ this.#code = value;
19
+ }
20
+
21
+ #id: string;
22
+ #code: string;
23
+
24
+ constructor(id: string, code: string) {
25
+ this.#id = id;
26
+ this.#code = code;
27
+ }
28
+ }
@@ -0,0 +1,3 @@
1
+ export * from './RefundDto';
2
+ export * from './RefundInitiatorDto';
3
+ export * from './RefundTicketRefDto';
@@ -1,6 +1,6 @@
1
1
  import { dto } from '@basmilius/http-client';
2
2
  import type { DateTime } from 'luxon';
3
- import type { ReservationItemDto } from '#data/dto';
3
+ import type { MarketingAttributionDto, ReservationItemDto } from '#data/dto';
4
4
 
5
5
  @dto
6
6
  export class ReservationDto {
@@ -44,17 +44,27 @@ export class ReservationDto {
44
44
  this.#items = value;
45
45
  }
46
46
 
47
+ get attribution(): MarketingAttributionDto | null {
48
+ return this.#attribution;
49
+ }
50
+
51
+ set attribution(value: MarketingAttributionDto | null) {
52
+ this.#attribution = value;
53
+ }
54
+
47
55
  #id: string;
48
56
  #createdOn: DateTime;
49
57
  #expiresOn: DateTime;
50
58
  #isExpired: boolean;
51
59
  #items: ReservationItemDto[];
60
+ #attribution: MarketingAttributionDto | null;
52
61
 
53
- constructor(id: string, createdOn: DateTime, expiresOn: DateTime, isExpired: boolean, items: ReservationItemDto[]) {
62
+ constructor(id: string, createdOn: DateTime, expiresOn: DateTime, isExpired: boolean, items: ReservationItemDto[], attribution: MarketingAttributionDto | null) {
54
63
  this.#id = id;
55
64
  this.#createdOn = createdOn;
56
65
  this.#expiresOn = expiresOn;
57
66
  this.#isExpired = isExpired;
58
67
  this.#items = items;
68
+ this.#attribution = attribution;
59
69
  }
60
70
  }
@@ -0,0 +1,130 @@
1
+ import { dto } from '@basmilius/http-client';
2
+ import type { InsightCardType, InsightLanguage, InsightStatus } from '#data/types';
3
+ import type { InsightSignalDto } from './InsightSignalDto';
4
+
5
+ @dto
6
+ export class InsightDto {
7
+ get id(): string {
8
+ return this.#id;
9
+ }
10
+
11
+ set id(value: string) {
12
+ this.#id = value;
13
+ }
14
+
15
+ get cardType(): InsightCardType {
16
+ return this.#cardType;
17
+ }
18
+
19
+ set cardType(value: InsightCardType) {
20
+ this.#cardType = value;
21
+ }
22
+
23
+ get language(): InsightLanguage {
24
+ return this.#language;
25
+ }
26
+
27
+ set language(value: InsightLanguage) {
28
+ this.#language = value;
29
+ }
30
+
31
+ get periodFrom(): string {
32
+ return this.#periodFrom;
33
+ }
34
+
35
+ set periodFrom(value: string) {
36
+ this.#periodFrom = value;
37
+ }
38
+
39
+ get periodTo(): string {
40
+ return this.#periodTo;
41
+ }
42
+
43
+ set periodTo(value: string) {
44
+ this.#periodTo = value;
45
+ }
46
+
47
+ get status(): InsightStatus {
48
+ return this.#status;
49
+ }
50
+
51
+ set status(value: InsightStatus) {
52
+ this.#status = value;
53
+ }
54
+
55
+ get title(): string | null {
56
+ return this.#title;
57
+ }
58
+
59
+ set title(value: string | null) {
60
+ this.#title = value;
61
+ }
62
+
63
+ get bodyMd(): string | null {
64
+ return this.#bodyMd;
65
+ }
66
+
67
+ set bodyMd(value: string | null) {
68
+ this.#bodyMd = value;
69
+ }
70
+
71
+ get signals(): InsightSignalDto[] | null {
72
+ return this.#signals;
73
+ }
74
+
75
+ set signals(value: InsightSignalDto[] | null) {
76
+ this.#signals = value;
77
+ }
78
+
79
+ get payload(): Record<string, unknown> | null {
80
+ return this.#payload;
81
+ }
82
+
83
+ set payload(value: Record<string, unknown> | null) {
84
+ this.#payload = value;
85
+ }
86
+
87
+ get generatedOn(): string | null {
88
+ return this.#generatedOn;
89
+ }
90
+
91
+ set generatedOn(value: string | null) {
92
+ this.#generatedOn = value;
93
+ }
94
+
95
+ get isStale(): boolean {
96
+ return this.#isStale;
97
+ }
98
+
99
+ set isStale(value: boolean) {
100
+ this.#isStale = value;
101
+ }
102
+
103
+ #id: string;
104
+ #cardType: InsightCardType;
105
+ #language: InsightLanguage;
106
+ #periodFrom: string;
107
+ #periodTo: string;
108
+ #status: InsightStatus;
109
+ #title: string | null;
110
+ #bodyMd: string | null;
111
+ #signals: InsightSignalDto[] | null;
112
+ #payload: Record<string, unknown> | null;
113
+ #generatedOn: string | null;
114
+ #isStale: boolean;
115
+
116
+ constructor(id: string, cardType: InsightCardType, language: InsightLanguage, periodFrom: string, periodTo: string, status: InsightStatus, title: string | null, bodyMd: string | null, signals: InsightSignalDto[] | null, payload: Record<string, unknown> | null, generatedOn: string | null, isStale: boolean) {
117
+ this.#id = id;
118
+ this.#cardType = cardType;
119
+ this.#language = language;
120
+ this.#periodFrom = periodFrom;
121
+ this.#periodTo = periodTo;
122
+ this.#status = status;
123
+ this.#title = title;
124
+ this.#bodyMd = bodyMd;
125
+ this.#signals = signals;
126
+ this.#payload = payload;
127
+ this.#generatedOn = generatedOn;
128
+ this.#isStale = isStale;
129
+ }
130
+ }
@@ -0,0 +1,29 @@
1
+ import { dto } from '@basmilius/http-client';
2
+ import type { InsightSignalKind } from '#data/types';
3
+
4
+ @dto
5
+ export class InsightSignalDto {
6
+ get kind(): InsightSignalKind {
7
+ return this.#kind;
8
+ }
9
+
10
+ set kind(value: InsightSignalKind) {
11
+ this.#kind = value;
12
+ }
13
+
14
+ get text(): string {
15
+ return this.#text;
16
+ }
17
+
18
+ set text(value: string) {
19
+ this.#text = value;
20
+ }
21
+
22
+ #kind: InsightSignalKind;
23
+ #text: string;
24
+
25
+ constructor(kind: InsightSignalKind, text: string) {
26
+ this.#kind = kind;
27
+ this.#text = text;
28
+ }
29
+ }