@escapenavigator/types 1.10.101 → 1.10.103

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 (118) hide show
  1. package/dist/client/client-form.dto.d.ts +1 -0
  2. package/dist/client/client-form.dto.js +5 -0
  3. package/dist/client/client.ro.d.ts +2 -0
  4. package/dist/client/client.ro.js +8 -0
  5. package/dist/client/create-client-from-widget.dto.d.ts +1 -0
  6. package/dist/client/create-client-from-widget.dto.js +5 -0
  7. package/dist/forms/widget/widget-client-form.dto.d.ts +1 -0
  8. package/dist/forms/widget/widget-client-form.dto.js +5 -0
  9. package/dist/log/log-title.enum.d.ts +2 -0
  10. package/dist/log/log-title.enum.js +2 -0
  11. package/dist/openapi/orders/openapi-create-preorder.dto.d.ts +6 -1
  12. package/dist/openapi/orders/openapi-create-preorder.dto.js +27 -9
  13. package/dist/openapi/orders/openapi-order.ro.d.ts +2 -0
  14. package/dist/openapi/orders/openapi-order.ro.js +8 -0
  15. package/dist/openapi/orders/openapi-update-order-slot.dto.d.ts +6 -1
  16. package/dist/openapi/orders/openapi-update-order-slot.dto.js +27 -0
  17. package/dist/openapi/shared/openapi-questroom.ro.d.ts +17 -0
  18. package/dist/openapi/shared/openapi-questroom.ro.js +12 -0
  19. package/dist/openapi/slots/openapi-day-slots-with-nearest.ro.d.ts +5 -0
  20. package/dist/openapi/slots/openapi-day-slots-with-nearest.ro.js +41 -0
  21. package/dist/openapi/slots/openapi-slot-details.dto.d.ts +7 -0
  22. package/dist/openapi/slots/openapi-slot-details.dto.js +59 -0
  23. package/dist/openapi/slots/openapi-slot-enriched.ro.d.ts +11 -0
  24. package/dist/openapi/slots/openapi-slot-enriched.ro.js +85 -0
  25. package/dist/openapi/slots/openapi-slot-variation.ro.d.ts +14 -0
  26. package/dist/openapi/slots/openapi-slot-variation.ro.js +108 -0
  27. package/dist/openapi/slots/openapi-week-slots-with-nearest.ro.d.ts +5 -0
  28. package/dist/openapi/slots/openapi-week-slots-with-nearest.ro.js +38 -0
  29. package/dist/openapi/slots/openapi-widget-slot.ro.d.ts +9 -7
  30. package/dist/openapi/slots/openapi-widget-slot.ro.js +18 -29
  31. package/dist/order/create-order.dto.d.ts +7 -1
  32. package/dist/order/create-order.dto.js +35 -0
  33. package/dist/order/order.ro.d.ts +8 -1
  34. package/dist/order/order.ro.js +31 -3
  35. package/dist/order/update-order-slot.dto.d.ts +23 -1
  36. package/dist/order/update-order-slot.dto.js +45 -0
  37. package/dist/order/waivers/order-participants.ro.d.ts +1 -0
  38. package/dist/order/waivers/order-participants.ro.js +4 -0
  39. package/dist/order/waivers/order-to-sign.ro.d.ts +5 -0
  40. package/dist/order/waivers/order-to-sign.ro.js +17 -0
  41. package/dist/order/waivers/sign-order.dto.d.ts +6 -0
  42. package/dist/order/waivers/sign-order.dto.js +39 -1
  43. package/dist/profile/email/profile-email-card.ro.d.ts +1 -0
  44. package/dist/profile/email/profile-email-card.ro.js +4 -0
  45. package/dist/profile/notification-chanel/create-notification-chanel.dto.js +2 -1
  46. package/dist/profile/notification-chanel/notification-chanel-type.enum.d.ts +3 -1
  47. package/dist/profile/notification-chanel/notification-chanel-type.enum.js +2 -0
  48. package/dist/profile/profile-sms/dto/get-sms-settings.dto.d.ts +4 -0
  49. package/dist/{slot-room-template/slot-room-template.ro.js → profile/profile-sms/dto/get-sms-settings.dto.js} +8 -8
  50. package/dist/profile/profile-sms/dto/query-order-sms-logs.dto.d.ts +5 -0
  51. package/dist/profile/profile-sms/dto/query-order-sms-logs.dto.js +29 -0
  52. package/dist/profile/profile-sms/dto/send-order-client-email.dto.d.ts +4 -0
  53. package/dist/profile/profile-sms/dto/send-order-client-email.dto.js +27 -0
  54. package/dist/profile/profile-sms/dto/send-order-client-sms.dto.d.ts +3 -0
  55. package/dist/profile/profile-sms/dto/send-order-client-sms.dto.js +22 -0
  56. package/dist/profile/profile-sms/dto/update-sms-settings.dto.d.ts +6 -0
  57. package/dist/{slot-room-template/update-slot-room-template.dto.js → profile/profile-sms/dto/update-sms-settings.dto.js} +11 -16
  58. package/dist/profile/profile-sms/profile-sms-recipient-type.enum.d.ts +4 -0
  59. package/dist/profile/profile-sms/profile-sms-recipient-type.enum.js +8 -0
  60. package/dist/profile/profile-sms/ro/profile-sms-log.ro.d.ts +10 -0
  61. package/dist/{slot-room-template/slot-room-template-element.js → profile/profile-sms/ro/profile-sms-log.ro.js} +14 -16
  62. package/dist/profile/profile-sms/ro/send-order-client-email.ro.d.ts +3 -0
  63. package/dist/profile/profile-sms/ro/send-order-client-email.ro.js +20 -0
  64. package/dist/profile/profile-sms/ro/sms-settings.ro.d.ts +7 -0
  65. package/dist/profile/profile-sms/ro/sms-settings.ro.js +33 -0
  66. package/dist/profile/profile-sms/sms-provider.enum.d.ts +4 -0
  67. package/dist/profile/profile-sms/sms-provider.enum.js +8 -0
  68. package/dist/profile/profile.ro.d.ts +1 -0
  69. package/dist/profile/profile.ro.js +4 -0
  70. package/dist/profile/update-current.dto.d.ts +1 -0
  71. package/dist/profile/update-current.dto.js +7 -0
  72. package/dist/profile/waiver/profile-waiver.ro.d.ts +5 -0
  73. package/dist/profile/waiver/profile-waiver.ro.js +16 -0
  74. package/dist/profile/waiver/update-waiver.dto.d.ts +4 -0
  75. package/dist/profile/waiver/update-waiver.dto.js +21 -0
  76. package/dist/profile/widget-customization/update-widget-customization.dto.js +0 -1
  77. package/dist/questroom/create-questroom.dto.d.ts +3 -0
  78. package/dist/questroom/create-questroom.dto.js +18 -0
  79. package/dist/questroom/questroom.ro.d.ts +10 -0
  80. package/dist/questroom/questroom.ro.js +16 -0
  81. package/dist/slot/change-template-slots-form.dto.d.ts +1 -0
  82. package/dist/slot/change-template-slots-form.dto.js +6 -0
  83. package/dist/slot/slot-autocomplite-form.dto.d.ts +1 -0
  84. package/dist/slot/slot-autocomplite-form.dto.js +6 -0
  85. package/dist/slot/slot-details.dto.d.ts +8 -0
  86. package/dist/slot/slot-details.dto.js +42 -0
  87. package/dist/slot/slot.ro.d.ts +29 -28
  88. package/dist/slot/update-slot.dto.d.ts +2 -0
  89. package/dist/slot/update-slot.dto.js +12 -0
  90. package/dist/slot-template/slot-template-element.d.ts +1 -0
  91. package/dist/slot-template/slot-template-element.js +4 -0
  92. package/dist/slot-template/slot-template-flex-rule.d.ts +9 -0
  93. package/dist/slot-template/slot-template-flex-rule.js +57 -0
  94. package/dist/slot-template/slot-template-history.ro.d.ts +2 -0
  95. package/dist/slot-template/slot-template-history.ro.js +4 -0
  96. package/dist/slot-template/slot-template-type.d.ts +1 -0
  97. package/dist/slot-template/slot-template-type.js +2 -0
  98. package/dist/slot-template/slot-template.ro.d.ts +6 -0
  99. package/dist/slot-template/slot-template.ro.js +19 -0
  100. package/dist/slot-template/update-slot-template.dto.d.ts +6 -0
  101. package/dist/slot-template/update-slot-template.dto.js +30 -0
  102. package/dist/statistics/certificates.d.ts +65 -0
  103. package/dist/statistics/certificates.js +2 -0
  104. package/dist/tariff/create-tariff.dto.d.ts +3 -0
  105. package/dist/tariff/create-tariff.dto.js +18 -0
  106. package/dist/tariff/tariff.ro.d.ts +3 -0
  107. package/dist/tariff/tariff.ro.js +12 -0
  108. package/dist/tsconfig.build.tsbuildinfo +1 -1
  109. package/dist/user/current/update-current-user-notifications.dto.d.ts +1 -0
  110. package/dist/user/current/update-current-user-notifications.dto.js +5 -0
  111. package/package.json +2 -2
  112. package/dist/room/dto.d.ts +0 -26
  113. package/dist/room/dto.js +0 -130
  114. package/dist/room/ro.d.ts +0 -28
  115. package/dist/room/ro.js +0 -113
  116. package/dist/slot-room-template/slot-room-template-element.d.ts +0 -9
  117. package/dist/slot-room-template/slot-room-template.ro.d.ts +0 -5
  118. package/dist/slot-room-template/update-slot-room-template.dto.d.ts +0 -8
