@escapenavigator/types 2.0.34 → 2.0.38

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 (173) hide show
  1. package/dist/admin/aggregator-order/create-aggregator-order.dto.d.ts +1 -0
  2. package/dist/agregator/agregator-questroom.ro.d.ts +2 -0
  3. package/dist/agregator/agregator-questroom.ro.js +5 -0
  4. package/dist/certificate-sale/certificate-sale.ro.d.ts +6 -0
  5. package/dist/certificate-sale/certificate-sale.ro.js +4 -0
  6. package/dist/certificate-uploaded/certificate-uploaded.ro.d.ts +1 -1
  7. package/dist/client/client.ro.d.ts +13 -0
  8. package/dist/client/client.ro.js +21 -0
  9. package/dist/constants/uploading/upload-bookeo-certificate-rows.js +2 -2
  10. package/dist/constants/uploading/upload-certificate-rows.js +1 -1
  11. package/dist/email-builder/email-content.dto.d.ts +26 -0
  12. package/dist/email-builder/email-content.dto.js +62 -0
  13. package/dist/email-builder/index.d.ts +81 -0
  14. package/dist/email-builder/index.js +89 -1
  15. package/dist/emails/index.d.ts +25 -2
  16. package/dist/location/create-location.dto.d.ts +2 -0
  17. package/dist/location/create-location.dto.js +7 -0
  18. package/dist/location/location-light.ro.d.ts +3 -1
  19. package/dist/location/location-light.ro.js +6 -1
  20. package/dist/location/update-location-for-admin.dto.d.ts +2 -0
  21. package/dist/location/update-location-for-admin.dto.js +7 -0
  22. package/dist/log/log-title.enum.d.ts +3 -0
  23. package/dist/log/log-title.enum.js +3 -0
  24. package/dist/loyalty/adjust-bonus.dto.d.ts +14 -0
  25. package/dist/loyalty/adjust-bonus.dto.js +35 -0
  26. package/dist/loyalty/assign-client-tier.dto.d.ts +9 -0
  27. package/dist/loyalty/assign-client-tier.dto.js +29 -0
  28. package/dist/loyalty/client-loyalty.ro.d.ts +30 -0
  29. package/dist/loyalty/client-loyalty.ro.js +71 -0
  30. package/dist/loyalty/enum/loyalty-bonus-type.enum.d.ts +13 -0
  31. package/dist/loyalty/enum/loyalty-bonus-type.enum.js +17 -0
  32. package/dist/loyalty/enum/loyalty-history-mode.enum.d.ts +18 -0
  33. package/dist/loyalty/enum/loyalty-history-mode.enum.js +22 -0
  34. package/dist/loyalty/enum/loyalty-metric.enum.d.ts +12 -0
  35. package/dist/loyalty/enum/loyalty-metric.enum.js +16 -0
  36. package/dist/loyalty/enum/loyalty-program-type.enum.d.ts +12 -0
  37. package/dist/loyalty/enum/loyalty-program-type.enum.js +16 -0
  38. package/dist/loyalty/enum/loyalty-stacking.enum.d.ts +14 -0
  39. package/dist/loyalty/enum/loyalty-stacking.enum.js +18 -0
  40. package/dist/loyalty/enum/loyalty-tier-color.enum.d.ts +16 -0
  41. package/dist/loyalty/enum/loyalty-tier-color.enum.js +20 -0
  42. package/dist/loyalty/enum/loyalty-tier-source.enum.d.ts +13 -0
  43. package/dist/loyalty/enum/loyalty-tier-source.enum.js +17 -0
  44. package/dist/loyalty/loyalty-bonus.ro.d.ts +20 -0
  45. package/dist/loyalty/loyalty-bonus.ro.js +55 -0
  46. package/dist/loyalty/loyalty-presets.d.ts +45 -0
  47. package/dist/loyalty/loyalty-presets.js +30 -0
  48. package/dist/loyalty/loyalty-preview.dto.d.ts +19 -0
  49. package/dist/loyalty/loyalty-preview.dto.js +64 -0
  50. package/dist/loyalty/loyalty-preview.ro.d.ts +20 -0
  51. package/dist/loyalty/loyalty-preview.ro.js +53 -0
  52. package/dist/loyalty/loyalty-settings.dto.d.ts +51 -0
  53. package/dist/loyalty/loyalty-settings.dto.js +103 -0
  54. package/dist/loyalty/loyalty-settings.ro.d.ts +33 -0
  55. package/dist/loyalty/loyalty-settings.ro.js +67 -0
  56. package/dist/loyalty/loyalty-tier.dto.d.ts +33 -0
  57. package/dist/loyalty/loyalty-tier.dto.js +69 -0
  58. package/dist/loyalty/loyalty-tier.ro.d.ts +12 -0
  59. package/dist/loyalty/loyalty-tier.ro.js +42 -0
  60. package/dist/loyalty/pay-with-bonus.dto.d.ts +10 -0
  61. package/dist/loyalty/pay-with-bonus.dto.js +36 -0
  62. package/dist/openapi/order-groups/openapi-batch-create-preorder.dto.d.ts +3 -3
  63. package/dist/openapi/orders/openapi-order.ro.d.ts +12 -0
  64. package/dist/openapi/orders/openapi-order.ro.js +8 -0
  65. package/dist/openapi/profiles/enum/openapi-certificate-status.enum.d.ts +29 -0
  66. package/dist/openapi/profiles/enum/openapi-certificate-status.enum.js +38 -0
  67. package/dist/openapi/profiles/openapi-annul-certificate.dto.d.ts +3 -0
  68. package/dist/openapi/profiles/openapi-annul-certificate.dto.js +29 -0
  69. package/dist/openapi/profiles/openapi-certificate.ro.d.ts +33 -0
  70. package/dist/openapi/profiles/openapi-certificate.ro.js +195 -0
  71. package/dist/openapi/profiles/openapi-create-certificate.dto.d.ts +24 -0
  72. package/dist/openapi/profiles/openapi-create-certificate.dto.js +208 -0
  73. package/dist/openapi/slots/openapi-widget-slot.ro.d.ts +3 -0
  74. package/dist/openapi/slots/openapi-widget-slot.ro.js +24 -2
  75. package/dist/openapi/upsellings/openapi-upselling.ro.d.ts +1 -0
  76. package/dist/openapi/upsellings/openapi-upselling.ro.js +4 -0
  77. package/dist/order/order.ro.d.ts +23 -1
  78. package/dist/order/order.ro.js +19 -0
  79. package/dist/order-discount/enum/order-discount-source.enum.d.ts +10 -0
  80. package/dist/order-discount/enum/order-discount-source.enum.js +14 -0
  81. package/dist/packages/book-package.dto.d.ts +3 -0
  82. package/dist/packages/book-package.dto.js +9 -0
  83. package/dist/packages/create-package.dto.d.ts +23 -0
  84. package/dist/packages/create-package.dto.js +81 -1
  85. package/dist/packages/package-addon.dto.d.ts +5 -0
  86. package/dist/packages/package-addon.dto.js +31 -0
  87. package/dist/packages/package-audience.enum.d.ts +6 -0
  88. package/dist/packages/package-audience.enum.js +10 -0
  89. package/dist/packages/package-feature.dto.d.ts +12 -0
  90. package/dist/packages/package-feature.dto.js +41 -0
  91. package/dist/packages/package-pricing-mode.enum.d.ts +14 -0
  92. package/dist/packages/package-pricing-mode.enum.js +18 -0
  93. package/dist/packages/package.ro.d.ts +14 -0
  94. package/dist/packages/package.ro.js +48 -0
  95. package/dist/profile/birthday-marketing/birthday-marketing.dto.d.ts +2 -2
  96. package/dist/profile/birthday-marketing/birthday-marketing.dto.js +3 -1
  97. package/dist/profile/company-ai-context.d.ts +2 -0
  98. package/dist/profile/cross-sale/cross-sale.dto.d.ts +2 -2
  99. package/dist/profile/cross-sale/cross-sale.dto.js +3 -1
  100. package/dist/profile/cross-sale/cross-sale.ro.d.ts +2 -2
  101. package/dist/profile/custom-client-booking-email/custom-client-booking-email.dto.d.ts +2 -2
  102. package/dist/profile/custom-client-booking-email/custom-client-booking-email.dto.js +3 -1
  103. package/dist/profile/custom-client-booking-email/custom-client-booking-email.ro.d.ts +2 -2
  104. package/dist/profile/marketing-automation/marketing-automation.dto.d.ts +2 -2
  105. package/dist/profile/marketing-automation/marketing-automation.dto.js +3 -1
  106. package/dist/profile/marketing-automation/marketing-automation.ro.d.ts +2 -2
  107. package/dist/profile/marketing-email/create-profile-marketing-email-campaign.dto.d.ts +14 -13
  108. package/dist/profile/marketing-email/create-profile-marketing-email-campaign.dto.js +19 -28
  109. package/dist/profile/marketing-email/preflight-issue.ro.d.ts +31 -1
  110. package/dist/profile/marketing-email/preflight-issue.ro.js +30 -0
  111. package/dist/profile/marketing-email/preview-campaign-v2.dto.d.ts +2 -2
  112. package/dist/profile/marketing-email/preview-campaign-v2.dto.js +2 -2
  113. package/dist/profile/marketing-email/preview-profile-marketing-segment.dto.d.ts +6 -0
  114. package/dist/profile/marketing-email/preview-profile-marketing-segment.dto.js +8 -0
  115. package/dist/profile/marketing-email/preview-profile-marketing-segment.ro.d.ts +6 -1
  116. package/dist/profile/marketing-email/preview-profile-marketing-segment.ro.js +9 -1
  117. package/dist/profile/marketing-email/profile-marketing-email-campaign.ro.d.ts +11 -2
  118. package/dist/profile/marketing-email/profile-marketing-email-campaign.ro.js +12 -0
  119. package/dist/profile/marketing-email/profile-marketing-email-recipient-status.enum.d.ts +6 -0
  120. package/dist/profile/marketing-email/profile-marketing-email-recipient-status.enum.js +6 -0
  121. package/dist/profile/marketing-email/test-send-email-v2.dto.d.ts +2 -2
  122. package/dist/profile/marketing-email/test-send-email-v2.dto.js +2 -2
  123. package/dist/profile/notification-chanel/notification-chanel-action.enum.d.ts +16 -1
  124. package/dist/profile/notification-chanel/notification-chanel-action.enum.js +21 -1
  125. package/dist/profile/notification-chanel/notification-chanel.ro.d.ts +5 -0
  126. package/dist/profile/notification-chanel/notification-chanel.ro.js +4 -0
  127. package/dist/profile/notification-chanel/test-notification-chanel.dto.d.ts +7 -2
  128. package/dist/profile/notification-chanel/test-notification-chanel.dto.js +7 -0
  129. package/dist/questroom/questroom-ai-context.d.ts +5 -0
  130. package/dist/questroom-scenario-email/create-questroom-scenario-email.dto.d.ts +2 -2
  131. package/dist/questroom-scenario-email/create-questroom-scenario-email.dto.js +3 -1
  132. package/dist/questroom-scenario-email/questroom-scenario-email.ro.d.ts +2 -2
  133. package/dist/shared/enum/availability.enum.d.ts +11 -0
  134. package/dist/shared/enum/availability.enum.js +15 -0
  135. package/dist/slot/bulk-update-slots.dto.d.ts +2 -0
  136. package/dist/slot/bulk-update-slots.dto.js +7 -0
  137. package/dist/slot/change-template-slots-form.dto.d.ts +3 -0
  138. package/dist/slot/change-template-slots-form.dto.js +13 -0
  139. package/dist/slot/create-slot-form.dto.d.ts +2 -0
  140. package/dist/slot/create-slot-form.dto.js +7 -0
  141. package/dist/slot/create-slot.dto.d.ts +2 -0
  142. package/dist/slot/create-slot.dto.js +7 -0
  143. package/dist/slot/daily-window-range.validator.d.ts +15 -0
  144. package/dist/slot/daily-window-range.validator.js +46 -0
  145. package/dist/slot/enum/slot-discount-type.enum.d.ts +15 -0
  146. package/dist/slot/enum/slot-discount-type.enum.js +19 -0
  147. package/dist/slot/slot-autocomplite-form.dto.d.ts +2 -0
  148. package/dist/slot/slot-autocomplite-form.dto.js +7 -0
  149. package/dist/slot/slot-discount-range.validator.d.ts +10 -0
  150. package/dist/slot/slot-discount-range.validator.js +36 -0
  151. package/dist/slot/slot.ro.d.ts +10 -0
  152. package/dist/slot/update-slot-upsellings-range.dto.d.ts +17 -0
  153. package/dist/slot/update-slot-upsellings-range.dto.js +68 -0
  154. package/dist/slot/update-slot.dto.d.ts +4 -0
  155. package/dist/slot/update-slot.dto.js +14 -0
  156. package/dist/slot-template/slot-template-element.d.ts +4 -0
  157. package/dist/slot-template/slot-template-element.js +9 -0
  158. package/dist/slot-template/slot-template-flex-rule.d.ts +8 -0
  159. package/dist/slot-template/slot-template-flex-rule.js +15 -2
  160. package/dist/tsconfig.build.tsbuildinfo +1 -1
  161. package/dist/upselling/create-upselling.dto.d.ts +5 -0
  162. package/dist/upselling/create-upselling.dto.js +8 -0
  163. package/dist/upselling/upselling.ro.d.ts +1 -0
  164. package/dist/upselling/upselling.ro.js +4 -0
  165. package/dist/user/crud/user.ro.d.ts +3 -0
  166. package/dist/user/crud/user.ro.js +11 -0
  167. package/dist/user/current/update-current-user-notifications.dto.d.ts +7 -0
  168. package/dist/user/current/update-current-user-notifications.dto.js +13 -0
  169. package/dist/user/enum/push-order-scope.enum.d.ts +15 -0
  170. package/dist/user/enum/push-order-scope.enum.js +19 -0
  171. package/dist/widget/enum/widget-type.enum.d.ts +3 -1
  172. package/dist/widget/enum/widget-type.enum.js +2 -0
  173. package/package.json +2 -2
