@escapenavigator/types 2.1.26 → 2.1.28

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 (108) hide show
  1. package/dist/admin/aggregator-order/aggregator-order.ro.d.ts +2 -0
  2. package/dist/admin/aggregator-order/aggregator-order.ro.js +4 -0
  3. package/dist/admin/aggregator-order/update-aggregator-order.dto.d.ts +2 -0
  4. package/dist/admin/aggregator-order/update-aggregator-order.dto.js +7 -0
  5. package/dist/admin/navigator-booking/navigator-booking-audit.ro.d.ts +43 -0
  6. package/dist/admin/navigator-booking/navigator-booking-audit.ro.js +20 -0
  7. package/dist/admin/navigator-booking/navigator-commission-act.ro.d.ts +5 -1
  8. package/dist/admin/navigator-booking/navigator-commission-act.ro.js +2 -0
  9. package/dist/balance/profile-debt.ro.d.ts +17 -0
  10. package/dist/balance/profile-debt.ro.js +55 -0
  11. package/dist/fiscal/fiscal-settings.ro.d.ts +1 -0
  12. package/dist/fiscal/fiscal-settings.ro.js +4 -0
  13. package/dist/fiscal/update-fiscal-settings.dto.d.ts +1 -0
  14. package/dist/fiscal/update-fiscal-settings.dto.js +6 -0
  15. package/dist/index.d.ts +1 -0
  16. package/dist/index.js +1 -0
  17. package/dist/openapi/profiles/enum/openapi-promocode-applies-to.enum.d.ts +5 -0
  18. package/dist/openapi/profiles/enum/openapi-promocode-applies-to.enum.js +9 -0
  19. package/dist/openapi/profiles/openapi-create-promocode.dto.d.ts +34 -0
  20. package/dist/openapi/profiles/openapi-create-promocode.dto.js +330 -0
  21. package/dist/openapi/profiles/openapi-promocode.ro.d.ts +37 -0
  22. package/dist/openapi/profiles/openapi-promocode.ro.js +187 -0
  23. package/dist/openapi/shared/openapi-questroom.ro.d.ts +2 -0
  24. package/dist/openapi/shared/openapi-questroom.ro.js +8 -0
  25. package/dist/openapi/slots/openapi-slot-variation.ro.js +1 -1
  26. package/dist/openapi/slots/openapi-widget-slot.ro.d.ts +1 -0
  27. package/dist/openapi/slots/openapi-widget-slot.ro.js +10 -0
  28. package/dist/openapi/upsellings/openapi-upselling.ro.d.ts +2 -0
  29. package/dist/openapi/upsellings/openapi-upselling.ro.js +8 -0
  30. package/dist/openapi/widget/openapi-resolve-promocode.ro.d.ts +2 -0
  31. package/dist/openapi/widget/openapi-resolve-promocode.ro.js +4 -0
  32. package/dist/order/waivers/order-to-sign.ro.d.ts +5 -0
  33. package/dist/order/waivers/order-to-sign.ro.js +8 -0
  34. package/dist/order/waivers/sign-order.dto.d.ts +11 -0
  35. package/dist/order/waivers/sign-order.dto.js +22 -2
  36. package/dist/product/product-sales-query.dto.d.ts +5 -0
  37. package/dist/product/product-sales-query.dto.js +37 -0
  38. package/dist/profile/admin-profile.ro.d.ts +1 -0
  39. package/dist/profile/admin-profile.ro.js +4 -0
  40. package/dist/profile/create-profile-admin-comment.dto.d.ts +3 -0
  41. package/dist/profile/create-profile-admin-comment.dto.js +24 -0
  42. package/dist/profile/marketing-email/preflight-issue.ro.d.ts +1 -5
  43. package/dist/profile/marketing-email/preflight-issue.ro.js +1 -5
  44. package/dist/profile/notification-chanel/notification-chanel-action.enum.d.ts +13 -1
  45. package/dist/profile/notification-chanel/notification-chanel-action.enum.js +14 -1
  46. package/dist/profile/profile-admin-comment.ro.d.ts +8 -0
  47. package/dist/profile/profile-admin-comment.ro.js +37 -0
  48. package/dist/profile/profile.ro.d.ts +2 -0
  49. package/dist/profile/profile.ro.js +4 -0
  50. package/dist/promocode/create-promocode.dto.d.ts +7 -0
  51. package/dist/promocode/create-promocode.dto.js +9 -0
  52. package/dist/promocode/emun/promocode-discount-target.enum.d.ts +17 -0
  53. package/dist/promocode/emun/promocode-discount-target.enum.js +34 -0
  54. package/dist/promocode/promocode.ro.d.ts +2 -0
  55. package/dist/promocode/promocode.ro.js +4 -0
  56. package/dist/questroom/create-questroom.dto.d.ts +3 -0
  57. package/dist/questroom/create-questroom.dto.js +21 -0
  58. package/dist/questroom/questroom.ro.d.ts +2 -0
  59. package/dist/questroom/questroom.ro.js +8 -0
  60. package/dist/salary/assign-salary-scheme.dto.d.ts +4 -0
  61. package/dist/salary/assign-salary-scheme.dto.js +30 -0
  62. package/dist/salary/create-salary-accrual.dto.d.ts +8 -0
  63. package/dist/salary/create-salary-accrual.dto.js +48 -0
  64. package/dist/salary/create-salary-scheme.dto.d.ts +13 -0
  65. package/dist/salary/create-salary-scheme.dto.js +59 -0
  66. package/dist/salary/enum/salary-accrual-source-type.enum.d.ts +11 -0
  67. package/dist/salary/enum/salary-accrual-source-type.enum.js +16 -0
  68. package/dist/salary/enum/salary-accrual-type.enum.d.ts +12 -0
  69. package/dist/salary/enum/salary-accrual-type.enum.js +21 -0
  70. package/dist/salary/index.d.ts +15 -0
  71. package/dist/salary/index.js +31 -0
  72. package/dist/salary/query-salary-period.dto.d.ts +12 -0
  73. package/dist/salary/query-salary-period.dto.js +66 -0
  74. package/dist/salary/run-salary-accruals.dto.d.ts +5 -0
  75. package/dist/salary/run-salary-accruals.dto.js +37 -0
  76. package/dist/salary/salary-accrual.ro.d.ts +23 -0
  77. package/dist/salary/salary-accrual.ro.js +2 -0
  78. package/dist/salary/salary-my.ro.d.ts +12 -0
  79. package/dist/salary/salary-my.ro.js +2 -0
  80. package/dist/salary/salary-payout.ro.d.ts +18 -0
  81. package/dist/salary/salary-payout.ro.js +2 -0
  82. package/dist/salary/salary-preview.ro.d.ts +31 -0
  83. package/dist/salary/salary-preview.ro.js +2 -0
  84. package/dist/salary/salary-scheme.ro.d.ts +25 -0
  85. package/dist/salary/salary-scheme.ro.js +2 -0
  86. package/dist/salary/salary-settings.dto.d.ts +6 -0
  87. package/dist/salary/salary-settings.dto.js +22 -0
  88. package/dist/salary/salary-summary.ro.d.ts +32 -0
  89. package/dist/salary/salary-summary.ro.js +2 -0
  90. package/dist/salary/update-salary-scheme.dto.d.ts +4 -0
  91. package/dist/salary/update-salary-scheme.dto.js +25 -0
  92. package/dist/shared/card-badge.d.ts +9 -0
  93. package/dist/shared/card-badge.js +18 -0
  94. package/dist/statistics/bookings.d.ts +14 -0
  95. package/dist/statistics/products.d.ts +18 -0
  96. package/dist/statistics/products.js +2 -0
  97. package/dist/transaction/create-transaction.dto.d.ts +2 -0
  98. package/dist/transaction/create-transaction.dto.js +14 -0
  99. package/dist/transaction/transaction.ro.d.ts +2 -0
  100. package/dist/transaction/transaction.ro.js +8 -0
  101. package/dist/tsconfig.build.tsbuildinfo +1 -1
  102. package/dist/upselling/create-upselling.dto.d.ts +7 -1
  103. package/dist/upselling/create-upselling.dto.js +21 -0
  104. package/dist/upselling/upselling.ro.d.ts +2 -0
  105. package/dist/upselling/upselling.ro.js +8 -0
  106. package/dist/user/fine/query-user-fine.dto.d.ts +1 -0
  107. package/dist/user/fine/query-user-fine.dto.js +6 -0
  108. package/package.json +2 -2