@@ -192,6 +192,18 @@ __decorate([
192
192
  (0, class_transformer_1.Expose)(),
193
193
  __metadata("design:type", Boolean)
194
194
  ], CreateQuestroomDto.prototype, "ticketSystem", void 0);
195
+ __decorate([
196
+ (0, class_validator_1.IsOptional)(),
197
+ (0, class_validator_1.IsPositive)(),
198
+ (0, class_transformer_1.Expose)(),
199
+ __metadata("design:type", Number)
200
+ ], CreateQuestroomDto.prototype, "resourceUnitsTotal", void 0);
201
+ __decorate([
202
+ (0, class_validator_1.IsOptional)(),
203
+ (0, class_validator_1.IsPositive)(),
204
+ (0, class_transformer_1.Expose)(),
205
+ __metadata("design:type", Number)
206
+ ], CreateQuestroomDto.prototype, "resourceUnitSize", void 0);
195
207
  __decorate([
196
208
  (0, class_validator_1.ValidateIf)((o) => !o.closed),
197
209
  (0, is_not_blank_1.IsNotBlank)(),
@@ -281,4 +293,10 @@ __decorate([
281
293
  (0, class_transformer_1.Expose)(),
282
294
  __metadata("design:type", Boolean)
283
295
  ], CreateQuestroomDto.prototype, "flexPlayersSelect", void 0);
296
+ __decorate([
297
+ (0, class_validator_1.IsOptional)(),
298
+ (0, class_validator_1.IsPositive)(),
299
+ (0, class_transformer_1.Expose)(),
300
+ __metadata("design:type", Number)
301
+ ], CreateQuestroomDto.prototype, "slotStepMinutes", void 0);
284
302
  exports.CreateQuestroomDto = CreateQuestroomDto;
@@ -1,6 +1,7 @@
1
1
  import { Languages } from '../shared/enum/languages.enum';
2
2
  import { TagsEnum } from '../shared/enum/tags.enum';
3
3
  import { RO } from '../shared/ro-class';
4
+ import { SlotTemplateType } from '../slot-template/slot-template-type';
4
5
  import { QuestroomActorsEnum } from './enum/questroom-actors.enum';
5
6
  import { QuestroomConfirmTypeEnum } from './enum/questroom-confirm-type.enum';
6
7
  import { QuestroomTypeEnum } from './enum/questroom-type.enum';
@@ -33,7 +34,15 @@ export declare class QuestroomRO extends RO {
33
34
  minAge: number;
34
35
  time: number;
35
36
  templateId: number;
37
+ /**
38
+ * Type of the linked SlotTemplate (`fixed` or `flex`). Denormalized from
39
+ * `SlotTemplate.type` so consumers (calendar, schedule editor) can branch
40
+ * on the schedule kind without an extra fetch.
41
+ */
42
+ templateType?: SlotTemplateType;
36
43
  ticketSystem: boolean;
44
+ resourceUnitsTotal: number;
45
+ resourceUnitSize: number;
37
46
  video?: string;
38
47
  photo: string;
39
48
  photos: string[];
@@ -62,4 +71,5 @@ export declare class QuestroomRO extends RO {
62
71
  bsCashbox: number;
63
72
  onlinePaymentsAvailable: boolean;
64
73
  photoFrame: string;
74
+ slotStepMinutes: number;
65
75
  }
@@ -123,10 +123,22 @@ __decorate([
123
123
  (0, class_transformer_1.Expose)(),
124
124
  __metadata("design:type", Number)
125
125
  ], QuestroomRO.prototype, "templateId", void 0);
126
+ __decorate([
127
+ (0, class_transformer_1.Expose)(),
128
+ __metadata("design:type", String)
129
+ ], QuestroomRO.prototype, "templateType", void 0);
126
130
  __decorate([
127
131
  (0, class_transformer_1.Expose)(),
128
132
  __metadata("design:type", Boolean)
129
133
  ], QuestroomRO.prototype, "ticketSystem", void 0);
134
+ __decorate([
135
+ (0, class_transformer_1.Expose)(),
136
+ __metadata("design:type", Number)
137
+ ], QuestroomRO.prototype, "resourceUnitsTotal", void 0);
138
+ __decorate([
139
+ (0, class_transformer_1.Expose)(),
140
+ __metadata("design:type", Number)
141
+ ], QuestroomRO.prototype, "resourceUnitSize", void 0);
130
142
  __decorate([
131
143
  (0, class_transformer_1.Expose)(),
132
144
  __metadata("design:type", String)
@@ -240,4 +252,8 @@ __decorate([
240
252
  (0, class_transformer_1.Expose)(),
241
253
  __metadata("design:type", String)
242
254
  ], QuestroomRO.prototype, "photoFrame", void 0);
255
+ __decorate([
256
+ (0, class_transformer_1.Expose)(),
257
+ __metadata("design:type", Number)
258
+ ], QuestroomRO.prototype, "slotStepMinutes", void 0);
243
259
  exports.QuestroomRO = QuestroomRO;
@@ -3,4 +3,5 @@ export declare class ChangeTemplateSlotsFormDto extends CreateRuleDto {
3
3
  tariffId: number;
4
4
  onlyPhone: boolean;
5
5
  discount: number;
6
+ variationIds?: number[];
6
7
  }
@@ -30,4 +30,10 @@ __decorate([
30
30
  (0, class_transformer_1.Expose)(),
31
31
  __metadata("design:type", Number)
32
32
  ], ChangeTemplateSlotsFormDto.prototype, "discount", void 0);
33
+ __decorate([
34
+ (0, class_validator_1.IsOptional)(),
35
+ (0, class_validator_1.IsArray)(),
36
+ (0, class_transformer_1.Expose)(),
37
+ __metadata("design:type", Array)
38
+ ], ChangeTemplateSlotsFormDto.prototype, "variationIds", void 0);
33
39
  exports.ChangeTemplateSlotsFormDto = ChangeTemplateSlotsFormDto;
@@ -5,6 +5,7 @@ export declare class SlotAutocompliteFormDto extends CreateRuleDto {
5
5
  end: string;
6
6
  breakInterval: string;
7
7
  tariffId: number;
8
+ variationIds?: number[];
8
9
  onlyPhone: boolean;
9
10
  discount: number;
10
11
  }
@@ -46,6 +46,12 @@ __decorate([
46
46
  (0, class_transformer_1.Expose)(),
47
47
  __metadata("design:type", Number)
48
48
  ], SlotAutocompliteFormDto.prototype, "tariffId", void 0);
49
+ __decorate([
50
+ (0, class_validator_1.IsOptional)(),
51
+ (0, class_validator_1.IsArray)(),
52
+ (0, class_transformer_1.Expose)(),
53
+ __metadata("design:type", Array)
54
+ ], SlotAutocompliteFormDto.prototype, "variationIds", void 0);
49
55
  __decorate([
50
56
  (0, class_validator_1.IsOptional)(),
51
57
  (0, class_transformer_1.Expose)(),
@@ -0,0 +1,8 @@
1
+ export declare class SlotDetailsDto {
2
+ slotId?: number;
3
+ questroomId: number;
4
+ date: string;
5
+ start: string;
6
+ /** When set, the order with this id is excluded from occupancy checks (edit-order flow). */
7
+ orderId?: number;
8
+ }
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.SlotDetailsDto = void 0;
13
+ const class_transformer_1 = require("class-transformer");
14
+ const class_validator_1 = require("class-validator");
15
+ class SlotDetailsDto {
16
+ }
17
+ __decorate([
18
+ (0, class_validator_1.IsOptional)(),
19
+ (0, class_transformer_1.Type)(() => Number),
20
+ (0, class_validator_1.IsNumber)(),
21
+ __metadata("design:type", Number)
22
+ ], SlotDetailsDto.prototype, "slotId", void 0);
23
+ __decorate([
24
+ (0, class_transformer_1.Type)(() => Number),
25
+ (0, class_validator_1.IsNumber)(),
26
+ __metadata("design:type", Number)
27
+ ], SlotDetailsDto.prototype, "questroomId", void 0);
28
+ __decorate([
29
+ (0, class_validator_1.IsString)(),
30
+ __metadata("design:type", String)
31
+ ], SlotDetailsDto.prototype, "date", void 0);
32
+ __decorate([
33
+ (0, class_validator_1.IsString)(),
34
+ __metadata("design:type", String)
35
+ ], SlotDetailsDto.prototype, "start", void 0);
36
+ __decorate([
37
+ (0, class_validator_1.IsOptional)(),
38
+ (0, class_transformer_1.Type)(() => Number),
39
+ (0, class_validator_1.IsNumber)(),
40
+ __metadata("design:type", Number)
41
+ ], SlotDetailsDto.prototype, "orderId", void 0);
42
+ exports.SlotDetailsDto = SlotDetailsDto;
@@ -1,49 +1,50 @@
1
1
  import { QuestroomCancelationTypeEnum } from '../questroom/enum/questroom-cancelation-type.enum';
2
2
  import { PrepaymentTypeEnum } from './enum/prepayment-type.enum';
3
+ export type SlotRuleSummaryRO = {
4
+ title: string;
5
+ minHoursForBooking: number;
6
+ prepayment: number;
7
+ prepaymentType: PrepaymentTypeEnum;
8
+ cancelationRule: QuestroomCancelationTypeEnum;
9
+ cancelationAmount: number;
10
+ minHoursForFreeCanceling: number;
11
+ tax: number;
12
+ minHoursForFullFine: number;
13
+ };
3
14
  export type SlotRO = {
4
15
  id: number;
5
16
  questroomId: number;
6
- onlyPhone: boolean;
7
17
  old: boolean;
8
- discount: number;
9
- forceOnlineBooking: boolean;
10
- tariff: {
11
- [x: string]: number;
12
- };
13
- hold: string;
14
18
  date: string;
15
19
  start: string;
16
- status: 'free' | 'bussy' | 'call' | 'hold' | 'no-resources';
17
- end: string;
18
- breakReason: string | null;
19
- rule: {
20
- title: string;
21
- minHoursForBooking: number;
22
- prepayment: number;
23
- prepaymentType: PrepaymentTypeEnum;
24
- cancelationRule: QuestroomCancelationTypeEnum;
25
- cancelationAmount: number;
26
- minHoursForFreeCanceling: number;
27
- tax: number;
28
- minHoursForFullFine: number;
20
+ tariffId?: number;
21
+ ruleId?: number;
22
+ end?: string;
23
+ tariff?: {
24
+ [x: string]: number;
29
25
  };
30
- order?: {
26
+ status?: 'free' | 'bussy' | 'call' | 'no-resources';
27
+ discount?: number;
28
+ onlyPhone?: boolean;
29
+ forceOnlineBooking?: boolean;
30
+ breakReason?: string | null;
31
+ availableTeams?: number;
32
+ numSeatsAvailable?: number;
33
+ rule?: SlotRuleSummaryRO;
34
+ orders: Array<{
31
35
  id: number;
32
36
  players: number;
33
37
  children: number;
34
- hasDiscounts: boolean;
35
- hasComments: boolean;
36
38
  slotDiscount: number;
37
- hasCertificateApplies: boolean;
38
- hasPenalties: boolean;
39
39
  confirmed: boolean;
40
- hasUpsellings: boolean;
41
40
  utcDate: string;
42
41
  total: number;
43
42
  payed: number;
44
- code: string;
45
43
  moderatorId: number;
46
44
  otherParticipantsIds: number[];
47
45
  clientName: string;
48
- };
46
+ code: string;
47
+ hold: string;
48
+ expiration: string;
49
+ }>;
49
50
  };
@@ -1,6 +1,8 @@
1
1
  export declare class UpdateSlotDto {
2
2
  start: string;
3
+ tariffId: number;
3
4
  onlyPhone: boolean;
4
5
  discount: number;
5
6
  forceOnlineBooking: boolean;
7
+ variationIds?: number[];
6
8
  }
@@ -20,6 +20,12 @@ __decorate([
20
20
  (0, class_transformer_1.Expose)(),
21
21
  __metadata("design:type", String)
22
22
  ], UpdateSlotDto.prototype, "start", void 0);
23
+ __decorate([
24
+ (0, class_validator_1.IsOptional)(),
25
+ (0, class_validator_1.IsNumber)(),
26
+ (0, class_transformer_1.Expose)(),
27
+ __metadata("design:type", Number)
28
+ ], UpdateSlotDto.prototype, "tariffId", void 0);
23
29
  __decorate([
24
30
  (0, class_validator_1.IsOptional)(),
25
31
  (0, class_transformer_1.Expose)(),
@@ -35,4 +41,10 @@ __decorate([
35
41
  (0, class_transformer_1.Expose)(),
36
42
  __metadata("design:type", Boolean)
37
43
  ], UpdateSlotDto.prototype, "forceOnlineBooking", void 0);
44
+ __decorate([
45
+ (0, class_validator_1.IsOptional)(),
46
+ (0, class_validator_1.IsArray)(),
47
+ (0, class_transformer_1.Expose)(),
48
+ __metadata("design:type", Array)
49
+ ], UpdateSlotDto.prototype, "variationIds", void 0);
38
50
  exports.UpdateSlotDto = UpdateSlotDto;
@@ -6,4 +6,5 @@ export declare class SlotTemplateElement {
6
6
  ruleId: number;
7
7
  onlyPhone: boolean;
8
8
  discount: number;
9
+ variationIds?: number[];
9
10
  }
@@ -41,4 +41,8 @@ __decorate([
41
41
  (0, class_transformer_1.Expose)(),
42
42
  __metadata("design:type", Number)
43
43
  ], SlotTemplateElement.prototype, "discount", void 0);
44
+ __decorate([
45
+ (0, class_transformer_1.Expose)(),
46
+ __metadata("design:type", Array)
47
+ ], SlotTemplateElement.prototype, "variationIds", void 0);
44
48
  exports.SlotTemplateElement = SlotTemplateElement;
@@ -0,0 +1,9 @@
1
+ export declare class SlotTemplateFlexRule {
2
+ date: string;
3
+ start: string;
4
+ end: string;
5
+ durations: Record<number, number>;
6
+ ruleId: number;
7
+ onlyPhone?: boolean;
8
+ discount?: number;
9
+ }
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.SlotTemplateFlexRule = void 0;
13
+ const class_transformer_1 = require("class-transformer");
14
+ const class_validator_1 = require("class-validator");
15
+ class SlotTemplateFlexRule {
16
+ }
17
+ __decorate([
18
+ (0, class_transformer_1.Expose)(),
19
+ (0, class_validator_1.IsString)(),
20
+ __metadata("design:type", String)
21
+ ], SlotTemplateFlexRule.prototype, "date", void 0);
22
+ __decorate([
23
+ (0, class_transformer_1.Expose)(),
24
+ (0, class_validator_1.IsString)(),
25
+ __metadata("design:type", String)
26
+ ], SlotTemplateFlexRule.prototype, "start", void 0);
27
+ __decorate([
28
+ (0, class_transformer_1.Expose)(),
29
+ (0, class_validator_1.IsString)(),
30
+ __metadata("design:type", String)
31
+ ], SlotTemplateFlexRule.prototype, "end", void 0);
32
+ __decorate([
33
+ (0, class_transformer_1.Expose)(),
34
+ (0, class_validator_1.IsObject)(),
35
+ __metadata("design:type", Object)
36
+ ], SlotTemplateFlexRule.prototype, "durations", void 0);
37
+ __decorate([
38
+ (0, class_transformer_1.Expose)(),
39
+ (0, class_validator_1.IsInt)(),
40
+ __metadata("design:type", Number)
41
+ ], SlotTemplateFlexRule.prototype, "ruleId", void 0);
42
+ __decorate([
43
+ (0, class_transformer_1.Expose)(),
44
+ (0, class_validator_1.IsOptional)(),
45
+ (0, class_validator_1.IsBoolean)(),
46
+ __metadata("design:type", Boolean)
47
+ ], SlotTemplateFlexRule.prototype, "onlyPhone", void 0);
48
+ __decorate([
49
+ (0, class_transformer_1.Expose)(),
50
+ (0, class_validator_1.IsOptional)(),
51
+ (0, class_validator_1.IsInt)(),
52
+ (0, class_validator_1.Min)(0),
53
+ (0, class_validator_1.Max)(10000),
54
+ (0, class_transformer_1.Transform)(({ value }) => (value == null ? undefined : +value)),
55
+ __metadata("design:type", Number)
56
+ ], SlotTemplateFlexRule.prototype, "discount", void 0);
57
+ exports.SlotTemplateFlexRule = SlotTemplateFlexRule;
@@ -1,8 +1,10 @@
1
1
  import { RO } from '../shared/ro-class';
2
+ import { SlotTemplateType } from './slot-template-type';
2
3
  export declare class SlotTemplateHistoryRO extends RO {
3
4
  questroomId: number;
4
5
  templateId: number;
5
6
  userId: number;
6
7
  startDate: string;
7
8
  endDate: string;
9
+ templateType?: SlotTemplateType;
8
10
  }
@@ -34,4 +34,8 @@ __decorate([
34
34
  (0, class_transformer_1.Expose)(),
35
35
  __metadata("design:type", String)
36
36
  ], SlotTemplateHistoryRO.prototype, "endDate", void 0);
37
+ __decorate([
38
+ (0, class_transformer_1.Expose)(),
39
+ __metadata("design:type", String)
40
+ ], SlotTemplateHistoryRO.prototype, "templateType", void 0);
37
41
  exports.SlotTemplateHistoryRO = SlotTemplateHistoryRO;
@@ -0,0 +1 @@
1
+ export type SlotTemplateType = 'fixed' | 'flex';
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,5 +1,11 @@
1
1
  import { RO } from '../shared/ro-class';
2
2
  import { SlotTemplateElement } from './slot-template-element';
3
+ import { SlotTemplateFlexRule } from './slot-template-flex-rule';
4
+ import { SlotTemplateType } from './slot-template-type';
3
5
  export declare class SlotTemplateRO extends RO {
4
6
  slots: SlotTemplateElement[];
7
+ type: SlotTemplateType;
8
+ step: number;
9
+ breakMinutes: number;
10
+ flexRules?: SlotTemplateFlexRule[];
5
11
  }
@@ -10,9 +10,11 @@ var __metadata = (this && this.__metadata) || function (k, v) {
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.SlotTemplateRO = void 0;
13
+ /* eslint-disable @typescript-eslint/no-unused-vars */
13
14
  const class_transformer_1 = require("class-transformer");
14
15
  const ro_class_1 = require("../shared/ro-class");
15
16
  const slot_template_element_1 = require("./slot-template-element");
17
+ const slot_template_flex_rule_1 = require("./slot-template-flex-rule");
16
18
  class SlotTemplateRO extends ro_class_1.RO {
17
19
  }
18
20
  __decorate([
@@ -20,4 +22,21 @@ __decorate([
20
22
  (0, class_transformer_1.Type)(() => slot_template_element_1.SlotTemplateElement),
21
23
  __metadata("design:type", Array)
22
24
  ], SlotTemplateRO.prototype, "slots", void 0);
25
+ __decorate([
26
+ (0, class_transformer_1.Expose)(),
27
+ __metadata("design:type", String)
28
+ ], SlotTemplateRO.prototype, "type", void 0);
29
+ __decorate([
30
+ (0, class_transformer_1.Expose)(),
31
+ __metadata("design:type", Number)
32
+ ], SlotTemplateRO.prototype, "step", void 0);
33
+ __decorate([
34
+ (0, class_transformer_1.Expose)(),
35
+ __metadata("design:type", Number)
36
+ ], SlotTemplateRO.prototype, "breakMinutes", void 0);
37
+ __decorate([
38
+ (0, class_transformer_1.Expose)(),
39
+ (0, class_transformer_1.Type)(() => slot_template_flex_rule_1.SlotTemplateFlexRule),
40
+ __metadata("design:type", Array)
41
+ ], SlotTemplateRO.prototype, "flexRules", void 0);
23
42
  exports.SlotTemplateRO = SlotTemplateRO;
@@ -1,6 +1,12 @@
1
1
  import { SlotTemplateElement } from './slot-template-element';
2
+ import { SlotTemplateFlexRule } from './slot-template-flex-rule';
3
+ import { SlotTemplateType } from './slot-template-type';
2
4
  export declare class UpdateSlotTemplateDto {
3
5
  slots: SlotTemplateElement[];
6
+ flexRules?: SlotTemplateFlexRule[];
7
+ type?: SlotTemplateType;
8
+ step?: number;
9
+ breakMinutes?: number;
4
10
  questroomsIds: number[];
5
11
  start: string;
6
12
  /** Если передаем end шаблон перепишется */
@@ -10,16 +10,46 @@ var __metadata = (this && this.__metadata) || function (k, v) {
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.UpdateSlotTemplateDto = void 0;
13
+ /* eslint-disable @typescript-eslint/no-unused-vars */
13
14
  const class_transformer_1 = require("class-transformer");
14
15
  const class_validator_1 = require("class-validator");
15
16
  const is_not_blank_1 = require("../shared/is-not-blank");
16
17
  class UpdateSlotTemplateDto {
17
18
  }
18
19
  __decorate([
20
+ (0, class_validator_1.IsOptional)(),
19
21
  (0, class_validator_1.IsArray)(),
20
22
  (0, class_transformer_1.Expose)(),
21
23
  __metadata("design:type", Array)
22
24
  ], UpdateSlotTemplateDto.prototype, "slots", void 0);
25
+ __decorate([
26
+ (0, class_validator_1.IsOptional)(),
27
+ (0, class_validator_1.IsArray)(),
28
+ (0, class_transformer_1.Expose)(),
29
+ __metadata("design:type", Array)
30
+ ], UpdateSlotTemplateDto.prototype, "flexRules", void 0);
31
+ __decorate([
32
+ (0, class_validator_1.IsOptional)(),
33
+ (0, class_validator_1.IsIn)(['fixed', 'flex']),
34
+ (0, class_transformer_1.Expose)(),
35
+ __metadata("design:type", String)
36
+ ], UpdateSlotTemplateDto.prototype, "type", void 0);
37
+ __decorate([
38
+ (0, class_validator_1.IsOptional)(),
39
+ (0, class_validator_1.IsInt)(),
40
+ (0, class_validator_1.Min)(1),
41
+ (0, class_validator_1.Max)(720),
42
+ (0, class_transformer_1.Expose)(),
43
+ __metadata("design:type", Number)
44
+ ], UpdateSlotTemplateDto.prototype, "step", void 0);
45
+ __decorate([
46
+ (0, class_validator_1.IsOptional)(),
47
+ (0, class_validator_1.IsInt)(),
48
+ (0, class_validator_1.Min)(0),
49
+ (0, class_validator_1.Max)(720),
50
+ (0, class_transformer_1.Expose)(),
51
+ __metadata("design:type", Number)
52
+ ], UpdateSlotTemplateDto.prototype, "breakMinutes", void 0);
23
53
  __decorate([
24
54
  (0, class_validator_1.IsArray)(),
25
55
  (0, class_validator_1.ArrayMinSize)(1),
@@ -0,0 +1,65 @@
1
+ /**
2
+ * Сводный отчёт по продажам сертификатов за выбранный период.
3
+ *
4
+ * Все денежные суммы — в минимальных единицах валюты (копейки/центы).
5
+ * Базовая фильтрация на бэке: `code != NOT_GENERATED_CODE` (висящие
6
+ * корзины не учитываем) + `paidAt` в окне `periods`.
7
+ *
8
+ * Семантика финансовых полей:
9
+ * - gross — стоимость по прайсу (SUM(total)). Не выручка.
10
+ * - cash — реально полученные деньги (SUM(cashReceived)). Это «выручка».
11
+ * - discount — сумма ручных скидок (SUM(discountTotal)).
12
+ * - promocode — сумма промокодов (SUM(promocodeTotal)).
13
+ * - refunded — реально возвращённые клиенту деньги (SUM(refundedAmount)).
14
+ */
15
+ export type CertificatesOverview = {
16
+ /** Сколько сертификатов выписано (paid) за период. */
17
+ soldCount: number;
18
+ /** Сколько аннулировано в этом же периоде (по annulledAt). */
19
+ annulledCount: number;
20
+ /** Сколько использовано полностью (по fullyUsedAt). */
21
+ fullyUsedCount: number;
22
+ /** Сколько ушло в подарок (isGift = true) среди soldCount. */
23
+ giftCount: number;
24
+ gross: number;
25
+ cash: number;
26
+ discount: number;
27
+ promocode: number;
28
+ refunded: number;
29
+ /** Средний чек по cash: cash / soldCount, 0 если нет продаж. */
30
+ avgCheck: number;
31
+ /** Не использованный остаток номиналов: SUM(balance) у не-аннулированных. */
32
+ outstandingBalance: number;
33
+ };
34
+ export type CertificatesDynamicRow = {
35
+ period: string;
36
+ soldCount: number;
37
+ cash: number;
38
+ discount: number;
39
+ promocode: number;
40
+ refunded: number;
41
+ };
42
+ export type CertificatesByTemplateRow = {
43
+ certificateId: number | null;
44
+ title: string;
45
+ soldCount: number;
46
+ cash: number;
47
+ avgCheck: number;
48
+ };
49
+ export type CertificatesBySourceRow = {
50
+ source: string;
51
+ soldCount: number;
52
+ cash: number;
53
+ };
54
+ export type CertificatesByDeliveryRow = {
55
+ deliveryType: string;
56
+ soldCount: number;
57
+ cash: number;
58
+ };
59
+ export type CertificatesReportRO = {
60
+ overview: CertificatesOverview;
61
+ dynamic: CertificatesDynamicRow[];
62
+ byTemplate: CertificatesByTemplateRow[];
63
+ bySource: CertificatesBySourceRow[];
64
+ byDelivery: CertificatesByDeliveryRow[];
65
+ };
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -3,4 +3,7 @@ export declare class CreateTariffDto {
3
3
  price: {
4
4
  [x: string]: number;
5
5
  };
6
+ isVariationEligible?: boolean;
7
+ clientTitle?: string;
8
+ clientDescription?: string;
6
9
  }
@@ -26,4 +26,22 @@ __decorate([
26
26
  (0, class_transformer_1.Expose)(),
27
27
  __metadata("design:type", Object)
28
28
  ], CreateTariffDto.prototype, "price", void 0);
29
+ __decorate([
30
+ (0, class_validator_1.IsOptional)(),
31
+ (0, class_validator_1.IsBoolean)(),
32
+ (0, class_transformer_1.Expose)(),
33
+ __metadata("design:type", Boolean)
34
+ ], CreateTariffDto.prototype, "isVariationEligible", void 0);
35
+ __decorate([
36
+ (0, class_validator_1.ValidateIf)(({ isVariationEligible }) => isVariationEligible),
37
+ (0, is_not_blank_1.IsNotBlank)(),
38
+ (0, class_transformer_1.Expose)(),
39
+ __metadata("design:type", String)
40
+ ], CreateTariffDto.prototype, "clientTitle", void 0);
41
+ __decorate([
42
+ (0, class_validator_1.ValidateIf)(({ isVariationEligible }) => isVariationEligible),
43
+ (0, is_not_blank_1.IsNotBlank)(),
44
+ (0, class_transformer_1.Expose)(),
45
+ __metadata("design:type", String)
46
+ ], CreateTariffDto.prototype, "clientDescription", void 0);
29
47
  exports.CreateTariffDto = CreateTariffDto;
@@ -5,4 +5,7 @@ export declare class TariffRO {
5
5
  profileId: number;
6
6
  title: string;
7
7
  price: OpenapiTariffRO;
8
+ isVariationEligible: boolean;
9
+ clientTitle?: string;
10
+ clientDescription?: string;
8
11
  }
@@ -34,4 +34,16 @@ __decorate([
34
34
  (0, class_transformer_1.Expose)(),
35
35
  __metadata("design:type", openapi_tariff_ro_1.OpenapiTariffRO)
36
36
  ], TariffRO.prototype, "price", void 0);
37
+ __decorate([
38
+ (0, class_transformer_1.Expose)(),
39
+ __metadata("design:type", Boolean)
40
+ ], TariffRO.prototype, "isVariationEligible", void 0);
41
+ __decorate([
42
+ (0, class_transformer_1.Expose)(),
43
+ __metadata("design:type", String)
44
+ ], TariffRO.prototype, "clientTitle", void 0);
45
+ __decorate([
46
+ (0, class_transformer_1.Expose)(),
47
+ __metadata("design:type", String)
48
+ ], TariffRO.prototype, "clientDescription", void 0);
37
49
  exports.TariffRO = TariffRO;