@escapenavigator/types 2.0.2 → 2.0.3

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 (141) hide show
  1. package/dist/academy/academy-admin-article.ro.d.ts +24 -0
  2. package/dist/academy/academy-admin-article.ro.js +81 -0
  3. package/dist/academy/academy-article-card.ro.d.ts +19 -0
  4. package/dist/academy/academy-article-card.ro.js +58 -0
  5. package/dist/academy/academy-article-translation.ro.d.ts +8 -0
  6. package/dist/academy/academy-article-translation.ro.js +37 -0
  7. package/dist/academy/academy-article.ro.d.ts +22 -0
  8. package/dist/academy/academy-article.ro.js +66 -0
  9. package/dist/academy/academy-articles.query.dto.d.ts +11 -0
  10. package/dist/academy/academy-articles.query.dto.js +45 -0
  11. package/dist/academy/create-academy-article.dto.d.ts +28 -0
  12. package/dist/academy/create-academy-article.dto.js +114 -0
  13. package/dist/academy/enum/academy-article-status.enum.d.ts +8 -0
  14. package/dist/academy/enum/academy-article-status.enum.js +12 -0
  15. package/dist/academy/enum/academy-article-type.enum.d.ts +8 -0
  16. package/dist/academy/enum/academy-article-type.enum.js +12 -0
  17. package/dist/academy/enum/academy-function-tag.enum.d.ts +20 -0
  18. package/dist/academy/enum/academy-function-tag.enum.js +24 -0
  19. package/dist/academy/update-academy-article.dto.d.ts +5 -0
  20. package/dist/academy/update-academy-article.dto.js +8 -0
  21. package/dist/agb/agb-type.enum.d.ts +3 -1
  22. package/dist/agb/agb-type.enum.js +3 -0
  23. package/dist/certificate-v2/certificate-design.ro.d.ts +1 -0
  24. package/dist/certificate-v2/certificate-design.ro.js +4 -0
  25. package/dist/certificate-v2/certificate-settings.ro.d.ts +2 -0
  26. package/dist/certificate-v2/certificate-settings.ro.js +5 -0
  27. package/dist/certificate-v2/create-certificate-design.dto.d.ts +1 -0
  28. package/dist/certificate-v2/create-certificate-design.dto.js +6 -0
  29. package/dist/certificate-v2/enum/certificate-shop-flow-order.enum.d.ts +12 -0
  30. package/dist/certificate-v2/enum/certificate-shop-flow-order.enum.js +16 -0
  31. package/dist/certificate-v2/update-certificate-settings.dto.d.ts +2 -0
  32. package/dist/certificate-v2/update-certificate-settings.dto.js +7 -0
  33. package/dist/client/client.ro.d.ts +6 -0
  34. package/dist/client/client.ro.js +4 -0
  35. package/dist/coalition/coalition-list.ro.d.ts +9 -0
  36. package/dist/coalition/coalition-list.ro.js +38 -0
  37. package/dist/coalition/coalition-partner.ro.d.ts +6 -0
  38. package/dist/coalition/coalition-partner.ro.js +29 -0
  39. package/dist/coalition/coalition-stats.ro.d.ts +17 -0
  40. package/dist/coalition/coalition-stats.ro.js +56 -0
  41. package/dist/coalition/coalition.ro.d.ts +24 -0
  42. package/dist/coalition/coalition.ro.js +57 -0
  43. package/dist/coalition/create-coalition-request.dto.d.ts +8 -0
  44. package/dist/coalition/create-coalition-request.dto.js +30 -0
  45. package/dist/coalition/emun/coalition-status.enum.d.ts +14 -0
  46. package/dist/coalition/emun/coalition-status.enum.js +18 -0
  47. package/dist/constants/all-languages-by-namespace.js +1 -0
  48. package/dist/constants/country-by-namespace.js +1 -0
  49. package/dist/constants/country-name-by-country.js +1 -0
  50. package/dist/constants/currency-by-country.js +1 -0
  51. package/dist/constants/emergency-phones.js +1 -0
  52. package/dist/constants/language-by-country.js +1 -0
  53. package/dist/constants/language-flag-by-language.js +1 -0
  54. package/dist/constants/language-name-by-language.js +1 -0
  55. package/dist/constants/namespace-by-country.js +1 -0
  56. package/dist/constants/navigator-certificate-nominals-by-country.js +1 -0
  57. package/dist/dynamic-resource/create-dynamic-resource.dto.d.ts +8 -1
  58. package/dist/dynamic-resource/create-dynamic-resource.dto.js +13 -0
  59. package/dist/openapi/certificates-v2/openapi-certificate-design.ro.d.ts +1 -0
  60. package/dist/openapi/certificates-v2/openapi-certificate-design.ro.js +4 -0
  61. package/dist/openapi/certificates-v2/openapi-certificates-shop.ro.d.ts +2 -0
  62. package/dist/openapi/certificates-v2/openapi-certificates-shop.ro.js +5 -0
  63. package/dist/openapi/order-groups/openapi-batch-create-preorder.dto.d.ts +7 -0
  64. package/dist/openapi/order-groups/openapi-batch-create-preorder.dto.js +6 -0
  65. package/dist/openapi/shared/openapi-order-upselling.ro.d.ts +1 -0
  66. package/dist/openapi/shared/openapi-order-upselling.ro.js +4 -0
  67. package/dist/openapi/widget/openapi-widget-info.ro.d.ts +4 -0
  68. package/dist/openapi/widget/openapi-widget-info.ro.js +16 -0
  69. package/dist/order/order-cancel-preview.ro.d.ts +6 -0
  70. package/dist/order/order.ro.d.ts +9 -0
  71. package/dist/order/order.ro.js +29 -1
  72. package/dist/packages/book-package.dto.d.ts +23 -0
  73. package/dist/packages/book-package.dto.js +110 -0
  74. package/dist/packages/create-package.dto.d.ts +41 -4
  75. package/dist/packages/create-package.dto.js +170 -10
  76. package/dist/packages/package-availability.dto.d.ts +13 -0
  77. package/dist/packages/package-availability.dto.js +54 -0
  78. package/dist/packages/package-availability.ro.d.ts +36 -0
  79. package/dist/packages/package-availability.ro.js +113 -0
  80. package/dist/packages/package-cancel-scope.enum.d.ts +6 -0
  81. package/dist/packages/package-cancel-scope.enum.js +10 -0
  82. package/dist/packages/package-capacity-model.enum.d.ts +6 -0
  83. package/dist/packages/package-capacity-model.enum.js +10 -0
  84. package/dist/packages/package-position-kind.enum.d.ts +6 -0
  85. package/dist/packages/package-position-kind.enum.js +10 -0
  86. package/dist/packages/package-position-selection.enum.d.ts +8 -0
  87. package/dist/packages/package-position-selection.enum.js +12 -0
  88. package/dist/packages/package-position.dto.d.ts +35 -0
  89. package/dist/packages/package-position.dto.js +102 -0
  90. package/dist/packages/package-split-mode.enum.d.ts +6 -0
  91. package/dist/packages/package-split-mode.enum.js +10 -0
  92. package/dist/packages/package-timing-mode.enum.d.ts +8 -0
  93. package/dist/packages/package-timing-mode.enum.js +12 -0
  94. package/dist/packages/package.ro.d.ts +35 -3
  95. package/dist/packages/package.ro.js +113 -3
  96. package/dist/profile/profile.ro.d.ts +9 -0
  97. package/dist/profile/profile.ro.js +20 -0
  98. package/dist/profile/update-current.dto.d.ts +4 -0
  99. package/dist/profile/update-current.dto.js +20 -0
  100. package/dist/questroom/create-questroom-resource.dto.d.ts +12 -0
  101. package/dist/questroom/create-questroom-resource.dto.js +13 -0
  102. package/dist/questroom/questroom-resource.ro.d.ts +4 -0
  103. package/dist/questroom/questroom-resource.ro.js +8 -0
  104. package/dist/role/create-role.dto.d.ts +1 -0
  105. package/dist/role/create-role.dto.js +6 -0
  106. package/dist/role/role.ro.d.ts +1 -0
  107. package/dist/role/role.ro.js +4 -0
  108. package/dist/shared/enum/countries.enum.d.ts +2 -1
  109. package/dist/shared/enum/countries.enum.js +1 -0
  110. package/dist/shared/enum/languages.enum.d.ts +2 -1
  111. package/dist/shared/enum/languages.enum.js +1 -0
  112. package/dist/shared/enum/namespaces.enum.d.ts +2 -1
  113. package/dist/shared/enum/namespaces.enum.js +1 -0
  114. package/dist/shared/language-to-country.js +1 -0
  115. package/dist/shared/timezone.enum.d.ts +1 -0
  116. package/dist/shared/timezone.enum.js +1 -0
  117. package/dist/slot/bulk-update-slots.dto.d.ts +8 -0
  118. package/dist/slot/bulk-update-slots.dto.js +45 -0
  119. package/dist/survey/mint-survey-link.dto.d.ts +5 -0
  120. package/dist/survey/mint-survey-link.dto.js +6 -0
  121. package/dist/survey/operator-submit-survey.dto.d.ts +6 -0
  122. package/dist/survey/operator-submit-survey.dto.js +6 -0
  123. package/dist/survey/survey-template.ro.d.ts +6 -0
  124. package/dist/survey/survey-template.ro.js +4 -0
  125. package/dist/survey/update-survey-template.dto.d.ts +5 -0
  126. package/dist/survey/update-survey-template.dto.js +7 -0
  127. package/dist/tariff/create-tariff.dto.d.ts +6 -0
  128. package/dist/tariff/create-tariff.dto.js +6 -0
  129. package/dist/tariff/tariff-light.ro.d.ts +1 -0
  130. package/dist/tariff/tariff-light.ro.js +4 -0
  131. package/dist/tsconfig.build.tsbuildinfo +1 -1
  132. package/dist/upselling/create-upselling.dto.d.ts +1 -0
  133. package/dist/upselling/create-upselling.dto.js +6 -0
  134. package/dist/upselling/upselling.ro.d.ts +1 -0
  135. package/dist/upselling/upselling.ro.js +4 -0
  136. package/dist/widget/create-widget.dto.d.ts +2 -0
  137. package/dist/widget/create-widget.dto.js +10 -0
  138. package/dist/widget/widget.ro.d.ts +3 -0
  139. package/package.json +2 -2
  140. package/dist/constants/ready-countries.d.ts +0 -2
  141. package/dist/constants/ready-countries.js +0 -5