@@ -0,0 +1,37 @@
1
+ import { PromocodeCertificateModeEnum } from '../../promocode/emun/promocode-certificate-mode.enum';
2
+ import { PromocodeDiscountTargetEnum } from '../../promocode/emun/promocode-discount-target.enum';
3
+ import { PromocodeTypeEnum } from '../../promocode/emun/promocode-type.enum';
4
+ import { OpenapiPromocodeAppliesToEnum } from './enum/openapi-promocode-applies-to.enum';
5
+ export declare class OpenapiPromocodeNominalRuleRO {
6
+ nominalId: number;
7
+ amount: number;
8
+ }
9
+ export declare class OpenapiPromocodeRO {
10
+ promocodeId: number;
11
+ code: string;
12
+ description: string;
13
+ appliesTo: OpenapiPromocodeAppliesToEnum;
14
+ type: PromocodeTypeEnum;
15
+ discount: number;
16
+ discountTargets: PromocodeDiscountTargetEnum[];
17
+ multiple: boolean;
18
+ maxApplyings: number | null;
19
+ canUseWithOtherPromocodes: boolean;
20
+ canUseWithOtherCertificates: boolean;
21
+ onlinePaymentOnly: boolean;
22
+ validFrom: string | null;
23
+ validTo: string | null;
24
+ forOrdersFrom: string | null;
25
+ forOrdersTo: string | null;
26
+ availableFrom: string;
27
+ availableTo: string;
28
+ availableDays: number[];
29
+ allQuestrooms: boolean;
30
+ questroomIds: number[];
31
+ minPlayers: number | null;
32
+ maxPlayers: number | null;
33
+ clientDescription: string | null;
34
+ certificateMode: PromocodeCertificateModeEnum | null;
35
+ certificateNominalRules: OpenapiPromocodeNominalRuleRO[];
36
+ createdAt: Date;
37
+ }
@@ -0,0 +1,187 @@
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.OpenapiPromocodeRO = exports.OpenapiPromocodeNominalRuleRO = void 0;
13
+ /* eslint-disable max-classes-per-file */
14
+ const swagger_1 = require("@nestjs/swagger");
15
+ const class_transformer_1 = require("class-transformer");
16
+ const promocode_certificate_mode_enum_1 = require("../../promocode/emun/promocode-certificate-mode.enum");
17
+ const promocode_discount_target_enum_1 = require("../../promocode/emun/promocode-discount-target.enum");
18
+ const promocode_type_enum_1 = require("../../promocode/emun/promocode-type.enum");
19
+ const openapi_promocode_applies_to_enum_1 = require("./enum/openapi-promocode-applies-to.enum");
20
+ class OpenapiPromocodeNominalRuleRO {
21
+ }
22
+ exports.OpenapiPromocodeNominalRuleRO = OpenapiPromocodeNominalRuleRO;
23
+ __decorate([
24
+ (0, class_transformer_1.Expose)(),
25
+ (0, swagger_1.ApiProperty)({ example: 12 }),
26
+ __metadata("design:type", Number)
27
+ ], OpenapiPromocodeNominalRuleRO.prototype, "nominalId", void 0);
28
+ __decorate([
29
+ (0, class_transformer_1.Expose)(),
30
+ (0, swagger_1.ApiProperty)({
31
+ example: 1000,
32
+ description: 'Amount in minor currency units. Meaning depends on `certificateMode`.',
33
+ }),
34
+ __metadata("design:type", Number)
35
+ ], OpenapiPromocodeNominalRuleRO.prototype, "amount", void 0);
36
+ class OpenapiPromocodeRO {
37
+ }
38
+ exports.OpenapiPromocodeRO = OpenapiPromocodeRO;
39
+ __decorate([
40
+ (0, class_transformer_1.Expose)(),
41
+ (0, swagger_1.ApiProperty)({ example: 501, description: 'Escape Navigator internal promocode id.' }),
42
+ __metadata("design:type", Number)
43
+ ], OpenapiPromocodeRO.prototype, "promocodeId", void 0);
44
+ __decorate([
45
+ (0, class_transformer_1.Expose)(),
46
+ (0, swagger_1.ApiProperty)({ example: 'SUMMER26' }),
47
+ __metadata("design:type", String)
48
+ ], OpenapiPromocodeRO.prototype, "code", void 0);
49
+ __decorate([
50
+ (0, class_transformer_1.Expose)(),
51
+ (0, swagger_1.ApiProperty)({ example: 'Summer campaign, 10% off games' }),
52
+ __metadata("design:type", String)
53
+ ], OpenapiPromocodeRO.prototype, "description", void 0);
54
+ __decorate([
55
+ (0, class_transformer_1.Expose)(),
56
+ (0, swagger_1.ApiProperty)({
57
+ enum: openapi_promocode_applies_to_enum_1.OpenapiPromocodeAppliesToEnum,
58
+ example: openapi_promocode_applies_to_enum_1.OpenapiPromocodeAppliesToEnum.BOOKINGS,
59
+ }),
60
+ __metadata("design:type", String)
61
+ ], OpenapiPromocodeRO.prototype, "appliesTo", void 0);
62
+ __decorate([
63
+ (0, class_transformer_1.Expose)(),
64
+ (0, swagger_1.ApiProperty)({ enum: promocode_type_enum_1.PromocodeTypeEnum, example: promocode_type_enum_1.PromocodeTypeEnum.PERCENT_ALL_SUM }),
65
+ __metadata("design:type", String)
66
+ ], OpenapiPromocodeRO.prototype, "type", void 0);
67
+ __decorate([
68
+ (0, class_transformer_1.Expose)(),
69
+ (0, swagger_1.ApiProperty)({
70
+ example: 1000,
71
+ description: 'Booking discount in the same units as on create. `0` for promotional and certificate promocodes.',
72
+ }),
73
+ __metadata("design:type", Number)
74
+ ], OpenapiPromocodeRO.prototype, "discount", void 0);
75
+ __decorate([
76
+ (0, class_transformer_1.Expose)(),
77
+ (0, swagger_1.ApiProperty)({ enum: promocode_discount_target_enum_1.PromocodeDiscountTargetEnum, isArray: true }),
78
+ __metadata("design:type", Array)
79
+ ], OpenapiPromocodeRO.prototype, "discountTargets", void 0);
80
+ __decorate([
81
+ (0, class_transformer_1.Expose)(),
82
+ (0, swagger_1.ApiProperty)({ example: true }),
83
+ __metadata("design:type", Boolean)
84
+ ], OpenapiPromocodeRO.prototype, "multiple", void 0);
85
+ __decorate([
86
+ (0, class_transformer_1.Expose)(),
87
+ (0, swagger_1.ApiProperty)({
88
+ example: 100,
89
+ nullable: true,
90
+ description: 'Total use limit. `null` means unlimited (or a single use when `multiple` is false).',
91
+ }),
92
+ __metadata("design:type", Number)
93
+ ], OpenapiPromocodeRO.prototype, "maxApplyings", void 0);
94
+ __decorate([
95
+ (0, class_transformer_1.Expose)(),
96
+ (0, swagger_1.ApiProperty)({ example: false }),
97
+ __metadata("design:type", Boolean)
98
+ ], OpenapiPromocodeRO.prototype, "canUseWithOtherPromocodes", void 0);
99
+ __decorate([
100
+ (0, class_transformer_1.Expose)(),
101
+ (0, swagger_1.ApiProperty)({ example: true }),
102
+ __metadata("design:type", Boolean)
103
+ ], OpenapiPromocodeRO.prototype, "canUseWithOtherCertificates", void 0);
104
+ __decorate([
105
+ (0, class_transformer_1.Expose)(),
106
+ (0, swagger_1.ApiProperty)({ example: false }),
107
+ __metadata("design:type", Boolean)
108
+ ], OpenapiPromocodeRO.prototype, "onlinePaymentOnly", void 0);
109
+ __decorate([
110
+ (0, class_transformer_1.Expose)(),
111
+ (0, swagger_1.ApiProperty)({ example: '2026-06-01', nullable: true }),
112
+ __metadata("design:type", String)
113
+ ], OpenapiPromocodeRO.prototype, "validFrom", void 0);
114
+ __decorate([
115
+ (0, class_transformer_1.Expose)(),
116
+ (0, swagger_1.ApiProperty)({ example: '2026-08-31', nullable: true }),
117
+ __metadata("design:type", String)
118
+ ], OpenapiPromocodeRO.prototype, "validTo", void 0);
119
+ __decorate([
120
+ (0, class_transformer_1.Expose)(),
121
+ (0, swagger_1.ApiProperty)({ example: null, nullable: true }),
122
+ __metadata("design:type", String)
123
+ ], OpenapiPromocodeRO.prototype, "forOrdersFrom", void 0);
124
+ __decorate([
125
+ (0, class_transformer_1.Expose)(),
126
+ (0, swagger_1.ApiProperty)({ example: null, nullable: true }),
127
+ __metadata("design:type", String)
128
+ ], OpenapiPromocodeRO.prototype, "forOrdersTo", void 0);
129
+ __decorate([
130
+ (0, class_transformer_1.Expose)(),
131
+ (0, swagger_1.ApiProperty)({ example: '00:00' }),
132
+ __metadata("design:type", String)
133
+ ], OpenapiPromocodeRO.prototype, "availableFrom", void 0);
134
+ __decorate([
135
+ (0, class_transformer_1.Expose)(),
136
+ (0, swagger_1.ApiProperty)({ example: '23:55' }),
137
+ __metadata("design:type", String)
138
+ ], OpenapiPromocodeRO.prototype, "availableTo", void 0);
139
+ __decorate([
140
+ (0, class_transformer_1.Expose)(),
141
+ (0, swagger_1.ApiProperty)({ example: [0, 1, 2, 3, 4, 5, 6], description: '`0` is Monday … `6` is Sunday.' }),
142
+ __metadata("design:type", Array)
143
+ ], OpenapiPromocodeRO.prototype, "availableDays", void 0);
144
+ __decorate([
145
+ (0, class_transformer_1.Expose)(),
146
+ (0, swagger_1.ApiProperty)({
147
+ example: true,
148
+ description: '`true` when the code is not limited to specific rooms.',
149
+ }),
150
+ __metadata("design:type", Boolean)
151
+ ], OpenapiPromocodeRO.prototype, "allQuestrooms", void 0);
152
+ __decorate([
153
+ (0, class_transformer_1.Expose)(),
154
+ (0, swagger_1.ApiProperty)({ example: [], description: 'Empty when `allQuestrooms` is true.' }),
155
+ __metadata("design:type", Array)
156
+ ], OpenapiPromocodeRO.prototype, "questroomIds", void 0);
157
+ __decorate([
158
+ (0, class_transformer_1.Expose)(),
159
+ (0, swagger_1.ApiProperty)({ example: null, nullable: true }),
160
+ __metadata("design:type", Number)
161
+ ], OpenapiPromocodeRO.prototype, "minPlayers", void 0);
162
+ __decorate([
163
+ (0, class_transformer_1.Expose)(),
164
+ (0, swagger_1.ApiProperty)({ example: null, nullable: true }),
165
+ __metadata("design:type", Number)
166
+ ], OpenapiPromocodeRO.prototype, "maxPlayers", void 0);
167
+ __decorate([
168
+ (0, class_transformer_1.Expose)(),
169
+ (0, swagger_1.ApiProperty)({ example: null, nullable: true }),
170
+ __metadata("design:type", String)
171
+ ], OpenapiPromocodeRO.prototype, "clientDescription", void 0);
172
+ __decorate([
173
+ (0, class_transformer_1.Expose)(),
174
+ (0, swagger_1.ApiProperty)({ enum: promocode_certificate_mode_enum_1.PromocodeCertificateModeEnum, nullable: true }),
175
+ __metadata("design:type", String)
176
+ ], OpenapiPromocodeRO.prototype, "certificateMode", void 0);
177
+ __decorate([
178
+ (0, class_transformer_1.Expose)(),
179
+ (0, class_transformer_1.Type)(() => OpenapiPromocodeNominalRuleRO),
180
+ (0, swagger_1.ApiProperty)({ type: [OpenapiPromocodeNominalRuleRO] }),
181
+ __metadata("design:type", Array)
182
+ ], OpenapiPromocodeRO.prototype, "certificateNominalRules", void 0);
183
+ __decorate([
184
+ (0, class_transformer_1.Expose)(),
185
+ (0, swagger_1.ApiProperty)({ example: '2026-06-01T12:00:00.000Z' }),
186
+ __metadata("design:type", Date)
187
+ ], OpenapiPromocodeRO.prototype, "createdAt", void 0);
@@ -86,6 +86,8 @@ export declare class OpenapiQuestroomRO {
86
86
  playersSelectMode: PlayersSelectModeEnum;
87
87
  slotStepMinutes: number;
88
88
  questOpeningDate?: string;
89
+ badge?: string | null;
90
+ badgeColor?: string | null;
89
91
  }