@@ -1,4 +1,6 @@
1
1
  import { ClientRO } from '../client/client.ro';
2
+ import { LoyaltyBonusRO } from '../loyalty/loyalty-bonus.ro';
3
+ import { OrderDiscountSourceEnum } from '../order-discount/enum/order-discount-source.enum';
2
4
  import { OrderPenaltyTypeEnum } from '../order-penalty/enum/order-penalty-type.enum';
3
5
  import { OrderProductRO } from '../order-product/order-product.ro';
4
6
  import { PromocodeKindEnum } from '../promocode/emun/promocode-kind.enum';
@@ -66,6 +68,12 @@ export declare class Discounts extends RO {
66
68
  reason: string;
67
69
  amount: number;
68
70
  userId: number;
71
+ /**
72
+ * Ручная скидка администратора или автоматическая по статусу клиента.
73
+ * Необязательное: этот же класс описывает скидки на продаже
74
+ * сертификата, где источник один и колонки под него нет.
75
+ */
76
+ source?: OrderDiscountSourceEnum;
69
77
  }
70
78
  export declare class PromocodeIssuer {
71
79
  id: number;
@@ -205,12 +213,20 @@ export declare class OrderRO extends RO {
205
213
  toPay: number;
206
214
  /** Реально полученные деньги. v2: payed = cashReceived. */
207
215
  cashReceived: number;
208
- /** Сумма скидок (slotDiscount + ручные). v2: уже вычтено из total. */
216
+ /** Сумма скидок (slotDiscount + ручные + по лояльности). v2: уже вычтено из total. */
209
217
  discountTotal: number;
218
+ /** Часть `discountTotal`, пришедшая от статуса клиента в программе лояльности. */
219
+ loyaltyDiscount: number;
210
220
  /** Сумма промокодов − returnedPromocode.discount. v2: уже вычтено из total. */
211
221
  promocodeTotal: number;
212
222
  /** Сумма сертификатов. v2: уже вычтено из total. */
213
223
  certificateTotal: number;
224
+ /**
225
+ * Сумма бонусов, которыми закрыта игра. v2: уже вычтено из total и,
226
+ * как сертификат, НЕ входит в `payed` — живых денег бонусы не
227
+ * приносят.
228
+ */
229
+ bonusTotal: number;
214
230
  /** Сумма допуслуг (Σ amount × count). Денорм для бейджа на слоте. */
215
231
  upsellingsTotal: number;
216
232
  /**
@@ -253,6 +269,12 @@ export declare class OrderRO extends RO {
253
269
  questroomId: number;
254
270
  certificates: Certificates[];
255
271
  uploadedCertificates: Certificates[];
272
+ /**
273
+ * Списания бонусов по этой игре. Отдельными строками, а не одной
274
+ * суммой: администратору нужно видеть, кто и когда списал, и иметь
275
+ * возможность снять конкретную операцию.
276
+ */
277
+ bonuses: LoyaltyBonusRO[];
256
278
  upsellings: Upsellings[];
257
279
  discounts: Discounts[];
258
280
  promocodes: Promocodes[];
@@ -14,6 +14,8 @@ exports.OrderRO = exports.Transactions = exports.Promocodes = exports.PromocodeI
14
14
  const class_transformer_1 = require("class-transformer");
15
15
  const class_validator_1 = require("class-validator");
16
16
  const client_ro_1 = require("../client/client.ro");
17
+ const loyalty_bonus_ro_1 = require("../loyalty/loyalty-bonus.ro");
18
+ const order_discount_source_enum_1 = require("../order-discount/enum/order-discount-source.enum");
17
19
  const order_penalty_type_enum_1 = require("../order-penalty/enum/order-penalty-type.enum");
18
20
  const order_product_ro_1 = require("../order-product/order-product.ro");
19
21
  const promocode_kind_enum_1 = require("../promocode/emun/promocode-kind.enum");
@@ -173,6 +175,10 @@ __decorate([
173
175
  (0, class_transformer_1.Expose)(),
174
176
  __metadata("design:type", Number)
175
177
  ], Discounts.prototype, "userId", void 0);
178
+ __decorate([
179
+ (0, class_transformer_1.Expose)(),
180
+ __metadata("design:type", String)
181
+ ], Discounts.prototype, "source", void 0);
176
182
  class PromocodeIssuer {
177
183
  }
178
184
  exports.PromocodeIssuer = PromocodeIssuer;
@@ -498,6 +504,10 @@ __decorate([
498
504
  (0, class_transformer_1.Expose)(),
499
505
  __metadata("design:type", Number)
500
506
  ], OrderRO.prototype, "discountTotal", void 0);
507
+ __decorate([
508
+ (0, class_transformer_1.Expose)(),
509
+ __metadata("design:type", Number)
510
+ ], OrderRO.prototype, "loyaltyDiscount", void 0);
501
511
  __decorate([
502
512
  (0, class_transformer_1.Expose)(),
503
513
  __metadata("design:type", Number)
@@ -506,6 +516,10 @@ __decorate([
506
516
  (0, class_transformer_1.Expose)(),
507
517
  __metadata("design:type", Number)
508
518
  ], OrderRO.prototype, "certificateTotal", void 0);
519
+ __decorate([
520
+ (0, class_transformer_1.Expose)(),
521
+ __metadata("design:type", Number)
522
+ ], OrderRO.prototype, "bonusTotal", void 0);
509
523
  __decorate([
510
524
  (0, class_transformer_1.Expose)(),
511
525
  __metadata("design:type", Number)
@@ -610,6 +624,11 @@ __decorate([
610
624
  (0, class_transformer_1.Type)(() => Certificates),
611
625
  __metadata("design:type", Array)
612
626
  ], OrderRO.prototype, "uploadedCertificates", void 0);
627
+ __decorate([
628
+ (0, class_transformer_1.Expose)(),
629
+ (0, class_transformer_1.Type)(() => loyalty_bonus_ro_1.LoyaltyBonusRO),
630
+ __metadata("design:type", Array)
631
+ ], OrderRO.prototype, "bonuses", void 0);
613
632
  __decorate([
614
633
  (0, class_transformer_1.Expose)(),
615
634
  (0, class_transformer_1.Type)(() => Upsellings),
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Кто поставил скидку на игру. Строка с `LOYALTY` принадлежит программе
3
+ * лояльности: её пересобирает система при каждом пересчёте чека, и
4
+ * администратор не должен править её руками — правка всё равно
5
+ * потеряется на следующем пересчёте.
6
+ */
7
+ export declare enum OrderDiscountSourceEnum {
8
+ MANUAL = "manual",
9
+ LOYALTY = "loyalty"
10
+ }
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.OrderDiscountSourceEnum = void 0;
4
+ /**
5
+ * Кто поставил скидку на игру. Строка с `LOYALTY` принадлежит программе
6
+ * лояльности: её пересобирает система при каждом пересчёте чека, и
7
+ * администратор не должен править её руками — правка всё равно
8
+ * потеряется на следующем пересчёте.
9
+ */
10
+ var OrderDiscountSourceEnum;
11
+ (function (OrderDiscountSourceEnum) {
12
+ OrderDiscountSourceEnum["MANUAL"] = "manual";
13
+ OrderDiscountSourceEnum["LOYALTY"] = "loyalty";
14
+ })(OrderDiscountSourceEnum || (exports.OrderDiscountSourceEnum = OrderDiscountSourceEnum = {}));
@@ -1,3 +1,4 @@
1
+ import { PackageAddonSelectionDto } from './package-addon.dto';
1
2
  /** Выбранный клиентом слот под конкретную позицию пакета. */
2
3
  export declare class BookPackageSelectionDto {
3
4
  positionId: string;
@@ -16,6 +17,8 @@ export declare class BookPackageDto {
16
17
  selections: BookPackageSelectionDto[];
17
18
  /** Апселлы пакета, которые клиент оставил (positionId → добавить к 1-му заказу). */
18
19
  keptUpsellingPositionIds?: string[];
20
+ /** Платные допы сверх пакета («добавьте к празднику»). */
21
+ addons?: PackageAddonSelectionDto[];
19
22
  language?: string;
20
23
  comment?: string;
21
24
  /** hold текущей widget-сессии (для идемпотентности preorder). */
@@ -12,6 +12,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.BookPackageDto = exports.BookPackageSelectionDto = void 0;
13
13
  const class_transformer_1 = require("class-transformer");
14
14
  const class_validator_1 = require("class-validator");
15
+ const package_addon_dto_1 = require("./package-addon.dto");
15
16
  /** Выбранный клиентом слот под конкретную позицию пакета. */
16
17
  class BookPackageSelectionDto {
17
18
  }
@@ -90,6 +91,14 @@ __decorate([
90
91
  (0, class_transformer_1.Expose)(),
91
92
  __metadata("design:type", Array)
92
93
  ], BookPackageDto.prototype, "keptUpsellingPositionIds", void 0);
94
+ __decorate([
95
+ (0, class_validator_1.IsOptional)(),
96
+ (0, class_validator_1.IsArray)(),
97
+ (0, class_validator_1.ValidateNested)({ each: true }),
98
+ (0, class_transformer_1.Type)(() => package_addon_dto_1.PackageAddonSelectionDto),
99
+ (0, class_transformer_1.Expose)(),
100
+ __metadata("design:type", Array)
101
+ ], BookPackageDto.prototype, "addons", void 0);
93
102
  __decorate([
94
103
  (0, class_validator_1.IsOptional)(),
95
104
  (0, class_validator_1.IsString)(),
@@ -1,7 +1,10 @@
1
+ import { PackageAudienceEnum } from './package-audience.enum';
1
2
  import { PackageCancelScopeEnum } from './package-cancel-scope.enum';
2
3
  import { PackageCapacityModelEnum } from './package-capacity-model.enum';
3
4
  import { PackageDiscountTypeEnum } from './package-discount-type.enum';
5
+ import { PackageFeatureDto } from './package-feature.dto';
4
6
  import { PackagePositionDto } from './package-position.dto';
7
+ import { PackagePricingModeEnum } from './package-pricing-mode.enum';
5
8
  import { PackageSplitModeEnum } from './package-split-mode.enum';
6
9
  import { PackageTimingModeEnum } from './package-timing-mode.enum';
7
10
  export declare class CreatePackageDto {
@@ -11,6 +14,11 @@ export declare class CreatePackageDto {
11
14
  photo?: string;
12
15
  color?: string;
13
16
  sortPosition: number;
17
+ /** Плашка на карточке («популярный», «выгодно»). */
18
+ badge?: string | null;
19
+ audience: PackageAudienceEnum;
20
+ /** Чек-лист «что входит в тариф» на витрине. */
21
+ features: PackageFeatureDto[];
14
22
  availableInWidget: boolean;
15
23
  saved: boolean;
16
24
  /** Диапазон действия акции (ISO date), null — бессрочно. */
@@ -34,6 +42,21 @@ export declare class CreatePackageDto {
34
42
  /** Общий мин./макс. игроков на пакет (для capacityModel=shared). */
35
43
  playersMin?: number | null;
36
44
  playersMax?: number | null;
45
+ pricingMode: PackagePricingModeEnum;
46
+ /** Цена пакета за будний день (pricingMode=fixed). */
47
+ price: number;
48
+ /** Цена за выходной/праздничный день. null — та же, что и в будни. */
49
+ weekendPrice?: number | null;
50
+ /** Какие дни недели считать «выходными» для цены (0 — Пн … 6 — Вс). */
51
+ weekendDays: number[];
52
+ /** Сколько игроков уже включено в цену пакета. */
53
+ includedPlayers: number;
54
+ /** Доплата за каждого игрока сверх `includedPlayers`. */
55
+ extraPlayerPrice: number;
56
+ /** Предоплата для брони пакета (0 — бронь без предоплаты). */
57
+ prepayment: number;
58
+ /** Платные допуслуги, предлагаемые к пакету («добавьте к празднику»). */
59
+ addonUpsellingIds: number[];
37
60
  discountType: PackageDiscountTypeEnum;
38
61
  discountAmount: number;
39
62
  /** Тираж пакета (null — без лимита). */
@@ -13,10 +13,13 @@ exports.CreatePackageDto = void 0;
13
13
  const class_transformer_1 = require("class-transformer");
14
14
  const class_validator_1 = require("class-validator");
15
15
  const is_not_blank_1 = require("../shared/is-not-blank");
16
+ const package_audience_enum_1 = require("./package-audience.enum");
16
17
  const package_cancel_scope_enum_1 = require("./package-cancel-scope.enum");
17
18
  const package_capacity_model_enum_1 = require("./package-capacity-model.enum");
18
19
  const package_discount_type_enum_1 = require("./package-discount-type.enum");
20
+ const package_feature_dto_1 = require("./package-feature.dto");
19
21
  const package_position_dto_1 = require("./package-position.dto");
22
+ const package_pricing_mode_enum_1 = require("./package-pricing-mode.enum");
20
23
  const package_split_mode_enum_1 = require("./package-split-mode.enum");
21
24
  const package_timing_mode_enum_1 = require("./package-timing-mode.enum");
22
25
  class CreatePackageDto {
@@ -57,6 +60,26 @@ __decorate([
57
60
  (0, class_transformer_1.Expose)(),
58
61
  __metadata("design:type", Number)
59
62
  ], CreatePackageDto.prototype, "sortPosition", void 0);
63
+ __decorate([
64
+ (0, class_validator_1.IsOptional)(),
65
+ (0, class_validator_1.IsString)(),
66
+ (0, class_transformer_1.Expose)(),
67
+ __metadata("design:type", String)
68
+ ], CreatePackageDto.prototype, "badge", void 0);
69
+ __decorate([
70
+ (0, class_validator_1.IsEnum)(package_audience_enum_1.PackageAudienceEnum),
71
+ (0, class_transformer_1.Transform)(({ value }) => value !== null && value !== void 0 ? value : package_audience_enum_1.PackageAudienceEnum.ANY),
72
+ (0, class_transformer_1.Expose)(),
73
+ __metadata("design:type", String)
74
+ ], CreatePackageDto.prototype, "audience", void 0);
75
+ __decorate([
76
+ (0, class_validator_1.IsArray)(),
77
+ (0, class_validator_1.ValidateNested)({ each: true }),
78
+ (0, class_transformer_1.Type)(() => package_feature_dto_1.PackageFeatureDto),
79
+ (0, class_transformer_1.Transform)(({ value }) => (Array.isArray(value) ? value : [])),
80
+ (0, class_transformer_1.Expose)(),
81
+ __metadata("design:type", Array)
82
+ ], CreatePackageDto.prototype, "features", void 0);
60
83
  __decorate([
61
84
  (0, class_validator_1.IsBoolean)(),
62
85
  (0, class_transformer_1.Transform)(({ value }) => value !== null && value !== void 0 ? value : false),
@@ -170,6 +193,62 @@ __decorate([
170
193
  (0, class_transformer_1.Expose)(),
171
194
  __metadata("design:type", Number)
172
195
  ], CreatePackageDto.prototype, "playersMax", void 0);
196
+ __decorate([
197
+ (0, class_validator_1.IsEnum)(package_pricing_mode_enum_1.PackagePricingModeEnum),
198
+ (0, class_transformer_1.Transform)(({ value }) => value !== null && value !== void 0 ? value : package_pricing_mode_enum_1.PackagePricingModeEnum.DISCOUNT),
199
+ (0, class_transformer_1.Expose)(),
200
+ __metadata("design:type", String)
201
+ ], CreatePackageDto.prototype, "pricingMode", void 0);
202
+ __decorate([
203
+ (0, class_validator_1.ValidateIf)((o) => o.pricingMode === package_pricing_mode_enum_1.PackagePricingModeEnum.FIXED),
204
+ (0, class_validator_1.IsNumber)(),
205
+ (0, class_validator_1.Min)(0),
206
+ (0, class_transformer_1.Transform)(({ value }) => (value === undefined || value === null ? 0 : Number(value))),
207
+ (0, class_transformer_1.Expose)(),
208
+ __metadata("design:type", Number)
209
+ ], CreatePackageDto.prototype, "price", void 0);
210
+ __decorate([
211
+ (0, class_validator_1.IsOptional)(),
212
+ (0, class_validator_1.IsNumber)(),
213
+ (0, class_validator_1.Min)(0),
214
+ (0, class_transformer_1.Expose)(),
215
+ __metadata("design:type", Number)
216
+ ], CreatePackageDto.prototype, "weekendPrice", void 0);
217
+ __decorate([
218
+ (0, class_validator_1.IsArray)(),
219
+ (0, class_validator_1.IsInt)({ each: true }),
220
+ (0, class_transformer_1.Transform)(({ value }) => (Array.isArray(value) ? value.map((v) => +v) : [5, 6])),
221
+ (0, class_transformer_1.Expose)(),
222
+ __metadata("design:type", Array)
223
+ ], CreatePackageDto.prototype, "weekendDays", void 0);
224
+ __decorate([
225
+ (0, class_validator_1.IsInt)(),
226
+ (0, class_validator_1.Min)(0),
227
+ (0, class_transformer_1.Transform)(({ value }) => (value === undefined || value === null ? 0 : +value)),
228
+ (0, class_transformer_1.Expose)(),
229
+ __metadata("design:type", Number)
230
+ ], CreatePackageDto.prototype, "includedPlayers", void 0);
231
+ __decorate([
232
+ (0, class_validator_1.IsNumber)(),
233
+ (0, class_validator_1.Min)(0),
234
+ (0, class_transformer_1.Transform)(({ value }) => (value === undefined || value === null ? 0 : Number(value))),
235
+ (0, class_transformer_1.Expose)(),
236
+ __metadata("design:type", Number)
237
+ ], CreatePackageDto.prototype, "extraPlayerPrice", void 0);
238
+ __decorate([
239
+ (0, class_validator_1.IsNumber)(),
240
+ (0, class_validator_1.Min)(0),
241
+ (0, class_transformer_1.Transform)(({ value }) => (value === undefined || value === null ? 0 : Number(value))),
242
+ (0, class_transformer_1.Expose)(),
243
+ __metadata("design:type", Number)
244
+ ], CreatePackageDto.prototype, "prepayment", void 0);
245
+ __decorate([
246
+ (0, class_validator_1.IsArray)(),
247
+ (0, class_validator_1.IsInt)({ each: true }),
248
+ (0, class_transformer_1.Transform)(({ value }) => (Array.isArray(value) ? value.map((v) => +v) : [])),
249
+ (0, class_transformer_1.Expose)(),
250
+ __metadata("design:type", Array)
251
+ ], CreatePackageDto.prototype, "addonUpsellingIds", void 0);
173
252
  __decorate([
174
253
  (0, class_validator_1.IsEnum)(package_discount_type_enum_1.PackageDiscountTypeEnum),
175
254
  (0, class_transformer_1.Transform)(({ value }) => value !== null && value !== void 0 ? value : package_discount_type_enum_1.PackageDiscountTypeEnum.PERCENT),
@@ -177,7 +256,8 @@ __decorate([
177
256
  __metadata("design:type", String)
178
257
  ], CreatePackageDto.prototype, "discountType", void 0);
179
258
  __decorate([
180
- (0, class_validator_1.ValidateIf)((o) => o.discountType !== package_discount_type_enum_1.PackageDiscountTypeEnum.FULL),
259
+ (0, class_validator_1.ValidateIf)((o) => o.pricingMode !== package_pricing_mode_enum_1.PackagePricingModeEnum.FIXED &&
260
+ o.discountType !== package_discount_type_enum_1.PackageDiscountTypeEnum.FULL),
181
261
  (0, class_validator_1.IsNumber)(),
182
262
  (0, class_validator_1.Min)(0),
183
263
  (0, class_transformer_1.Transform)(({ value }) => (value === undefined || value === null ? 0 : Number(value))),
@@ -0,0 +1,5 @@
1
+ /** Платная допуслуга, выбранная клиентом сверх пакета («добавьте к празднику»). */
2
+ export declare class PackageAddonSelectionDto {
3
+ upsellingId: number;
4
+ count: number;
5
+ }
@@ -0,0 +1,31 @@
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.PackageAddonSelectionDto = void 0;
13
+ const class_transformer_1 = require("class-transformer");
14
+ const class_validator_1 = require("class-validator");
15
+ /** Платная допуслуга, выбранная клиентом сверх пакета («добавьте к празднику»). */
16
+ class PackageAddonSelectionDto {
17
+ }
18
+ exports.PackageAddonSelectionDto = PackageAddonSelectionDto;
19
+ __decorate([
20
+ (0, class_validator_1.IsInt)(),
21
+ (0, class_transformer_1.Transform)(({ value }) => +value),
22
+ (0, class_transformer_1.Expose)(),
23
+ __metadata("design:type", Number)
24
+ ], PackageAddonSelectionDto.prototype, "upsellingId", void 0);
25
+ __decorate([
26
+ (0, class_validator_1.IsInt)(),
27
+ (0, class_validator_1.Min)(1),
28
+ (0, class_transformer_1.Transform)(({ value }) => (value === undefined || value === null ? 1 : +value)),
29
+ (0, class_transformer_1.Expose)(),
30
+ __metadata("design:type", Number)
31
+ ], PackageAddonSelectionDto.prototype, "count", void 0);
@@ -0,0 +1,6 @@
1
+ /** Для кого пакет — используется фильтром «кто празднует» в виджете. */
2
+ export declare enum PackageAudienceEnum {
3
+ ANY = "any",
4
+ KIDS = "kids",
5
+ ADULTS = "adults"
6
+ }
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PackageAudienceEnum = void 0;
4
+ /** Для кого пакет — используется фильтром «кто празднует» в виджете. */
5
+ var PackageAudienceEnum;
6
+ (function (PackageAudienceEnum) {
7
+ PackageAudienceEnum["ANY"] = "any";
8
+ PackageAudienceEnum["KIDS"] = "kids";
9
+ PackageAudienceEnum["ADULTS"] = "adults";
10
+ })(PackageAudienceEnum || (exports.PackageAudienceEnum = PackageAudienceEnum = {}));
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Строка чек-листа «что входит в тариф» на витрине пакета.
3
+ *
4
+ * Это чистая витрина: `included: false` рисуется зачёркнутым, чтобы клиент
5
+ * видел разницу между пакетами одной линейки. Состав, который реально
6
+ * бронируется и попадает в заказ, живёт в `PackageEntity.positions`.
7
+ */
8
+ export declare class PackageFeatureDto {
9
+ id: string;
10
+ title: string;
11
+ included: boolean;
12
+ }
@@ -0,0 +1,41 @@
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.PackageFeatureDto = 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
+ /**
17
+ * Строка чек-листа «что входит в тариф» на витрине пакета.
18
+ *
19
+ * Это чистая витрина: `included: false` рисуется зачёркнутым, чтобы клиент
20
+ * видел разницу между пакетами одной линейки. Состав, который реально
21
+ * бронируется и попадает в заказ, живёт в `PackageEntity.positions`.
22
+ */
23
+ class PackageFeatureDto {
24
+ }
25
+ exports.PackageFeatureDto = PackageFeatureDto;
26
+ __decorate([
27
+ (0, class_validator_1.IsString)(),
28
+ (0, class_transformer_1.Expose)(),
29
+ __metadata("design:type", String)
30
+ ], PackageFeatureDto.prototype, "id", void 0);
31
+ __decorate([
32
+ (0, is_not_blank_1.IsNotBlank)(),
33
+ (0, class_transformer_1.Expose)(),
34
+ __metadata("design:type", String)
35
+ ], PackageFeatureDto.prototype, "title", void 0);
36
+ __decorate([
37
+ (0, class_validator_1.IsBoolean)(),
38
+ (0, class_transformer_1.Transform)(({ value }) => value !== null && value !== void 0 ? value : true),
39
+ (0, class_transformer_1.Expose)(),
40
+ __metadata("design:type", Boolean)
41
+ ], PackageFeatureDto.prototype, "included", void 0);
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Как считается цена пакета.
3
+ *
4
+ * `DISCOUNT` — исторический режим «комбо»: цена собирается из тарифов слотов,
5
+ * пакет лишь кладёт групповую скидку.
6
+ *
7
+ * `FIXED` — пакет сам является товаром с прайсом: фиксированная цена за
8
+ * будний/выходной день, N игроков включено, доплата за каждого сверх. Тарифы
9
+ * слотов при этом на итог не влияют.
10
+ */
11
+ export declare enum PackagePricingModeEnum {
12
+ DISCOUNT = "discount",
13
+ FIXED = "fixed"
14
+ }
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PackagePricingModeEnum = void 0;
4
+ /**
5
+ * Как считается цена пакета.
6
+ *
7
+ * `DISCOUNT` — исторический режим «комбо»: цена собирается из тарифов слотов,
8
+ * пакет лишь кладёт групповую скидку.
9
+ *
10
+ * `FIXED` — пакет сам является товаром с прайсом: фиксированная цена за
11
+ * будний/выходной день, N игроков включено, доплата за каждого сверх. Тарифы
12
+ * слотов при этом на итог не влияют.
13
+ */
14
+ var PackagePricingModeEnum;
15
+ (function (PackagePricingModeEnum) {
16
+ PackagePricingModeEnum["DISCOUNT"] = "discount";
17
+ PackagePricingModeEnum["FIXED"] = "fixed";
18
+ })(PackagePricingModeEnum || (exports.PackagePricingModeEnum = PackagePricingModeEnum = {}));
@@ -1,8 +1,11 @@
1
1
  import { RO } from '../shared/ro-class';
2
+ import { PackageAudienceEnum } from './package-audience.enum';
2
3
  import { PackageCancelScopeEnum } from './package-cancel-scope.enum';
3
4
  import { PackageCapacityModelEnum } from './package-capacity-model.enum';
4
5
  import { PackageDiscountTypeEnum } from './package-discount-type.enum';
6
+ import { PackageFeatureDto } from './package-feature.dto';
5
7
  import { PackagePositionDto } from './package-position.dto';
8
+ import { PackagePricingModeEnum } from './package-pricing-mode.enum';
6
9
  import { PackageSplitModeEnum } from './package-split-mode.enum';
7
10
  import { PackageTimingModeEnum } from './package-timing-mode.enum';
8
11
  export declare class PackageResponseObject extends RO {
@@ -12,6 +15,9 @@ export declare class PackageResponseObject extends RO {
12
15
  photo?: string;
13
16
  color?: string;
14
17
  sortPosition: number;
18
+ badge?: string | null;
19
+ audience: PackageAudienceEnum;
20
+ features: PackageFeatureDto[];
15
21
  availableInWidget: boolean;
16
22
  saved: boolean;
17
23
  activeFrom?: string | null;
@@ -32,6 +38,14 @@ export declare class PackageResponseObject extends RO {
32
38
  splitMode: PackageSplitModeEnum;
33
39
  playersMin?: number | null;
34
40
  playersMax?: number | null;
41
+ pricingMode: PackagePricingModeEnum;
42
+ price: number;
43
+ weekendPrice?: number | null;
44
+ weekendDays: number[];
45
+ includedPlayers: number;
46
+ extraPlayerPrice: number;
47
+ prepayment: number;
48
+ addonUpsellingIds: number[];
35
49
  discountType: PackageDiscountTypeEnum;
36
50
  discountAmount: number;
37
51
  salesLimit?: number | null;
@@ -12,10 +12,13 @@ Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.PackageResponseObject = void 0;
13
13
  const class_transformer_1 = require("class-transformer");
14
14
  const ro_class_1 = require("../shared/ro-class");
15
+ const package_audience_enum_1 = require("./package-audience.enum");
15
16
  const package_cancel_scope_enum_1 = require("./package-cancel-scope.enum");
16
17
  const package_capacity_model_enum_1 = require("./package-capacity-model.enum");
17
18
  const package_discount_type_enum_1 = require("./package-discount-type.enum");
19
+ const package_feature_dto_1 = require("./package-feature.dto");
18
20
  const package_position_dto_1 = require("./package-position.dto");
21
+ const package_pricing_mode_enum_1 = require("./package-pricing-mode.enum");
19
22
  const package_split_mode_enum_1 = require("./package-split-mode.enum");
20
23
  const package_timing_mode_enum_1 = require("./package-timing-mode.enum");
21
24
  class PackageResponseObject extends ro_class_1.RO {
@@ -45,6 +48,19 @@ __decorate([
45
48
  (0, class_transformer_1.Expose)(),
46
49
  __metadata("design:type", Number)
47
50
  ], PackageResponseObject.prototype, "sortPosition", void 0);
51
+ __decorate([
52
+ (0, class_transformer_1.Expose)(),
53
+ __metadata("design:type", String)
54
+ ], PackageResponseObject.prototype, "badge", void 0);
55
+ __decorate([
56
+ (0, class_transformer_1.Expose)(),
57
+ __metadata("design:type", String)
58
+ ], PackageResponseObject.prototype, "audience", void 0);
59
+ __decorate([
60
+ (0, class_transformer_1.Expose)(),
61
+ (0, class_transformer_1.Type)(() => package_feature_dto_1.PackageFeatureDto),
62
+ __metadata("design:type", Array)
63
+ ], PackageResponseObject.prototype, "features", void 0);
48
64
  __decorate([
49
65
  (0, class_transformer_1.Expose)(),
50
66
  __metadata("design:type", Boolean)
@@ -122,6 +138,38 @@ __decorate([
122
138
  (0, class_transformer_1.Expose)(),
123
139
  __metadata("design:type", Number)
124
140
  ], PackageResponseObject.prototype, "playersMax", void 0);
141
+ __decorate([
142
+ (0, class_transformer_1.Expose)(),
143
+ __metadata("design:type", String)
144
+ ], PackageResponseObject.prototype, "pricingMode", void 0);
145
+ __decorate([
146
+ (0, class_transformer_1.Expose)(),
147
+ __metadata("design:type", Number)
148
+ ], PackageResponseObject.prototype, "price", void 0);
149
+ __decorate([
150
+ (0, class_transformer_1.Expose)(),
151
+ __metadata("design:type", Number)
152
+ ], PackageResponseObject.prototype, "weekendPrice", void 0);
153
+ __decorate([
154
+ (0, class_transformer_1.Expose)(),
155
+ __metadata("design:type", Array)
156
+ ], PackageResponseObject.prototype, "weekendDays", void 0);
157
+ __decorate([
158
+ (0, class_transformer_1.Expose)(),
159
+ __metadata("design:type", Number)
160
+ ], PackageResponseObject.prototype, "includedPlayers", void 0);
161
+ __decorate([
162
+ (0, class_transformer_1.Expose)(),
163
+ __metadata("design:type", Number)
164
+ ], PackageResponseObject.prototype, "extraPlayerPrice", void 0);
165
+ __decorate([
166
+ (0, class_transformer_1.Expose)(),
167
+ __metadata("design:type", Number)
168
+ ], PackageResponseObject.prototype, "prepayment", void 0);
169
+ __decorate([
170
+ (0, class_transformer_1.Expose)(),
171
+ __metadata("design:type", Array)
172
+ ], PackageResponseObject.prototype, "addonUpsellingIds", void 0);
125
173
  __decorate([
126
174
  (0, class_transformer_1.Expose)(),
127
175
  __metadata("design:type", String)
@@ -1,4 +1,4 @@
1
- import { EmailContentJsonV2 } from '../../email-builder';
1
+ import { EmailContent } from '../../email-builder';
2
2
  import { Languages } from '../../shared/enum/languages.enum';
3
3
  import { CrossSaleStatusEnum } from '../cross-sale/cross-sale-status.enum';
4
4
  import { CrossSaleDiscountTypeEnum } from '../cross-sale/crossale-discount-type.enum';
@@ -11,7 +11,7 @@ export declare class BirthdayMarketingLocaleDto {
11
11
  * Maily/TipTap v2-документ. Опционально — старый Quill-редактор
12
12
  * присылает только `feedbackText`. См. `CustomClientBookingEmailLocaleDto.contentJson`.
13
13
  */
14
- contentJson?: EmailContentJsonV2 | null;
14
+ contentJson?: EmailContent | null;
15
15
  }
16
16
  export declare class BirthdayMarketingDto {
17
17
  /**
@@ -13,6 +13,7 @@ exports.BirthdayMarketingDto = exports.BirthdayMarketingLocaleDto = 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");
16
+ const email_content_dto_1 = require("../../email-builder/email-content.dto");
16
17
  const languages_enum_1 = require("../../shared/enum/languages.enum");
17
18
  const is_not_blank_1 = require("../../shared/is-not-blank");
18
19
  const cross_sale_status_enum_1 = require("../cross-sale/cross-sale-status.enum");
@@ -42,7 +43,8 @@ __decorate([
42
43
  ], BirthdayMarketingLocaleDto.prototype, "title", void 0);
43
44
  __decorate([
44
45
  (0, class_validator_1.IsOptional)(),
45
- (0, class_validator_1.IsObject)(),
46
+ (0, class_validator_1.ValidateNested)(),
47
+ (0, class_transformer_1.Type)(() => email_content_dto_1.EmailContentDto),
46
48
  (0, class_transformer_1.Expose)(),
47
49
  __metadata("design:type", Object)
48
50
  ], BirthdayMarketingLocaleDto.prototype, "contentJson", void 0);
@@ -1,4 +1,5 @@
1
1
  import { QuestroomCancelationTypeEnum } from '../questroom/enum/questroom-cancelation-type.enum';
2
+ import { AvailabilityEnum } from '../shared/enum/availability.enum';
2
3
  import { Languages } from '../shared/enum/languages.enum';
3
4
  import { PrepaymentTypeEnum } from '../slot/enum/prepayment-type.enum';
4
5
  /**
@@ -39,6 +40,7 @@ export type CompanyAiContext = {
39
40
  timeZone?: string;
40
41
  amenities: {
41
42
  wifi: boolean;
43
+ airConditioning: AvailabilityEnum;
42
44
  wardrobe: boolean;
43
45
  freeParking: boolean;
44
46
  parking: boolean;