@@ -48,6 +48,19 @@ __decorate([
48
48
  (0, class_transformer_1.Expose)(),
49
49
  __metadata("design:type", Number)
50
50
  ], CreateDynamicResourceDto.prototype, "amount", void 0);
51
+ __decorate([
52
+ (0, class_validator_1.IsOptional)(),
53
+ (0, class_validator_1.IsPositive)(),
54
+ (0, class_validator_1.IsInt)(),
55
+ (0, class_transformer_1.Expose)(),
56
+ __metadata("design:type", Number)
57
+ ], CreateDynamicResourceDto.prototype, "unitSize", void 0);
58
+ __decorate([
59
+ (0, class_validator_1.IsOptional)(),
60
+ (0, class_validator_1.IsBoolean)(),
61
+ (0, class_transformer_1.Expose)(),
62
+ __metadata("design:type", Boolean)
63
+ ], CreateDynamicResourceDto.prototype, "poolable", void 0);
51
64
  __decorate([
52
65
  (0, class_validator_1.IsOptional)(),
53
66
  (0, class_transformer_1.Expose)(),
@@ -5,6 +5,7 @@ export declare class OpenapiCertificateDesignRO {
5
5
  description: string;
6
6
  availableEmail: boolean;
7
7
  availablePhysical: boolean;
8
+ availablePickup: boolean;
8
9
  pdfLink: string | null;
9
10
  packagePrice: number;
10
11
  deliveryPrice: number;
@@ -38,6 +38,10 @@ __decorate([
38
38
  (0, class_transformer_1.Expose)(),
39
39
  __metadata("design:type", Boolean)
40
40
  ], OpenapiCertificateDesignRO.prototype, "availablePhysical", void 0);
41
+ __decorate([
42
+ (0, class_transformer_1.Expose)(),
43
+ __metadata("design:type", Boolean)
44
+ ], OpenapiCertificateDesignRO.prototype, "availablePickup", void 0);
41
45
  __decorate([
42
46
  (0, class_transformer_1.Expose)(),
43
47
  __metadata("design:type", String)
@@ -1,3 +1,4 @@
1
+ import { CertificateShopFlowOrderEnum } from '../../certificate-v2/enum/certificate-shop-flow-order.enum';
1
2
  import { OpenapiCertificateDesignRO } from './openapi-certificate-design.ro';
2
3
  import { OpenapiCertificateNominalRO } from './openapi-certificate-nominal.ro';
3
4
  export declare class OpenapiCertificateSettingsRO {
@@ -9,6 +10,7 @@ export declare class OpenapiCertificateSettingsRO {
9
10
  pickupAvailable: boolean;
10
11
  pickupInfo: string;
11
12
  deliveryInfo: string;
13
+ flowOrder: CertificateShopFlowOrderEnum;
12
14
  shopTitle: string;
13
15
  shopSubtitle: string;
14
16
  }
@@ -11,6 +11,7 @@ var __metadata = (this && this.__metadata) || function (k, v) {
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.OpenapiCertificatesShopRO = exports.OpenapiCertificateSettingsRO = void 0;
13
13
  const class_transformer_1 = require("class-transformer");
14
+ const certificate_shop_flow_order_enum_1 = require("../../certificate-v2/enum/certificate-shop-flow-order.enum");
14
15
  const openapi_certificate_design_ro_1 = require("./openapi-certificate-design.ro");
15
16
  const openapi_certificate_nominal_ro_1 = require("./openapi-certificate-nominal.ro");
16
17
  class OpenapiCertificateSettingsRO {
@@ -48,6 +49,10 @@ __decorate([
48
49
  (0, class_transformer_1.Expose)(),
49
50
  __metadata("design:type", String)
50
51
  ], OpenapiCertificateSettingsRO.prototype, "deliveryInfo", void 0);
52
+ __decorate([
53
+ (0, class_transformer_1.Expose)(),
54
+ __metadata("design:type", String)
55
+ ], OpenapiCertificateSettingsRO.prototype, "flowOrder", void 0);
51
56
  __decorate([
52
57
  (0, class_transformer_1.Expose)(),
53
58
  __metadata("design:type", String)
@@ -23,4 +23,11 @@ import { OpenapiCreatePreorderDto } from '../orders/openapi-create-preorder.dto'
23
23
  */
24
24
  export declare class OpenapiBatchCreatePreorderDto {
25
25
  items: OpenapiCreatePreorderDto[];
26
+ /**
27
+ * Если группа собирается как пакетное предложение — id пакета. Бэкенд
28
+ * после сборки группы докладывает group-level пакетную скидку
29
+ * (см. PackageBookingService.applyDiscountToGroup). Без него batch
30
+ * работает как обычная мульти-бронь.
31
+ */
32
+ packageId?: number;
26
33
  }
@@ -45,3 +45,9 @@ __decorate([
45
45
  (0, class_transformer_1.Expose)(),
46
46
  __metadata("design:type", Array)
47
47
  ], OpenapiBatchCreatePreorderDto.prototype, "items", void 0);
48
+ __decorate([
49
+ (0, class_validator_1.IsOptional)(),
50
+ (0, class_validator_1.IsInt)(),
51
+ (0, class_transformer_1.Expose)(),
52
+ __metadata("design:type", Number)
53
+ ], OpenapiBatchCreatePreorderDto.prototype, "packageId", void 0);
@@ -6,4 +6,5 @@ export declare class OpenapiOrderUpsellingRO {
6
6
  upsellingId: string;
7
7
  count: number;
8
8
  clientCanRemove: boolean;
9
+ nonRefundable: boolean;
9
10
  }
@@ -42,3 +42,7 @@ __decorate([
42
42
  (0, class_transformer_1.Expose)(),
43
43
  __metadata("design:type", Boolean)
44
44
  ], OpenapiOrderUpsellingRO.prototype, "clientCanRemove", void 0);
45
+ __decorate([
46
+ (0, class_transformer_1.Expose)(),
47
+ __metadata("design:type", Boolean)
48
+ ], OpenapiOrderUpsellingRO.prototype, "nonRefundable", void 0);
@@ -78,6 +78,10 @@ export declare class OpenapiWidgetInfoRO {
78
78
  fbPixelEnabled?: boolean;
79
79
  consentMode?: WidgetConsentModeEnum;
80
80
  fbPixelId?: string;
81
+ tiktokPixelEnabled?: boolean;
82
+ tiktokPixelId?: string;
83
+ snapPixelEnabled?: boolean;
84
+ snapPixelId?: string;
81
85
  customization: Customization;
82
86
  mailchimp?: string | Mailchimp;
83
87
  daysAhead?: number;
@@ -238,6 +238,22 @@ __decorate([
238
238
  (0, class_transformer_1.Expose)(),
239
239
  __metadata("design:type", String)
240
240
  ], OpenapiWidgetInfoRO.prototype, "fbPixelId", void 0);
241
+ __decorate([
242
+ (0, class_transformer_1.Expose)(),
243
+ __metadata("design:type", Boolean)
244
+ ], OpenapiWidgetInfoRO.prototype, "tiktokPixelEnabled", void 0);
245
+ __decorate([
246
+ (0, class_transformer_1.Expose)(),
247
+ __metadata("design:type", String)
248
+ ], OpenapiWidgetInfoRO.prototype, "tiktokPixelId", void 0);
249
+ __decorate([
250
+ (0, class_transformer_1.Expose)(),
251
+ __metadata("design:type", Boolean)
252
+ ], OpenapiWidgetInfoRO.prototype, "snapPixelEnabled", void 0);
253
+ __decorate([
254
+ (0, class_transformer_1.Expose)(),
255
+ __metadata("design:type", String)
256
+ ], OpenapiWidgetInfoRO.prototype, "snapPixelId", void 0);
241
257
  __decorate([
242
258
  (0, class_transformer_1.Expose)(),
243
259
  (0, class_transformer_1.Type)(() => Customization),
@@ -3,6 +3,12 @@ export declare class OrderCancelPreviewRo {
3
3
  returnAmount: number;
4
4
  chargeAmount: number;
5
5
  allowedCancelation: boolean;
6
+ /**
7
+ * Стоимость невозвратных допуслуг (напр. страховка от отмены), которая
8
+ * удержана из суммы к возврату. Показывается оператору/клиенту как
9
+ * пояснение к уменьшенному `returnAmount`.
10
+ */
11
+ nonRefundableAmount: number;
6
12
  /** Значение `FineDescriptions` для ключа i18n `cancelationReason.*` */
7
13
  type: string;
8
14
  }
@@ -54,12 +54,20 @@ export declare class Discounts extends RO {
54
54
  amount: number;
55
55
  userId: number;
56
56
  }
57
+ export declare class PromocodeIssuer {
58
+ id: number;
59
+ title: string;
60
+ slug: string;
61
+ }
57
62
  export declare class Promocodes extends RO {
58
63
  amount: number;
59
64
  canUseWithOtherPromocodes: boolean;
60
65
  code: string;
61
66
  userId: number;
62
67
  clientDescription?: string;
68
+ /** Компания, выпустившая промокод. Отличается от компании заказа при коалиции. */
69
+ issuerProfileId?: number;
70
+ issuer?: PromocodeIssuer;
63
71
  }
64
72
  declare class Upsellings extends RO {
65
73
  title: string;
@@ -67,6 +75,7 @@ declare class Upsellings extends RO {
67
75
  amount: number;
68
76
  userId: number;
69
77
  count: number;
78
+ nonRefundable: boolean;
70
79
  }
71
80
  declare class Participant {
72
81
  id: number;
@@ -9,7 +9,7 @@ var __metadata = (this && this.__metadata) || function (k, v) {
9
9
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.OrderRO = exports.Transactions = exports.Promocodes = exports.Discounts = exports.Certificates = exports.Utm = void 0;
12
+ exports.OrderRO = exports.Transactions = exports.Promocodes = exports.PromocodeIssuer = exports.Discounts = exports.Certificates = exports.Utm = void 0;
13
13
  /* eslint-disable max-classes-per-file */
14
14
  const class_transformer_1 = require("class-transformer");
15
15
  const class_validator_1 = require("class-validator");
@@ -147,6 +147,21 @@ __decorate([
147
147
  (0, class_transformer_1.Expose)(),
148
148
  __metadata("design:type", Number)
149
149
  ], Discounts.prototype, "userId", void 0);
150
+ class PromocodeIssuer {
151
+ }
152
+ exports.PromocodeIssuer = PromocodeIssuer;
153
+ __decorate([
154
+ (0, class_transformer_1.Expose)(),
155
+ __metadata("design:type", Number)
156
+ ], PromocodeIssuer.prototype, "id", void 0);
157
+ __decorate([
158
+ (0, class_transformer_1.Expose)(),
159
+ __metadata("design:type", String)
160
+ ], PromocodeIssuer.prototype, "title", void 0);
161
+ __decorate([
162
+ (0, class_transformer_1.Expose)(),
163
+ __metadata("design:type", String)
164
+ ], PromocodeIssuer.prototype, "slug", void 0);
150
165
  class Promocodes extends ro_class_1.RO {
151
166
  }
152
167
  exports.Promocodes = Promocodes;
@@ -170,6 +185,15 @@ __decorate([
170
185
  (0, class_transformer_1.Expose)(),
171
186
  __metadata("design:type", String)
172
187
  ], Promocodes.prototype, "clientDescription", void 0);
188
+ __decorate([
189
+ (0, class_transformer_1.Expose)(),
190
+ __metadata("design:type", Number)
191
+ ], Promocodes.prototype, "issuerProfileId", void 0);
192
+ __decorate([
193
+ (0, class_transformer_1.Expose)(),
194
+ (0, class_transformer_1.Type)(() => PromocodeIssuer),
195
+ __metadata("design:type", PromocodeIssuer)
196
+ ], Promocodes.prototype, "issuer", void 0);
173
197
  class Upsellings extends ro_class_1.RO {
174
198
  }
175
199
  __decorate([
@@ -192,6 +216,10 @@ __decorate([
192
216
  (0, class_transformer_1.Expose)(),
193
217
  __metadata("design:type", Number)
194
218
  ], Upsellings.prototype, "count", void 0);
219
+ __decorate([
220
+ (0, class_transformer_1.Expose)(),
221
+ __metadata("design:type", Boolean)
222
+ ], Upsellings.prototype, "nonRefundable", void 0);
195
223
  class Participant {
196
224
  }
197
225
  __decorate([
@@ -0,0 +1,23 @@
1
+ /** Выбранный клиентом слот под конкретную позицию пакета. */
2
+ export declare class BookPackageSelectionDto {
3
+ positionId: string;
4
+ questroomId: number;
5
+ slotId: number;
6
+ date: string;
7
+ start: string;
8
+ tariffId: number;
9
+ players: number;
10
+ children: number;
11
+ /** Длительность выбранного флекс-варианта (минуты), опционально. */
12
+ duration?: number;
13
+ }
14
+ export declare class BookPackageDto {
15
+ clientId: number;
16
+ selections: BookPackageSelectionDto[];
17
+ /** Апселлы пакета, которые клиент оставил (positionId → добавить к 1-му заказу). */
18
+ keptUpsellingPositionIds?: string[];
19
+ language?: string;
20
+ comment?: string;
21
+ /** hold текущей widget-сессии (для идемпотентности preorder). */
22
+ previousHoldId?: string;
23
+ }
@@ -0,0 +1,110 @@
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.BookPackageDto = exports.BookPackageSelectionDto = void 0;
13
+ const class_transformer_1 = require("class-transformer");
14
+ const class_validator_1 = require("class-validator");
15
+ /** Выбранный клиентом слот под конкретную позицию пакета. */
16
+ class BookPackageSelectionDto {
17
+ }
18
+ exports.BookPackageSelectionDto = BookPackageSelectionDto;
19
+ __decorate([
20
+ (0, class_validator_1.IsString)(),
21
+ (0, class_transformer_1.Expose)(),
22
+ __metadata("design:type", String)
23
+ ], BookPackageSelectionDto.prototype, "positionId", void 0);
24
+ __decorate([
25
+ (0, class_validator_1.IsInt)(),
26
+ (0, class_transformer_1.Expose)(),
27
+ __metadata("design:type", Number)
28
+ ], BookPackageSelectionDto.prototype, "questroomId", void 0);
29
+ __decorate([
30
+ (0, class_validator_1.IsInt)(),
31
+ (0, class_transformer_1.Expose)(),
32
+ __metadata("design:type", Number)
33
+ ], BookPackageSelectionDto.prototype, "slotId", void 0);
34
+ __decorate([
35
+ (0, class_validator_1.IsString)(),
36
+ (0, class_transformer_1.Expose)(),
37
+ __metadata("design:type", String)
38
+ ], BookPackageSelectionDto.prototype, "date", void 0);
39
+ __decorate([
40
+ (0, class_validator_1.IsString)(),
41
+ (0, class_transformer_1.Expose)(),
42
+ __metadata("design:type", String)
43
+ ], BookPackageSelectionDto.prototype, "start", void 0);
44
+ __decorate([
45
+ (0, class_validator_1.IsInt)(),
46
+ (0, class_transformer_1.Expose)(),
47
+ __metadata("design:type", Number)
48
+ ], BookPackageSelectionDto.prototype, "tariffId", void 0);
49
+ __decorate([
50
+ (0, class_validator_1.IsInt)(),
51
+ (0, class_validator_1.Min)(0),
52
+ (0, class_transformer_1.Transform)(({ value }) => (value === undefined || value === null ? 0 : +value)),
53
+ (0, class_transformer_1.Expose)(),
54
+ __metadata("design:type", Number)
55
+ ], BookPackageSelectionDto.prototype, "players", void 0);
56
+ __decorate([
57
+ (0, class_validator_1.IsOptional)(),
58
+ (0, class_validator_1.IsInt)(),
59
+ (0, class_validator_1.Min)(0),
60
+ (0, class_transformer_1.Transform)(({ value }) => (value === undefined || value === null ? 0 : +value)),
61
+ (0, class_transformer_1.Expose)(),
62
+ __metadata("design:type", Number)
63
+ ], BookPackageSelectionDto.prototype, "children", void 0);
64
+ __decorate([
65
+ (0, class_validator_1.IsOptional)(),
66
+ (0, class_validator_1.IsInt)(),
67
+ (0, class_transformer_1.Expose)(),
68
+ __metadata("design:type", Number)
69
+ ], BookPackageSelectionDto.prototype, "duration", void 0);
70
+ class BookPackageDto {
71
+ }
72
+ exports.BookPackageDto = BookPackageDto;
73
+ __decorate([
74
+ (0, class_validator_1.IsInt)(),
75
+ (0, class_transformer_1.Expose)(),
76
+ __metadata("design:type", Number)
77
+ ], BookPackageDto.prototype, "clientId", void 0);
78
+ __decorate([
79
+ (0, class_validator_1.IsArray)(),
80
+ (0, class_validator_1.ArrayNotEmpty)(),
81
+ (0, class_validator_1.ValidateNested)({ each: true }),
82
+ (0, class_transformer_1.Type)(() => BookPackageSelectionDto),
83
+ (0, class_transformer_1.Expose)(),
84
+ __metadata("design:type", Array)
85
+ ], BookPackageDto.prototype, "selections", void 0);
86
+ __decorate([
87
+ (0, class_validator_1.IsOptional)(),
88
+ (0, class_validator_1.IsArray)(),
89
+ (0, class_validator_1.IsString)({ each: true }),
90
+ (0, class_transformer_1.Expose)(),
91
+ __metadata("design:type", Array)
92
+ ], BookPackageDto.prototype, "keptUpsellingPositionIds", void 0);
93
+ __decorate([
94
+ (0, class_validator_1.IsOptional)(),
95
+ (0, class_validator_1.IsString)(),
96
+ (0, class_transformer_1.Expose)(),
97
+ __metadata("design:type", String)
98
+ ], BookPackageDto.prototype, "language", void 0);
99
+ __decorate([
100
+ (0, class_validator_1.IsOptional)(),
101
+ (0, class_validator_1.IsString)(),
102
+ (0, class_transformer_1.Expose)(),
103
+ __metadata("design:type", String)
104
+ ], BookPackageDto.prototype, "comment", void 0);
105
+ __decorate([
106
+ (0, class_validator_1.IsOptional)(),
107
+ (0, class_validator_1.IsString)(),
108
+ (0, class_transformer_1.Expose)(),
109
+ __metadata("design:type", String)
110
+ ], BookPackageDto.prototype, "previousHoldId", void 0);
@@ -1,9 +1,46 @@
1
+ import { PackageCancelScopeEnum } from './package-cancel-scope.enum';
2
+ import { PackageCapacityModelEnum } from './package-capacity-model.enum';
1
3
  import { PackageDiscountTypeEnum } from './package-discount-type.enum';
4
+ import { PackagePositionDto } from './package-position.dto';
5
+ import { PackageSplitModeEnum } from './package-split-mode.enum';
6
+ import { PackageTimingModeEnum } from './package-timing-mode.enum';
2
7
  export declare class CreatePackageDto {
3
- questroomsIds: number[];
8
+ title: string;
9
+ clientTitle?: string;
10
+ clientDescription?: string;
11
+ photo?: string;
12
+ color?: string;
13
+ sortPosition: number;
14
+ availableInWidget: boolean;
15
+ saved: boolean;
16
+ /** Диапазон действия акции (ISO date), null — бессрочно. */
17
+ activeFrom?: string | null;
18
+ activeTo?: string | null;
19
+ availableDays: number[];
20
+ availableFrom: string;
21
+ availableTo: string;
22
+ positions: PackagePositionDto[];
23
+ timingMode: PackageTimingModeEnum;
24
+ /** Мин. зазор между позициями (минуты) для sequential. */
25
+ gapMin: number;
26
+ /** Макс. зазор между позициями (минуты) для sequential. */
27
+ gapMax: number;
28
+ allowDifferentDays: boolean;
29
+ /** Для parallel: требовать строго одинаковый старт (иначе — пересечение). */
30
+ requireSameStart: boolean;
31
+ sameLocation: boolean;
32
+ capacityModel: PackageCapacityModelEnum;
33
+ splitMode: PackageSplitModeEnum;
34
+ /** Общий мин./макс. игроков на пакет (для capacityModel=shared). */
35
+ playersMin?: number | null;
36
+ playersMax?: number | null;
4
37
  discountType: PackageDiscountTypeEnum;
5
38
  discountAmount: number;
6
- tariffId: number;
7
- escapeRoomsCount: number;
8
- physicalRoom: boolean;
39
+ /** Тираж пакета (null — без лимита). */
40
+ salesLimit?: number | null;
41
+ /** Лимит покупок на одного клиента (null — без лимита). */
42
+ perClientLimit?: number | null;
43
+ combinableWithPromocodes: boolean;
44
+ combinableWithCertificates: boolean;
45
+ cancelScope: PackageCancelScopeEnum;
9
46
  }
@@ -12,20 +12,167 @@ Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.CreatePackageDto = void 0;
13
13
  const class_transformer_1 = require("class-transformer");
14
14
  const class_validator_1 = require("class-validator");
15
+ const is_not_blank_1 = require("../shared/is-not-blank");
16
+ const package_cancel_scope_enum_1 = require("./package-cancel-scope.enum");
17
+ const package_capacity_model_enum_1 = require("./package-capacity-model.enum");
15
18
  const package_discount_type_enum_1 = require("./package-discount-type.enum");
19
+ const package_position_dto_1 = require("./package-position.dto");
20
+ const package_split_mode_enum_1 = require("./package-split-mode.enum");
21
+ const package_timing_mode_enum_1 = require("./package-timing-mode.enum");
16
22
  class CreatePackageDto {
17
23
  }
18
24
  exports.CreatePackageDto = CreatePackageDto;
25
+ __decorate([
26
+ (0, is_not_blank_1.IsNotBlank)(),
27
+ (0, class_transformer_1.Expose)(),
28
+ __metadata("design:type", String)
29
+ ], CreatePackageDto.prototype, "title", void 0);
30
+ __decorate([
31
+ (0, class_validator_1.IsOptional)(),
32
+ (0, class_validator_1.IsString)(),
33
+ (0, class_transformer_1.Expose)(),
34
+ __metadata("design:type", String)
35
+ ], CreatePackageDto.prototype, "clientTitle", void 0);
36
+ __decorate([
37
+ (0, class_validator_1.IsOptional)(),
38
+ (0, class_validator_1.IsString)(),
39
+ (0, class_transformer_1.Expose)(),
40
+ __metadata("design:type", String)
41
+ ], CreatePackageDto.prototype, "clientDescription", void 0);
42
+ __decorate([
43
+ (0, class_validator_1.IsOptional)(),
44
+ (0, class_validator_1.IsString)(),
45
+ (0, class_transformer_1.Expose)(),
46
+ __metadata("design:type", String)
47
+ ], CreatePackageDto.prototype, "photo", void 0);
48
+ __decorate([
49
+ (0, class_validator_1.IsOptional)(),
50
+ (0, class_validator_1.IsString)(),
51
+ (0, class_transformer_1.Expose)(),
52
+ __metadata("design:type", String)
53
+ ], CreatePackageDto.prototype, "color", void 0);
54
+ __decorate([
55
+ (0, class_validator_1.IsInt)(),
56
+ (0, class_transformer_1.Transform)(({ value }) => (value === undefined || value === null ? 0 : +value)),
57
+ (0, class_transformer_1.Expose)(),
58
+ __metadata("design:type", Number)
59
+ ], CreatePackageDto.prototype, "sortPosition", void 0);
60
+ __decorate([
61
+ (0, class_validator_1.IsBoolean)(),
62
+ (0, class_transformer_1.Transform)(({ value }) => value !== null && value !== void 0 ? value : false),
63
+ (0, class_transformer_1.Expose)(),
64
+ __metadata("design:type", Boolean)
65
+ ], CreatePackageDto.prototype, "availableInWidget", void 0);
66
+ __decorate([
67
+ (0, class_validator_1.IsBoolean)(),
68
+ (0, class_transformer_1.Transform)(({ value }) => (value === undefined ? true : value)),
69
+ (0, class_transformer_1.Expose)(),
70
+ __metadata("design:type", Boolean)
71
+ ], CreatePackageDto.prototype, "saved", void 0);
72
+ __decorate([
73
+ (0, class_validator_1.IsOptional)(),
74
+ (0, class_validator_1.IsString)(),
75
+ (0, class_transformer_1.Expose)(),
76
+ __metadata("design:type", String)
77
+ ], CreatePackageDto.prototype, "activeFrom", void 0);
78
+ __decorate([
79
+ (0, class_validator_1.IsOptional)(),
80
+ (0, class_validator_1.IsString)(),
81
+ (0, class_transformer_1.Expose)(),
82
+ __metadata("design:type", String)
83
+ ], CreatePackageDto.prototype, "activeTo", void 0);
19
84
  __decorate([
20
85
  (0, class_validator_1.IsArray)(),
21
86
  (0, class_validator_1.ArrayNotEmpty)(),
22
- (0, class_validator_1.IsInt)({ each: true }),
23
- (0, class_transformer_1.Transform)(({ value }) => (Array.isArray(value) ? value.map((item) => +item) : [])),
87
+ (0, class_transformer_1.Transform)(({ value }) => ((value === null || value === void 0 ? void 0 : value.length) ? value : [0, 1, 2, 3, 4, 5, 6])),
24
88
  (0, class_transformer_1.Expose)(),
25
89
  __metadata("design:type", Array)
26
- ], CreatePackageDto.prototype, "questroomsIds", void 0);
90
+ ], CreatePackageDto.prototype, "availableDays", void 0);
91
+ __decorate([
92
+ (0, is_not_blank_1.IsNotBlank)(),
93
+ (0, class_transformer_1.Transform)(({ value }) => value || '00:00'),
94
+ (0, class_transformer_1.Expose)(),
95
+ __metadata("design:type", String)
96
+ ], CreatePackageDto.prototype, "availableFrom", void 0);
97
+ __decorate([
98
+ (0, is_not_blank_1.IsNotBlank)(),
99
+ (0, class_transformer_1.Transform)(({ value }) => value || '23:55'),
100
+ (0, class_transformer_1.Expose)(),
101
+ __metadata("design:type", String)
102
+ ], CreatePackageDto.prototype, "availableTo", void 0);
103
+ __decorate([
104
+ (0, class_validator_1.IsArray)(),
105
+ (0, class_validator_1.ArrayNotEmpty)(),
106
+ (0, class_validator_1.ValidateNested)({ each: true }),
107
+ (0, class_transformer_1.Type)(() => package_position_dto_1.PackagePositionDto),
108
+ (0, class_transformer_1.Expose)(),
109
+ __metadata("design:type", Array)
110
+ ], CreatePackageDto.prototype, "positions", void 0);
111
+ __decorate([
112
+ (0, class_validator_1.IsEnum)(package_timing_mode_enum_1.PackageTimingModeEnum),
113
+ (0, class_transformer_1.Transform)(({ value }) => value !== null && value !== void 0 ? value : package_timing_mode_enum_1.PackageTimingModeEnum.INDEPENDENT),
114
+ (0, class_transformer_1.Expose)(),
115
+ __metadata("design:type", String)
116
+ ], CreatePackageDto.prototype, "timingMode", void 0);
117
+ __decorate([
118
+ (0, class_validator_1.IsInt)(),
119
+ (0, class_validator_1.Min)(0),
120
+ (0, class_transformer_1.Transform)(({ value }) => (value === undefined || value === null ? 0 : +value)),
121
+ (0, class_transformer_1.Expose)(),
122
+ __metadata("design:type", Number)
123
+ ], CreatePackageDto.prototype, "gapMin", void 0);
124
+ __decorate([
125
+ (0, class_validator_1.IsInt)(),
126
+ (0, class_validator_1.Min)(0),
127
+ (0, class_transformer_1.Transform)(({ value }) => (value === undefined || value === null ? 60 : +value)),
128
+ (0, class_transformer_1.Expose)(),
129
+ __metadata("design:type", Number)
130
+ ], CreatePackageDto.prototype, "gapMax", void 0);
131
+ __decorate([
132
+ (0, class_validator_1.IsBoolean)(),
133
+ (0, class_transformer_1.Transform)(({ value }) => value !== null && value !== void 0 ? value : false),
134
+ (0, class_transformer_1.Expose)(),
135
+ __metadata("design:type", Boolean)
136
+ ], CreatePackageDto.prototype, "allowDifferentDays", void 0);
137
+ __decorate([
138
+ (0, class_validator_1.IsBoolean)(),
139
+ (0, class_transformer_1.Transform)(({ value }) => value !== null && value !== void 0 ? value : false),
140
+ (0, class_transformer_1.Expose)(),
141
+ __metadata("design:type", Boolean)
142
+ ], CreatePackageDto.prototype, "requireSameStart", void 0);
143
+ __decorate([
144
+ (0, class_validator_1.IsBoolean)(),
145
+ (0, class_transformer_1.Transform)(({ value }) => value !== null && value !== void 0 ? value : false),
146
+ (0, class_transformer_1.Expose)(),
147
+ __metadata("design:type", Boolean)
148
+ ], CreatePackageDto.prototype, "sameLocation", void 0);
149
+ __decorate([
150
+ (0, class_validator_1.IsEnum)(package_capacity_model_enum_1.PackageCapacityModelEnum),
151
+ (0, class_transformer_1.Transform)(({ value }) => value !== null && value !== void 0 ? value : package_capacity_model_enum_1.PackageCapacityModelEnum.PER_POSITION),
152
+ (0, class_transformer_1.Expose)(),
153
+ __metadata("design:type", String)
154
+ ], CreatePackageDto.prototype, "capacityModel", void 0);
155
+ __decorate([
156
+ (0, class_validator_1.IsEnum)(package_split_mode_enum_1.PackageSplitModeEnum),
157
+ (0, class_transformer_1.Transform)(({ value }) => value !== null && value !== void 0 ? value : package_split_mode_enum_1.PackageSplitModeEnum.AUTO),
158
+ (0, class_transformer_1.Expose)(),
159
+ __metadata("design:type", String)
160
+ ], CreatePackageDto.prototype, "splitMode", void 0);
161
+ __decorate([
162
+ (0, class_validator_1.IsOptional)(),
163
+ (0, class_validator_1.IsInt)(),
164
+ (0, class_transformer_1.Expose)(),
165
+ __metadata("design:type", Number)
166
+ ], CreatePackageDto.prototype, "playersMin", void 0);
167
+ __decorate([
168
+ (0, class_validator_1.IsOptional)(),
169
+ (0, class_validator_1.IsInt)(),
170
+ (0, class_transformer_1.Expose)(),
171
+ __metadata("design:type", Number)
172
+ ], CreatePackageDto.prototype, "playersMax", void 0);
27
173
  __decorate([
28
174
  (0, class_validator_1.IsEnum)(package_discount_type_enum_1.PackageDiscountTypeEnum),
175
+ (0, class_transformer_1.Transform)(({ value }) => value !== null && value !== void 0 ? value : package_discount_type_enum_1.PackageDiscountTypeEnum.PERCENT),
29
176
  (0, class_transformer_1.Expose)(),
30
177
  __metadata("design:type", String)
31
178
  ], CreatePackageDto.prototype, "discountType", void 0);
@@ -38,21 +185,34 @@ __decorate([
38
185
  __metadata("design:type", Number)
39
186
  ], CreatePackageDto.prototype, "discountAmount", void 0);
40
187
  __decorate([
188
+ (0, class_validator_1.IsOptional)(),
41
189
  (0, class_validator_1.IsInt)(),
42
- (0, class_validator_1.Min)(1),
190
+ (0, class_validator_1.Min)(0),
43
191
  (0, class_transformer_1.Expose)(),
44
192
  __metadata("design:type", Number)
45
- ], CreatePackageDto.prototype, "tariffId", void 0);
193
+ ], CreatePackageDto.prototype, "salesLimit", void 0);
46
194
  __decorate([
195
+ (0, class_validator_1.IsOptional)(),
47
196
  (0, class_validator_1.IsInt)(),
48
- (0, class_validator_1.Min)(1),
49
- (0, class_transformer_1.Transform)(({ value }) => (value === undefined || value === null ? 1 : Number(value))),
197
+ (0, class_validator_1.Min)(0),
50
198
  (0, class_transformer_1.Expose)(),
51
199
  __metadata("design:type", Number)
52
- ], CreatePackageDto.prototype, "escapeRoomsCount", void 0);
200
+ ], CreatePackageDto.prototype, "perClientLimit", void 0);
53
201
  __decorate([
54
202
  (0, class_validator_1.IsBoolean)(),
55
- (0, class_transformer_1.Transform)(({ value }) => Boolean(value)),
203
+ (0, class_transformer_1.Transform)(({ value }) => value !== null && value !== void 0 ? value : false),
56
204
  (0, class_transformer_1.Expose)(),
57
205
  __metadata("design:type", Boolean)
58
- ], CreatePackageDto.prototype, "physicalRoom", void 0);
206
+ ], CreatePackageDto.prototype, "combinableWithPromocodes", void 0);
207
+ __decorate([
208
+ (0, class_validator_1.IsBoolean)(),
209
+ (0, class_transformer_1.Transform)(({ value }) => value !== null && value !== void 0 ? value : false),
210
+ (0, class_transformer_1.Expose)(),
211
+ __metadata("design:type", Boolean)
212
+ ], CreatePackageDto.prototype, "combinableWithCertificates", void 0);
213
+ __decorate([
214
+ (0, class_validator_1.IsEnum)(package_cancel_scope_enum_1.PackageCancelScopeEnum),
215
+ (0, class_transformer_1.Transform)(({ value }) => value !== null && value !== void 0 ? value : package_cancel_scope_enum_1.PackageCancelScopeEnum.WHOLE_ONLY),
216
+ (0, class_transformer_1.Expose)(),
217
+ __metadata("design:type", String)
218
+ ], CreatePackageDto.prototype, "cancelScope", void 0);
@@ -0,0 +1,13 @@
1
+ /** Явное распределение игроков по позициям (для splitMode=manual / perPosition). */
2
+ export declare class PackagePlayersByPositionDto {
3
+ positionId: string;
4
+ players: number;
5
+ }
6
+ export declare class PackageAvailabilityQueryDto {
7
+ /** Дата, на которую проверяем доступность (yyyy-MM-dd). */
8
+ date: string;
9
+ /** Общее число игроков (для capacityModel=shared). */
10
+ players?: number;
11
+ /** Игроки по позициям (для perPosition / ручного сплита). */
12
+ playersByPosition?: PackagePlayersByPositionDto[];
13
+ }