90
92
  export declare class QuestroomRow {
91
93
  questroom: OpenapiQuestroomRO;
@@ -272,6 +272,14 @@ __decorate([
272
272
  (0, class_transformer_1.Expose)(),
273
273
  __metadata("design:type", String)
274
274
  ], OpenapiQuestroomRO.prototype, "questOpeningDate", void 0);
275
+ __decorate([
276
+ (0, class_transformer_1.Expose)(),
277
+ __metadata("design:type", String)
278
+ ], OpenapiQuestroomRO.prototype, "badge", void 0);
279
+ __decorate([
280
+ (0, class_transformer_1.Expose)(),
281
+ __metadata("design:type", String)
282
+ ], OpenapiQuestroomRO.prototype, "badgeColor", void 0);
275
283
  class QuestroomRow {
276
284
  }
277
285
  exports.QuestroomRow = QuestroomRow;
@@ -168,7 +168,7 @@ __decorate([
168
168
  ], OpenapiSlotVariationRO.prototype, "minPlayers", void 0);
169
169
  __decorate([
170
170
  (0, swagger_1.ApiProperty)({
171
- description: 'Maximum number of players that can book this variation',
171
+ description: 'Maximum players for this variation. On the public booking path this is the quest setting (`playersMax`). In CRM it is the highest priced team size on the tariff, which may be higher.',
172
172
  example: 6,
173
173
  }),
174
174
  (0, class_transformer_1.Expose)(),
@@ -14,6 +14,7 @@ export declare class OpenapiSlotRO {
14
14
  date: string;
15
15
  end?: string;
16
16
  numSeatsAvailable?: number;
17
+ availableTeams?: number | null;
17
18
  discount?: number;
18
19
  discountType?: SlotDiscountTypeEnum;
19
20
  onlyPhone?: boolean;
@@ -127,6 +127,16 @@ __decorate([
127
127
  (0, class_transformer_1.Expose)(),
128
128
  __metadata("design:type", Number)
129
129
  ], OpenapiSlotRO.prototype, "numSeatsAvailable", void 0);
130
+ __decorate([
131
+ (0, swagger_1.ApiProperty)({
132
+ description: 'How many more parallel games still fit at this time. Set for ticket rooms that limit the number of games, not only seats. Null when there is no such limit.',
133
+ required: false,
134
+ nullable: true,
135
+ example: 4,
136
+ }),
137
+ (0, class_transformer_1.Expose)(),
138
+ __metadata("design:type", Number)
139
+ ], OpenapiSlotRO.prototype, "availableTeams", void 0);
130
140
  __decorate([
131
141
  (0, swagger_1.ApiProperty)({
132
142
  description: 'Discount applied to the slot. With `discountType: percent` the value is in basis points (1500 = 15%); with `discountType: fixed` it is an amount in minor currency units subtracted once per booking.',
@@ -15,4 +15,6 @@ export declare class OpenapiUpsellingRO {
15
15
  fullPayment: boolean;
16
16
  clientCanRemove: boolean;
17
17
  popular: boolean;
18
+ badge?: string | null;
19
+ badgeColor?: string | null;
18
20
  }
@@ -78,3 +78,11 @@ __decorate([
78
78
  (0, class_transformer_1.Expose)(),
79
79
  __metadata("design:type", Boolean)
80
80
  ], OpenapiUpsellingRO.prototype, "popular", void 0);
81
+ __decorate([
82
+ (0, class_transformer_1.Expose)(),
83
+ __metadata("design:type", String)
84
+ ], OpenapiUpsellingRO.prototype, "badge", void 0);
85
+ __decorate([
86
+ (0, class_transformer_1.Expose)(),
87
+ __metadata("design:type", String)
88
+ ], OpenapiUpsellingRO.prototype, "badgeColor", void 0);
@@ -1,4 +1,5 @@
1
1
  import { PromocodeCertificateModeEnum } from '../../promocode/emun/promocode-certificate-mode.enum';
2
+ import { PromocodeDiscountTargetEnum } from '../../promocode/emun/promocode-discount-target.enum';
2
3
  import { PromocodeTypeEnum } from '../../promocode/emun/promocode-type.enum';
3
4
  import { PromocodeNominalRule } from '../../promocode/promocode-nominal-rule';
4
5
  /**
@@ -12,6 +13,7 @@ export declare class OpenapiPromocodeWidgetRO {
12
13
  code: string;
13
14
  type: PromocodeTypeEnum;
14
15
  discount: number;
16
+ discountTargets: PromocodeDiscountTargetEnum[];
15
17
  clientDescription?: string;
16
18
  availableForBookings: boolean;
17
19
  availableForCertificates: boolean;
@@ -39,6 +39,10 @@ __decorate([
39
39
  (0, class_transformer_1.Expose)(),
40
40
  __metadata("design:type", Number)
41
41
  ], OpenapiPromocodeWidgetRO.prototype, "discount", void 0);
42
+ __decorate([
43
+ (0, class_transformer_1.Expose)(),
44
+ __metadata("design:type", Array)
45
+ ], OpenapiPromocodeWidgetRO.prototype, "discountTargets", void 0);
42
46
  __decorate([
43
47
  (0, class_transformer_1.Expose)(),
44
48
  __metadata("design:type", String)
@@ -21,6 +21,11 @@ declare class Participant {
21
21
  surname: string;
22
22
  patronymic?: string;
23
23
  email: string;
24
+ /**
25
+ * Саму дату на публичную страницу подписания не отдаём — только факт,
26
+ * чтобы спросить её, если в карточке пусто.
27
+ */
28
+ hasBirthday: boolean;
24
29
  }
25
30
  declare class OrderParticipant {
26
31
  id: number;
@@ -66,6 +66,14 @@ __decorate([
66
66
  (0, class_transformer_1.Expose)(),
67
67
  __metadata("design:type", String)
68
68
  ], Participant.prototype, "email", void 0);
69
+ __decorate([
70
+ (0, class_transformer_1.Expose)(),
71
+ (0, class_transformer_1.Transform)(({ obj }) => {
72
+ const birthday = obj === null || obj === void 0 ? void 0 : obj.birthday;
73
+ return typeof birthday === 'string' && birthday.trim().length > 0;
74
+ }),
75
+ __metadata("design:type", Boolean)
76
+ ], Participant.prototype, "hasBirthday", void 0);
69
77
  class OrderParticipant {
70
78
  }
71
79
  __decorate([
@@ -13,6 +13,12 @@ declare class Minor extends ChildRelation {
13
13
  }
14
14
  declare class ExistingChild extends ChildRelation {
15
15
  id: number;
16
+ /**
17
+ * Форма ставит true, если у ребёнка в карточке нет даты рождения
18
+ * и её нужно дописать с вейвера.
19
+ */
20
+ askBirthday?: boolean;
21
+ birthday?: string;
16
22
  }
17
23
  export declare class SignOrderDTO {
18
24
  agree: boolean;
@@ -30,6 +36,11 @@ export declare class SignOrderDTO {
30
36
  sendAds: boolean;
31
37
  email: string;
32
38
  phone: string;
39
+ /**
40
+ * Форма ставит true, когда выбран уже существующий участник без даты
41
+ * рождения и шаблон вейвера эту дату спрашивает.
42
+ */
43
+ askBirthday?: boolean;
33
44
  birthday: string;
34
45
  address: string;
35
46
  existingChilds: ExistingChild[];
@@ -68,6 +68,19 @@ __decorate([
68
68
  (0, class_transformer_1.Expose)(),
69
69
  __metadata("design:type", Number)
70
70
  ], ExistingChild.prototype, "id", void 0);
71
+ __decorate([
72
+ (0, class_validator_1.IsOptional)(),
73
+ (0, class_validator_1.IsBoolean)(),
74
+ (0, class_transformer_1.Expose)(),
75
+ __metadata("design:type", Boolean)
76
+ ], ExistingChild.prototype, "askBirthday", void 0);
77
+ __decorate([
78
+ (0, class_validator_1.ValidateIf)((child) => !!child.askBirthday || !!child.birthday),
79
+ (0, is_not_blank_1.IsNotBlank)(),
80
+ (0, ins_minor_1.IsMinor)(),
81
+ (0, class_transformer_1.Expose)(),
82
+ __metadata("design:type", String)
83
+ ], ExistingChild.prototype, "birthday", void 0);
71
84
  class SignOrderDTO {
72
85
  }
73
86
  exports.SignOrderDTO = SignOrderDTO;
@@ -161,9 +174,16 @@ __decorate([
161
174
  __metadata("design:type", String)
162
175
  ], SignOrderDTO.prototype, "phone", void 0);
163
176
  __decorate([
164
- (0, class_validator_1.ValidateIf)(({ existingParticipantId, waiverFields }) => !existingParticipantId &&
177
+ (0, class_validator_1.IsOptional)(),
178
+ (0, class_validator_1.IsBoolean)(),
179
+ (0, class_transformer_1.Expose)(),
180
+ __metadata("design:type", Boolean)
181
+ ], SignOrderDTO.prototype, "askBirthday", void 0);
182
+ __decorate([
183
+ (0, class_validator_1.ValidateIf)(({ existingParticipantId, waiverFields, askBirthday }) => (!existingParticipantId &&
165
184
  Array.isArray(waiverFields) &&
166
- waiverFields.includes(widget_booking_filed_enum_1.WidgetBookingFiledEnum.BIRTHDAY)),
185
+ waiverFields.includes(widget_booking_filed_enum_1.WidgetBookingFiledEnum.BIRTHDAY)) ||
186
+ (!!existingParticipantId && !!askBirthday)),
167
187
  (0, is_not_blank_1.IsNotBlank)(),
168
188
  (0, class_transformer_1.Expose)(),
169
189
  __metadata("design:type", String)
@@ -0,0 +1,5 @@
1
+ export declare class ProductSalesFilterDto {
2
+ date?: [string, string];
3
+ locationId?: number;
4
+ productId?: number;
5
+ }
@@ -0,0 +1,37 @@
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.ProductSalesFilterDto = void 0;
13
+ const class_transformer_1 = require("class-transformer");
14
+ const class_validator_1 = require("class-validator");
15
+ class ProductSalesFilterDto {
16
+ }
17
+ exports.ProductSalesFilterDto = ProductSalesFilterDto;
18
+ __decorate([
19
+ (0, class_transformer_1.Expose)(),
20
+ (0, class_validator_1.IsOptional)(),
21
+ (0, class_transformer_1.Transform)(({ value }) => (Array.isArray(value) ? value : ['', ''])),
22
+ __metadata("design:type", Array)
23
+ ], ProductSalesFilterDto.prototype, "date", void 0);
24
+ __decorate([
25
+ (0, class_transformer_1.Expose)(),
26
+ (0, class_validator_1.IsOptional)(),
27
+ (0, class_transformer_1.Type)(() => Number),
28
+ (0, class_validator_1.IsInt)(),
29
+ __metadata("design:type", Number)
30
+ ], ProductSalesFilterDto.prototype, "locationId", void 0);
31
+ __decorate([
32
+ (0, class_transformer_1.Expose)(),
33
+ (0, class_validator_1.IsOptional)(),
34
+ (0, class_transformer_1.Type)(() => Number),
35
+ (0, class_validator_1.IsInt)(),
36
+ __metadata("design:type", Number)
37
+ ], ProductSalesFilterDto.prototype, "productId", void 0);
@@ -76,6 +76,7 @@ export declare class AdminProfileRO {
76
76
  locationsCount: number;
77
77
  questroomsCount: number;
78
78
  questroomsDeletedCount: number;
79
+ balance: number;
79
80
  lastVisit: Date;
80
81
  crm: string;
81
82
  actions: ProfileActionRO[];
@@ -263,6 +263,10 @@ __decorate([
263
263
  (0, class_transformer_1.Expose)(),
264
264
  __metadata("design:type", Number)
265
265
  ], AdminProfileRO.prototype, "questroomsDeletedCount", void 0);
266
+ __decorate([
267
+ (0, class_transformer_1.Expose)(),
268
+ __metadata("design:type", Number)
269
+ ], AdminProfileRO.prototype, "balance", void 0);
266
270
  __decorate([
267
271
  (0, class_transformer_1.Expose)(),
268
272
  __metadata("design:type", Date)
@@ -0,0 +1,3 @@
1
+ export declare class CreateProfileAdminCommentDto {
2
+ body: string;
3
+ }
@@ -0,0 +1,24 @@
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.CreateProfileAdminCommentDto = void 0;
13
+ const class_transformer_1 = require("class-transformer");
14
+ const class_validator_1 = require("class-validator");
15
+ const is_not_blank_1 = require("../shared/is-not-blank");
16
+ class CreateProfileAdminCommentDto {
17
+ }
18
+ exports.CreateProfileAdminCommentDto = CreateProfileAdminCommentDto;
19
+ __decorate([
20
+ (0, is_not_blank_1.IsNotBlank)(),
21
+ (0, class_validator_1.MaxLength)(4000),
22
+ (0, class_transformer_1.Expose)(),
23
+ __metadata("design:type", String)
24
+ ], CreateProfileAdminCommentDto.prototype, "body", void 0);
@@ -41,11 +41,7 @@ export declare enum PreflightIssueCodeEnum {
41
41
  * должен узнать об этом до нажатия «Отправить», а не из отчёта.
42
42
  */
43
43
  QuietHours = "quiet_hours",
44
- /**
45
- * Аудитория больше суточного лимита прогрева домена — отправка
46
- * растянется на несколько дней. Предупреждение: письма не теряются,
47
- * но пользователь должен понимать, почему «отправлено» растёт медленно.
48
- */
44
+ /** @deprecated Код сохранён для совместимости; теперь это общий лимит 50/24ч. */
49
45
  DomainWarmup = "domain_warmup"
50
46
  }
51
47
  export declare class PreflightIssueRO {
@@ -56,11 +56,7 @@ var PreflightIssueCodeEnum;
56
56
  * должен узнать об этом до нажатия «Отправить», а не из отчёта.
57
57
  */
58
58
  PreflightIssueCodeEnum["QuietHours"] = "quiet_hours";
59
- /**
60
- * Аудитория больше суточного лимита прогрева домена — отправка
61
- * растянется на несколько дней. Предупреждение: письма не теряются,
62
- * но пользователь должен понимать, почему «отправлено» растёт медленно.
63
- */
59
+ /** @deprecated Код сохранён для совместимости; теперь это общий лимит 50/24ч. */
64
60
  PreflightIssueCodeEnum["DomainWarmup"] = "domain_warmup";
65
61
  })(PreflightIssueCodeEnum || (exports.PreflightIssueCodeEnum = PreflightIssueCodeEnum = {}));
66
62
  class PreflightIssueRO {
@@ -21,7 +21,13 @@ export declare enum NotificationTriggerEnum {
21
21
  * «оставить заявку» в записи или подбор пакета. Заявки, созданные
22
22
  * сотрудником вручную, событие не поднимают.
23
23
  */
24
- NEW_LEAD = "new-lead"
24
+ NEW_LEAD = "new-lead",
25
+ /**
26
+ * Гость подписал вейвер. Один POST — одно событие: подпись покрывает
27
+ * подписанта и всех, кого он вписал в этот раз. Письма сотруднику нет,
28
+ * уходят вебхук и мессенджеры.
29
+ */
30
+ WAIVER_SIGNED = "waiver-signed"
25
31
  }
26
32
  /**
27
33
  * События, payload которых строится вокруг продажи сертификата, а не заказа.
@@ -35,3 +41,9 @@ export declare const isCertificateNotificationTrigger: (trigger: NotificationTri
35
41
  * он его нигде не видит.
36
42
  */
37
43
  export declare const isLeadNotificationTrigger: (trigger: NotificationTriggerEnum) => trigger is NotificationTriggerEnum.NEW_LEAD;
44
+ export declare const isWaiverNotificationTrigger: (trigger: NotificationTriggerEnum) => trigger is NotificationTriggerEnum.WAIVER_SIGNED;
45
+ /**
46
+ * События, по которым сотруднику уходит письмо. Вейвер в этот список не
47
+ * входит: отдельного письма нет, и чекбокс в почте ничего бы не слал.
48
+ */
49
+ export declare const STAFF_EMAIL_NOTIFICATION_TRIGGERS: (NotificationTriggerEnum.NEW_ORDER | NotificationTriggerEnum.UPDATE_ORDER_DATE | NotificationTriggerEnum.CANCEL_ORDER | NotificationTriggerEnum.ASSIGNMENTS | NotificationTriggerEnum.CERTIFICATE_SALES | NotificationTriggerEnum.UNASSIGNMENTS | NotificationTriggerEnum.ORDER_PAID_VIA_ORDERS | NotificationTriggerEnum.CERTIFICATE_UPDATED | NotificationTriggerEnum.CERTIFICATE_ANNUL | NotificationTriggerEnum.NEW_LEAD)[];
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isLeadNotificationTrigger = exports.isCertificateNotificationTrigger = exports.CERTIFICATE_NOTIFICATION_TRIGGERS = exports.NotificationTriggerEnum = void 0;
3
+ exports.STAFF_EMAIL_NOTIFICATION_TRIGGERS = exports.isWaiverNotificationTrigger = exports.isLeadNotificationTrigger = exports.isCertificateNotificationTrigger = exports.CERTIFICATE_NOTIFICATION_TRIGGERS = exports.NotificationTriggerEnum = void 0;
4
4
  var NotificationTriggerEnum;
5
5
  (function (NotificationTriggerEnum) {
6
6
  NotificationTriggerEnum["NEW_ORDER"] = "new-order";
@@ -26,6 +26,12 @@ var NotificationTriggerEnum;
26
26
  * сотрудником вручную, событие не поднимают.
27
27
  */
28
28
  NotificationTriggerEnum["NEW_LEAD"] = "new-lead";
29
+ /**
30
+ * Гость подписал вейвер. Один POST — одно событие: подпись покрывает
31
+ * подписанта и всех, кого он вписал в этот раз. Письма сотруднику нет,
32
+ * уходят вебхук и мессенджеры.
33
+ */
34
+ NotificationTriggerEnum["WAIVER_SIGNED"] = "waiver-signed";
29
35
  })(NotificationTriggerEnum || (exports.NotificationTriggerEnum = NotificationTriggerEnum = {}));
30
36
  /**
31
37
  * События, payload которых строится вокруг продажи сертификата, а не заказа.
@@ -45,3 +51,10 @@ exports.isCertificateNotificationTrigger = isCertificateNotificationTrigger;
45
51
  */
46
52
  const isLeadNotificationTrigger = (trigger) => trigger === NotificationTriggerEnum.NEW_LEAD;
47
53
  exports.isLeadNotificationTrigger = isLeadNotificationTrigger;
54
+ const isWaiverNotificationTrigger = (trigger) => trigger === NotificationTriggerEnum.WAIVER_SIGNED;
55
+ exports.isWaiverNotificationTrigger = isWaiverNotificationTrigger;
56
+ /**
57
+ * События, по которым сотруднику уходит письмо. Вейвер в этот список не
58
+ * входит: отдельного письма нет, и чекбокс в почте ничего бы не слал.
59
+ */
60
+ exports.STAFF_EMAIL_NOTIFICATION_TRIGGERS = Object.values(NotificationTriggerEnum).filter((trigger) => trigger !== NotificationTriggerEnum.WAIVER_SIGNED);
@@ -0,0 +1,8 @@
1
+ import { RO } from '../shared/ro-class';
2
+ export declare class ProfileAdminCommentRO extends RO {
3
+ profileId: number;
4
+ adminId: number;
5
+ adminName: string;
6
+ adminEmail: string;
7
+ body: string;
8
+ }