@escapenavigator/types 2.0.41 → 2.0.44

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 (178) hide show
  1. package/dist/cashbox/cashbox.ro.d.ts +1 -0
  2. package/dist/cashbox/cashbox.ro.js +5 -0
  3. package/dist/cashbox/create-online-cashbox.dto.d.ts +2 -1
  4. package/dist/cashbox/create-online-cashbox.dto.js +10 -1
  5. package/dist/cashbox/enum/cashbox-type.enum.d.ts +5 -1
  6. package/dist/cashbox/enum/cashbox-type.enum.js +9 -1
  7. package/dist/cashbox/update-online-cashbox.dto.d.ts +2 -0
  8. package/dist/cashbox/update-online-cashbox.dto.js +10 -0
  9. package/dist/certificate/certificate.ro.d.ts +1 -0
  10. package/dist/certificate/certificate.ro.js +4 -0
  11. package/dist/certificate/create-certificate.dto.d.ts +1 -0
  12. package/dist/certificate/create-certificate.dto.js +5 -0
  13. package/dist/certificate-sale/certificate-sale.ro.d.ts +4 -0
  14. package/dist/certificate-sale/certificate-sale.ro.js +16 -0
  15. package/dist/certificate-sale/create-certificatesale.dto.d.ts +4 -0
  16. package/dist/certificate-sale/create-certificatesale.dto.js +24 -0
  17. package/dist/certificate-v2/certificate-settings.ro.d.ts +1 -0
  18. package/dist/certificate-v2/certificate-settings.ro.js +4 -0
  19. package/dist/certificate-v2/update-certificate-settings.dto.d.ts +1 -0
  20. package/dist/certificate-v2/update-certificate-settings.dto.js +5 -0
  21. package/dist/emails/enum/email.senders.d.ts +3 -0
  22. package/dist/emails/enum/email.senders.js +10 -1
  23. package/dist/emails/index.d.ts +2 -2
  24. package/dist/emails/send-email.dto.d.ts +2 -2
  25. package/dist/emails/send-email.dto.js +2 -2
  26. package/dist/fiscal/enum/fiscal-provider.enum.d.ts +4 -0
  27. package/dist/fiscal/enum/fiscal-provider.enum.js +8 -0
  28. package/dist/fiscal/fiscal-option.ro.d.ts +5 -0
  29. package/dist/fiscal/fiscal-option.ro.js +28 -0
  30. package/dist/fiscal/fiscal-settings.ro.d.ts +40 -0
  31. package/dist/fiscal/fiscal-settings.ro.js +157 -0
  32. package/dist/fiscal/update-fiscal-settings.dto.d.ts +18 -0
  33. package/dist/fiscal/update-fiscal-settings.dto.js +114 -0
  34. package/dist/forms/widget/widget-client-form.dto.d.ts +2 -0
  35. package/dist/forms/widget/widget-client-form.dto.js +13 -1
  36. package/dist/invoice-express/connect-invoice-express.dto.d.ts +6 -0
  37. package/dist/invoice-express/connect-invoice-express.dto.js +40 -0
  38. package/dist/invoice-express/enum/invoice-express-document-status.enum.d.ts +5 -0
  39. package/dist/invoice-express/enum/invoice-express-document-status.enum.js +9 -0
  40. package/dist/invoice-express/enum/invoice-express-document-type.enum.d.ts +6 -0
  41. package/dist/invoice-express/enum/invoice-express-document-type.enum.js +10 -0
  42. package/dist/invoice-express/invoice-express-tax.ro.d.ts +6 -0
  43. package/dist/invoice-express/invoice-express-tax.ro.js +32 -0
  44. package/dist/invoice-express/invoice-express.ro.d.ts +9 -0
  45. package/dist/invoice-express/invoice-express.ro.js +42 -0
  46. package/dist/lead/create-lead.dto.d.ts +19 -0
  47. package/dist/lead/create-lead.dto.js +89 -0
  48. package/dist/lead/enums/lead-event-type.enum.d.ts +11 -0
  49. package/dist/lead/enums/lead-event-type.enum.js +15 -0
  50. package/dist/lead/enums/lead-field-mapping.enum.d.ts +23 -0
  51. package/dist/lead/enums/lead-field-mapping.enum.js +27 -0
  52. package/dist/lead/enums/lead-field-type.enum.d.ts +29 -0
  53. package/dist/lead/enums/lead-field-type.enum.js +33 -0
  54. package/dist/lead/enums/lead-lost-reason.enum.d.ts +11 -0
  55. package/dist/lead/enums/lead-lost-reason.enum.js +15 -0
  56. package/dist/lead/enums/lead-source.enum.d.ts +17 -0
  57. package/dist/lead/enums/lead-source.enum.js +21 -0
  58. package/dist/lead/enums/lead-stage-kind.enum.d.ts +18 -0
  59. package/dist/lead/enums/lead-stage-kind.enum.js +22 -0
  60. package/dist/lead/lead-answer.type.d.ts +17 -0
  61. package/dist/lead/lead-answer.type.js +2 -0
  62. package/dist/lead/lead-board.ro.d.ts +39 -0
  63. package/dist/lead/lead-board.ro.js +16 -0
  64. package/dist/lead/lead-conversion-prefill.ro.d.ts +20 -0
  65. package/dist/lead/lead-conversion-prefill.ro.js +11 -0
  66. package/dist/lead/lead-counters.ro.d.ts +9 -0
  67. package/dist/lead/lead-counters.ro.js +7 -0
  68. package/dist/lead/lead-event.ro.d.ts +13 -0
  69. package/dist/lead/lead-event.ro.js +37 -0
  70. package/dist/lead/lead-form-defaults.ro.d.ts +15 -0
  71. package/dist/lead/lead-form-defaults.ro.js +11 -0
  72. package/dist/lead/lead-form-field.type.d.ts +59 -0
  73. package/dist/lead/lead-form-field.type.js +2 -0
  74. package/dist/lead/lead-form.ro.d.ts +24 -0
  75. package/dist/lead/lead-form.ro.js +72 -0
  76. package/dist/lead/lead-meta.type.d.ts +19 -0
  77. package/dist/lead/lead-meta.type.js +2 -0
  78. package/dist/lead/lead-realtime.ro.d.ts +18 -0
  79. package/dist/lead/lead-realtime.ro.js +13 -0
  80. package/dist/lead/lead-stage.ro.d.ts +20 -0
  81. package/dist/lead/lead-stage.ro.js +49 -0
  82. package/dist/lead/lead.ro.d.ts +42 -0
  83. package/dist/lead/lead.ro.js +126 -0
  84. package/dist/lead/link-lead-conversion.dto.d.ts +9 -0
  85. package/dist/lead/link-lead-conversion.dto.js +39 -0
  86. package/dist/lead/public/public-lead-form.ro.d.ts +43 -0
  87. package/dist/lead/public/public-lead-form.ro.js +24 -0
  88. package/dist/lead/public/submit-lead.dto.d.ts +22 -0
  89. package/dist/lead/public/submit-lead.dto.js +62 -0
  90. package/dist/lead/public/submit-lead.ro.d.ts +10 -0
  91. package/dist/lead/public/submit-lead.ro.js +10 -0
  92. package/dist/lead/query-leads.dto.d.ts +29 -0
  93. package/dist/lead/query-leads.dto.js +111 -0
  94. package/dist/lead/update-lead-form.dto.d.ts +25 -0
  95. package/dist/lead/update-lead-form.dto.js +85 -0
  96. package/dist/lead/update-lead-stages.dto.d.ts +20 -0
  97. package/dist/lead/update-lead-stages.dto.js +69 -0
  98. package/dist/lead/update-lead.dto.d.ts +23 -0
  99. package/dist/lead/update-lead.dto.js +108 -0
  100. package/dist/loyalty/loyalty-bonus.ro.d.ts +5 -0
  101. package/dist/loyalty/loyalty-bonus.ro.js +4 -0
  102. package/dist/openapi/certificates-v2/openapi-create-certificate-shop-sale.dto.d.ts +4 -0
  103. package/dist/openapi/certificates-v2/openapi-create-certificate-shop-sale.dto.js +24 -0
  104. package/dist/openapi/orders/enum/payment-type.enum.d.ts +3 -1
  105. package/dist/openapi/orders/enum/payment-type.enum.js +2 -0
  106. package/dist/openapi/orders/openapi-create-preorder.dto.d.ts +4 -0
  107. package/dist/openapi/orders/openapi-create-preorder.dto.js +20 -0
  108. package/dist/openapi/shared/openapi-create-payment.ro.d.ts +1 -0
  109. package/dist/openapi/shared/openapi-create-payment.ro.js +4 -0
  110. package/dist/openapi/shared/openapi-questroom.ro.d.ts +1 -0
  111. package/dist/openapi/shared/openapi-questroom.ro.js +4 -0
  112. package/dist/openapi/widget/openapi-widget-info.ro.d.ts +13 -0
  113. package/dist/openapi/widget/openapi-widget-info.ro.js +9 -0
  114. package/dist/order/create-order.dto.d.ts +4 -0
  115. package/dist/order/create-order.dto.js +23 -0
  116. package/dist/order/order.ro.d.ts +8 -0
  117. package/dist/order/order.ro.js +32 -0
  118. package/dist/packages/create-package.dto.js +1 -1
  119. package/dist/packages/package-availability.dto.d.ts +13 -0
  120. package/dist/packages/package-availability.dto.js +27 -1
  121. package/dist/packages/package-availability.ro.d.ts +54 -5
  122. package/dist/packages/package-availability.ro.js +95 -2
  123. package/dist/player/player.ro.d.ts +7 -0
  124. package/dist/player/player.ro.js +24 -0
  125. package/dist/profile/email/profile-email-type.enum.d.ts +2 -0
  126. package/dist/profile/email/profile-email-type.enum.js +2 -0
  127. package/dist/profile/notification-chanel/notification-chanel-action.enum.d.ts +13 -1
  128. package/dist/profile/notification-chanel/notification-chanel-action.enum.js +14 -1
  129. package/dist/profile/profile.ro.d.ts +6 -0
  130. package/dist/profile/profile.ro.js +24 -0
  131. package/dist/profile/telephony/dto/ingest-telephony-call.dto.d.ts +16 -0
  132. package/dist/profile/telephony/dto/ingest-telephony-call.dto.js +83 -0
  133. package/dist/profile/telephony/dto/send-telephony-test-call.dto.d.ts +3 -0
  134. package/dist/profile/telephony/dto/send-telephony-test-call.dto.js +23 -0
  135. package/dist/profile/telephony/dto/update-telephony-settings.dto.d.ts +3 -0
  136. package/dist/profile/telephony/dto/update-telephony-settings.dto.js +22 -0
  137. package/dist/profile/telephony/enum/call-direction.enum.d.ts +4 -0
  138. package/dist/profile/telephony/enum/call-direction.enum.js +8 -0
  139. package/dist/profile/telephony/enum/call-status.enum.d.ts +7 -0
  140. package/dist/profile/telephony/enum/call-status.enum.js +11 -0
  141. package/dist/profile/telephony/ro/telephony-call.ro.d.ts +19 -0
  142. package/dist/profile/telephony/ro/telephony-call.ro.js +75 -0
  143. package/dist/profile/telephony/ro/telephony-settings.ro.d.ts +18 -0
  144. package/dist/profile/telephony/ro/telephony-settings.ro.js +65 -0
  145. package/dist/questroom/create-questroom.dto.d.ts +1 -0
  146. package/dist/questroom/create-questroom.dto.js +5 -0
  147. package/dist/questroom/questroom-light.ro.d.ts +1 -0
  148. package/dist/questroom/questroom-light.ro.js +4 -0
  149. package/dist/role/create-role.dto.d.ts +1 -0
  150. package/dist/role/create-role.dto.js +6 -0
  151. package/dist/role/role.ro.d.ts +1 -0
  152. package/dist/role/role.ro.js +4 -0
  153. package/dist/shared/localized-string.type.d.ts +8 -0
  154. package/dist/shared/localized-string.type.js +2 -0
  155. package/dist/transaction/enum/transaction-source.enum.d.ts +3 -1
  156. package/dist/transaction/enum/transaction-source.enum.js +2 -0
  157. package/dist/transaction/transaction.ro.d.ts +3 -0
  158. package/dist/transaction/transaction.ro.js +12 -0
  159. package/dist/tsconfig.build.tsbuildinfo +1 -1
  160. package/dist/user/crud/user.ro.d.ts +1 -0
  161. package/dist/user/crud/user.ro.js +5 -0
  162. package/dist/user/current/update-current-user-notifications.dto.d.ts +5 -0
  163. package/dist/user/current/update-current-user-notifications.dto.js +6 -0
  164. package/dist/user/task/user-task.dto.d.ts +1 -0
  165. package/dist/user/task/user-task.dto.js +5 -0
  166. package/dist/user/task/user-task.ro.d.ts +1 -0
  167. package/dist/user/task/user-task.ro.js +4 -0
  168. package/dist/user-message/create-user-message.dto.d.ts +1 -0
  169. package/dist/user-message/create-user-message.dto.js +5 -0
  170. package/dist/user-message/user-message.ro.d.ts +1 -0
  171. package/dist/widget/create-widget.dto.d.ts +3 -0
  172. package/dist/widget/create-widget.dto.js +16 -0
  173. package/dist/widget/enum/packages-widget-design.enum.d.ts +13 -0
  174. package/dist/widget/enum/packages-widget-design.enum.js +17 -0
  175. package/dist/widget/enum/widget-type.enum.d.ts +3 -1
  176. package/dist/widget/enum/widget-type.enum.js +2 -0
  177. package/dist/widget/widget.ro.d.ts +11 -0
  178. package/package.json +2 -2
@@ -1,4 +1,6 @@
1
1
  import { PackageTimingModeEnum } from './package-timing-mode.enum';
2
+ /** Почему пакет нельзя забронировать на дату. Виджет показывает свой текст на каждую. */
3
+ export type PackageUnavailableReason = 'noSlots' | 'capacity' | 'inactive';
2
4
  /** Один конкретный слот-кандидат под позицию пакета. */
3
5
  export declare class PackageSlotOptionRO {
4
6
  positionId: string;
@@ -11,13 +13,42 @@ export declare class PackageSlotOptionRO {
11
13
  availablePlayers: number;
12
14
  tariffId: number;
13
15
  }
16
+ /**
17
+ * Цена варианта для `pricingMode=discount`.
18
+ *
19
+ * В fixed-режиме цену диктует сам пакет и она одинакова для всех вариантов на
20
+ * дату — её считает виджет. В discount-режиме цена зависит от тарифов
21
+ * конкретных слотов, поэтому вариант в 14:00 и в 19:00 стоят по-разному, и без
22
+ * сервера клиент показать сумму не может.
23
+ */
24
+ export declare class PackageComboPriceRO {
25
+ /** Сумма тарифов слотов со скидками слотов, до пакетной скидки. */
26
+ gross: number;
27
+ /** Пакетная скидка (percent / fixed / full). */
28
+ discount: number;
29
+ /** Итог: gross − discount. */
30
+ total: number;
31
+ }
14
32
  /** Готовая валидная комбинация слотов (по одному на инстанс позиции). */
15
33
  export declare class PackageCombinationRO {
34
+ /** Стабильный ключ варианта: React-key и выбор без индексов массива. */
35
+ id: string;
16
36
  slots: PackageSlotOptionRO[];
17
37
  /** Суммарная свободная вместимость набора (для shared-подсказки в UI). */
18
38
  totalCapacity: number;
39
+ /** Самая маленькая вместимость среди слотов — предел для общей компании. */
40
+ minAvailablePlayers: number;
41
+ /** Начало первой активности (HH:mm). */
42
+ start: string;
43
+ /** Конец последней активности (HH:mm). */
44
+ end: string;
45
+ /** Длительность вечера целиком, включая перерывы. */
46
+ spanMinutes: number;
47
+ /** Суммарные простои между активностями — метрика «плотности» варианта. */
48
+ gapMinutes: number;
49
+ price?: PackageComboPriceRO;
19
50
  }
20
- /** Кандидаты под одну позицию (для independent-режима, где клиент выбирает сам). */
51
+ /** Кандидаты под одну позицию (для ручного подбора времени клиентом). */
21
52
  export declare class PackagePositionOptionsRO {
22
53
  positionId: string;
23
54
  options: PackageSlotOptionRO[];
@@ -27,10 +58,28 @@ export declare class PackageAvailabilityRO {
27
58
  date: string;
28
59
  timingMode: PackageTimingModeEnum;
29
60
  available: boolean;
30
- /** Причина недоступности (для UI): 'noSlots' | 'capacity' | 'inactive'. */
31
- reason?: string;
32
- /** Для independent: независимые списки кандидатов под каждую позицию. */
61
+ /** Причина недоступности виджет показывает разный текст и разный выход. */
62
+ reason?: PackageUnavailableReason;
63
+ /** Независимые списки кандидатов под каждую позицию — для ручного подбора. */
33
64
  positions: PackagePositionOptionsRO[];
34
- /** Для sequential/parallel: заранее скрещённые валидные наборы. */
65
+ /**
66
+ * Готовые варианты вечера — основной способ выбора времени во всех режимах,
67
+ * включая independent. Отсортированы по времени начала и прорежены, чтобы
68
+ * клиент не выбирал из полусотни почти одинаковых строк.
69
+ */
35
70
  combinations: PackageCombinationRO[];
36
71
  }
72
+ /** Доступность пакета на одну дату — для подсветки календаря. */
73
+ export declare class PackageDateAvailabilityRO {
74
+ date: string;
75
+ available: boolean;
76
+ reason?: PackageUnavailableReason;
77
+ }
78
+ export declare class PackageRangeAvailabilityRO {
79
+ packageId: number;
80
+ from: string;
81
+ to: string;
82
+ dates: PackageDateAvailabilityRO[];
83
+ /** Первая дата с вариантами — чтобы открыть конфигуратор сразу на ней. */
84
+ nearestDate?: string;
85
+ }
@@ -9,7 +9,8 @@ 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.PackageAvailabilityRO = exports.PackagePositionOptionsRO = exports.PackageCombinationRO = exports.PackageSlotOptionRO = void 0;
12
+ exports.PackageRangeAvailabilityRO = exports.PackageDateAvailabilityRO = exports.PackageAvailabilityRO = exports.PackagePositionOptionsRO = exports.PackageCombinationRO = exports.PackageComboPriceRO = exports.PackageSlotOptionRO = void 0;
13
+ /* eslint-disable max-classes-per-file */
13
14
  const class_transformer_1 = require("class-transformer");
14
15
  const package_timing_mode_enum_1 = require("./package-timing-mode.enum");
15
16
  /** Один конкретный слот-кандидат под позицию пакета. */
@@ -52,10 +53,37 @@ __decorate([
52
53
  (0, class_transformer_1.Expose)(),
53
54
  __metadata("design:type", Number)
54
55
  ], PackageSlotOptionRO.prototype, "tariffId", void 0);
56
+ /**
57
+ * Цена варианта для `pricingMode=discount`.
58
+ *
59
+ * В fixed-режиме цену диктует сам пакет и она одинакова для всех вариантов на
60
+ * дату — её считает виджет. В discount-режиме цена зависит от тарифов
61
+ * конкретных слотов, поэтому вариант в 14:00 и в 19:00 стоят по-разному, и без
62
+ * сервера клиент показать сумму не может.
63
+ */
64
+ class PackageComboPriceRO {
65
+ }
66
+ exports.PackageComboPriceRO = PackageComboPriceRO;
67
+ __decorate([
68
+ (0, class_transformer_1.Expose)(),
69
+ __metadata("design:type", Number)
70
+ ], PackageComboPriceRO.prototype, "gross", void 0);
71
+ __decorate([
72
+ (0, class_transformer_1.Expose)(),
73
+ __metadata("design:type", Number)
74
+ ], PackageComboPriceRO.prototype, "discount", void 0);
75
+ __decorate([
76
+ (0, class_transformer_1.Expose)(),
77
+ __metadata("design:type", Number)
78
+ ], PackageComboPriceRO.prototype, "total", void 0);
55
79
  /** Готовая валидная комбинация слотов (по одному на инстанс позиции). */
56
80
  class PackageCombinationRO {
57
81
  }
58
82
  exports.PackageCombinationRO = PackageCombinationRO;
83
+ __decorate([
84
+ (0, class_transformer_1.Expose)(),
85
+ __metadata("design:type", String)
86
+ ], PackageCombinationRO.prototype, "id", void 0);
59
87
  __decorate([
60
88
  (0, class_transformer_1.Expose)(),
61
89
  (0, class_transformer_1.Type)(() => PackageSlotOptionRO),
@@ -65,7 +93,32 @@ __decorate([
65
93
  (0, class_transformer_1.Expose)(),
66
94
  __metadata("design:type", Number)
67
95
  ], PackageCombinationRO.prototype, "totalCapacity", void 0);
68
- /** Кандидаты под одну позицию (для independent-режима, где клиент выбирает сам). */
96
+ __decorate([
97
+ (0, class_transformer_1.Expose)(),
98
+ __metadata("design:type", Number)
99
+ ], PackageCombinationRO.prototype, "minAvailablePlayers", void 0);
100
+ __decorate([
101
+ (0, class_transformer_1.Expose)(),
102
+ __metadata("design:type", String)
103
+ ], PackageCombinationRO.prototype, "start", void 0);
104
+ __decorate([
105
+ (0, class_transformer_1.Expose)(),
106
+ __metadata("design:type", String)
107
+ ], PackageCombinationRO.prototype, "end", void 0);
108
+ __decorate([
109
+ (0, class_transformer_1.Expose)(),
110
+ __metadata("design:type", Number)
111
+ ], PackageCombinationRO.prototype, "spanMinutes", void 0);
112
+ __decorate([
113
+ (0, class_transformer_1.Expose)(),
114
+ __metadata("design:type", Number)
115
+ ], PackageCombinationRO.prototype, "gapMinutes", void 0);
116
+ __decorate([
117
+ (0, class_transformer_1.Expose)(),
118
+ (0, class_transformer_1.Type)(() => PackageComboPriceRO),
119
+ __metadata("design:type", PackageComboPriceRO)
120
+ ], PackageCombinationRO.prototype, "price", void 0);
121
+ /** Кандидаты под одну позицию (для ручного подбора времени клиентом). */
69
122
  class PackagePositionOptionsRO {
70
123
  }
71
124
  exports.PackagePositionOptionsRO = PackagePositionOptionsRO;
@@ -111,3 +164,43 @@ __decorate([
111
164
  (0, class_transformer_1.Type)(() => PackageCombinationRO),
112
165
  __metadata("design:type", Array)
113
166
  ], PackageAvailabilityRO.prototype, "combinations", void 0);
167
+ /** Доступность пакета на одну дату — для подсветки календаря. */
168
+ class PackageDateAvailabilityRO {
169
+ }
170
+ exports.PackageDateAvailabilityRO = PackageDateAvailabilityRO;
171
+ __decorate([
172
+ (0, class_transformer_1.Expose)(),
173
+ __metadata("design:type", String)
174
+ ], PackageDateAvailabilityRO.prototype, "date", void 0);
175
+ __decorate([
176
+ (0, class_transformer_1.Expose)(),
177
+ __metadata("design:type", Boolean)
178
+ ], PackageDateAvailabilityRO.prototype, "available", void 0);
179
+ __decorate([
180
+ (0, class_transformer_1.Expose)(),
181
+ __metadata("design:type", String)
182
+ ], PackageDateAvailabilityRO.prototype, "reason", void 0);
183
+ class PackageRangeAvailabilityRO {
184
+ }
185
+ exports.PackageRangeAvailabilityRO = PackageRangeAvailabilityRO;
186
+ __decorate([
187
+ (0, class_transformer_1.Expose)(),
188
+ __metadata("design:type", Number)
189
+ ], PackageRangeAvailabilityRO.prototype, "packageId", void 0);
190
+ __decorate([
191
+ (0, class_transformer_1.Expose)(),
192
+ __metadata("design:type", String)
193
+ ], PackageRangeAvailabilityRO.prototype, "from", void 0);
194
+ __decorate([
195
+ (0, class_transformer_1.Expose)(),
196
+ __metadata("design:type", String)
197
+ ], PackageRangeAvailabilityRO.prototype, "to", void 0);
198
+ __decorate([
199
+ (0, class_transformer_1.Expose)(),
200
+ (0, class_transformer_1.Type)(() => PackageDateAvailabilityRO),
201
+ __metadata("design:type", Array)
202
+ ], PackageRangeAvailabilityRO.prototype, "dates", void 0);
203
+ __decorate([
204
+ (0, class_transformer_1.Expose)(),
205
+ __metadata("design:type", String)
206
+ ], PackageRangeAvailabilityRO.prototype, "nearestDate", void 0);
@@ -1,8 +1,13 @@
1
1
  import { OrderRO } from '../order/order.ro';
2
2
  import { EmotionRO } from '../review/emotions/emotion.ro';
3
3
  declare class Review {
4
+ id: number;
4
5
  rating: number;
5
6
  questroomId: number;
7
+ text: string;
8
+ response?: string;
9
+ createdAt: Date;
10
+ accepted?: boolean;
6
11
  }
7
12
  export declare class PlayerRO {
8
13
  id: number;
@@ -18,5 +23,7 @@ export declare class PlayerRO {
18
23
  orders?: OrderRO[];
19
24
  reviewsCount?: number;
20
25
  ordersCount?: number;
26
+ /** Накопленные квестобаллы: 200 за бронь со слотом + 50 за принятый отзыв. */
27
+ bonuses?: number;
21
28
  }
22
29
  export {};
@@ -16,6 +16,10 @@ const order_ro_1 = require("../order/order.ro");
16
16
  const emotion_ro_1 = require("../review/emotions/emotion.ro");
17
17
  class Review {
18
18
  }
19
+ __decorate([
20
+ (0, class_transformer_1.Expose)(),
21
+ __metadata("design:type", Number)
22
+ ], Review.prototype, "id", void 0);
19
23
  __decorate([
20
24
  (0, class_transformer_1.Expose)(),
21
25
  __metadata("design:type", Number)
@@ -24,6 +28,22 @@ __decorate([
24
28
  (0, class_transformer_1.Expose)(),
25
29
  __metadata("design:type", Number)
26
30
  ], Review.prototype, "questroomId", void 0);
31
+ __decorate([
32
+ (0, class_transformer_1.Expose)(),
33
+ __metadata("design:type", String)
34
+ ], Review.prototype, "text", void 0);
35
+ __decorate([
36
+ (0, class_transformer_1.Expose)(),
37
+ __metadata("design:type", String)
38
+ ], Review.prototype, "response", void 0);
39
+ __decorate([
40
+ (0, class_transformer_1.Expose)(),
41
+ __metadata("design:type", Date)
42
+ ], Review.prototype, "createdAt", void 0);
43
+ __decorate([
44
+ (0, class_transformer_1.Expose)(),
45
+ __metadata("design:type", Boolean)
46
+ ], Review.prototype, "accepted", void 0);
27
47
  class PlayerRO {
28
48
  }
29
49
  exports.PlayerRO = PlayerRO;
@@ -82,3 +102,7 @@ __decorate([
82
102
  (0, class_transformer_1.Expose)(),
83
103
  __metadata("design:type", Number)
84
104
  ], PlayerRO.prototype, "ordersCount", void 0);
105
+ __decorate([
106
+ (0, class_transformer_1.Expose)(),
107
+ __metadata("design:type", Number)
108
+ ], PlayerRO.prototype, "bonuses", void 0);
@@ -17,6 +17,7 @@
17
17
  * - `Manual` — ручное письмо клиенту из модалки заказа.
18
18
  * - `Certificate` — все письма по сертификатам (новый, неоплаченный,
19
19
  * напоминания, повторная отправка).
20
+ * - `LeadAutoreply` — автоответ «заявка принята» (`email.lead.service`).
20
21
  * - `Other` — fallback для нерасклассифицированного.
21
22
  */
22
23
  export declare enum ProfileEmailTypeEnum {
@@ -33,5 +34,6 @@ export declare enum ProfileEmailTypeEnum {
33
34
  MarketingCampaign = "marketing_campaign",
34
35
  Manual = "manual",
35
36
  Certificate = "certificate",
37
+ LeadAutoreply = "lead_autoreply",
36
38
  Other = "other"
37
39
  }
@@ -20,6 +20,7 @@ exports.ProfileEmailTypeEnum = void 0;
20
20
  * - `Manual` — ручное письмо клиенту из модалки заказа.
21
21
  * - `Certificate` — все письма по сертификатам (новый, неоплаченный,
22
22
  * напоминания, повторная отправка).
23
+ * - `LeadAutoreply` — автоответ «заявка принята» (`email.lead.service`).
23
24
  * - `Other` — fallback для нерасклассифицированного.
24
25
  */
25
26
  var ProfileEmailTypeEnum;
@@ -37,5 +38,6 @@ var ProfileEmailTypeEnum;
37
38
  ProfileEmailTypeEnum["MarketingCampaign"] = "marketing_campaign";
38
39
  ProfileEmailTypeEnum["Manual"] = "manual";
39
40
  ProfileEmailTypeEnum["Certificate"] = "certificate";
41
+ ProfileEmailTypeEnum["LeadAutoreply"] = "lead_autoreply";
40
42
  ProfileEmailTypeEnum["Other"] = "other";
41
43
  })(ProfileEmailTypeEnum || (exports.ProfileEmailTypeEnum = ProfileEmailTypeEnum = {}));
@@ -15,7 +15,13 @@ export declare enum NotificationTriggerEnum {
15
15
  */
16
16
  CERTIFICATE_UPDATED = "certificate-updated",
17
17
  /** Аннулирование сертификата (сотрудником, клиентом или по API). */
18
- CERTIFICATE_ANNUL = "certificate-annul"
18
+ CERTIFICATE_ANNUL = "certificate-annul",
19
+ /**
20
+ * Новая входящая заявка: форма на сайте, standalone-страница с QR,
21
+ * «оставить заявку» в записи или подбор пакета. Заявки, созданные
22
+ * сотрудником вручную, событие не поднимают.
23
+ */
24
+ NEW_LEAD = "new-lead"
19
25
  }
20
26
  /**
21
27
  * События, payload которых строится вокруг продажи сертификата, а не заказа.
@@ -23,3 +29,9 @@ export declare enum NotificationTriggerEnum {
23
29
  */
24
30
  export declare const CERTIFICATE_NOTIFICATION_TRIGGERS: NotificationTriggerEnum[];
25
31
  export declare const isCertificateNotificationTrigger: (trigger: NotificationTriggerEnum) => boolean;
32
+ /**
33
+ * События, payload которых строится вокруг заявки. Тест канала берёт для них
34
+ * последнюю заявку профиля: спрашивать у оператора id заявки бессмысленно —
35
+ * он его нигде не видит.
36
+ */
37
+ export declare const isLeadNotificationTrigger: (trigger: NotificationTriggerEnum) => trigger is NotificationTriggerEnum.NEW_LEAD;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isCertificateNotificationTrigger = exports.CERTIFICATE_NOTIFICATION_TRIGGERS = exports.NotificationTriggerEnum = void 0;
3
+ 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";
@@ -20,6 +20,12 @@ var NotificationTriggerEnum;
20
20
  NotificationTriggerEnum["CERTIFICATE_UPDATED"] = "certificate-updated";
21
21
  /** Аннулирование сертификата (сотрудником, клиентом или по API). */
22
22
  NotificationTriggerEnum["CERTIFICATE_ANNUL"] = "certificate-annul";
23
+ /**
24
+ * Новая входящая заявка: форма на сайте, standalone-страница с QR,
25
+ * «оставить заявку» в записи или подбор пакета. Заявки, созданные
26
+ * сотрудником вручную, событие не поднимают.
27
+ */
28
+ NotificationTriggerEnum["NEW_LEAD"] = "new-lead";
23
29
  })(NotificationTriggerEnum || (exports.NotificationTriggerEnum = NotificationTriggerEnum = {}));
24
30
  /**
25
31
  * События, payload которых строится вокруг продажи сертификата, а не заказа.
@@ -32,3 +38,10 @@ exports.CERTIFICATE_NOTIFICATION_TRIGGERS = [
32
38
  ];
33
39
  const isCertificateNotificationTrigger = (trigger) => exports.CERTIFICATE_NOTIFICATION_TRIGGERS.includes(trigger);
34
40
  exports.isCertificateNotificationTrigger = isCertificateNotificationTrigger;
41
+ /**
42
+ * События, payload которых строится вокруг заявки. Тест канала берёт для них
43
+ * последнюю заявку профиля: спрашивать у оператора id заявки бессмысленно —
44
+ * он его нигде не видит.
45
+ */
46
+ const isLeadNotificationTrigger = (trigger) => trigger === NotificationTriggerEnum.NEW_LEAD;
47
+ exports.isLeadNotificationTrigger = isLeadNotificationTrigger;
@@ -81,4 +81,10 @@ export declare class ProfileRO {
81
81
  pinLockEnabled: boolean;
82
82
  /** Простой до блокировки, в минутах. 0 — не блокировать по простою. */
83
83
  pinLockIdleMinutes: number;
84
+ invoiceExpressAccountName?: string;
85
+ invoiceExpressTaxName?: string;
86
+ invoiceExpressTaxValue?: number;
87
+ invoiceExpressExemption?: string;
88
+ fiscalProvider?: string;
89
+ fiscalReady?: boolean;
84
90
  }
@@ -225,3 +225,27 @@ __decorate([
225
225
  (0, class_transformer_1.Transform)(({ value }) => value !== null && value !== void 0 ? value : 20),
226
226
  __metadata("design:type", Number)
227
227
  ], ProfileRO.prototype, "pinLockIdleMinutes", void 0);
228
+ __decorate([
229
+ (0, class_transformer_1.Expose)(),
230
+ __metadata("design:type", String)
231
+ ], ProfileRO.prototype, "invoiceExpressAccountName", void 0);
232
+ __decorate([
233
+ (0, class_transformer_1.Expose)(),
234
+ __metadata("design:type", String)
235
+ ], ProfileRO.prototype, "invoiceExpressTaxName", void 0);
236
+ __decorate([
237
+ (0, class_transformer_1.Expose)(),
238
+ __metadata("design:type", Number)
239
+ ], ProfileRO.prototype, "invoiceExpressTaxValue", void 0);
240
+ __decorate([
241
+ (0, class_transformer_1.Expose)(),
242
+ __metadata("design:type", String)
243
+ ], ProfileRO.prototype, "invoiceExpressExemption", void 0);
244
+ __decorate([
245
+ (0, class_transformer_1.Expose)(),
246
+ __metadata("design:type", String)
247
+ ], ProfileRO.prototype, "fiscalProvider", void 0);
248
+ __decorate([
249
+ (0, class_transformer_1.Expose)(),
250
+ __metadata("design:type", Boolean)
251
+ ], ProfileRO.prototype, "fiscalReady", void 0);
@@ -0,0 +1,16 @@
1
+ import { CallDirectionEnum } from '../enum/call-direction.enum';
2
+ import { CallStatusEnum } from '../enum/call-status.enum';
3
+ /**
4
+ * Единый контракт Level 1: АТС шлёт события звонка, голос до нас не доходит.
5
+ * Лишние поля провайдера отрезаются на webhook-контроллере (whitelist).
6
+ */
7
+ export declare class IngestTelephonyCallDto {
8
+ externalId: string;
9
+ direction: CallDirectionEnum;
10
+ status: CallStatusEnum;
11
+ from: string;
12
+ to: string;
13
+ duration?: number;
14
+ recordingUrl?: string;
15
+ startedAt?: string;
16
+ }
@@ -0,0 +1,83 @@
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.IngestTelephonyCallDto = 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
+ const call_direction_enum_1 = require("../enum/call-direction.enum");
17
+ const call_status_enum_1 = require("../enum/call-status.enum");
18
+ const toOptionalNumber = ({ value }) => {
19
+ if (value === '' || value == null)
20
+ return undefined;
21
+ const n = Number(value);
22
+ return Number.isFinite(n) ? n : undefined;
23
+ };
24
+ const toOptionalString = ({ value }) => {
25
+ if (value == null)
26
+ return undefined;
27
+ const text = String(value).trim();
28
+ return text.length ? text : undefined;
29
+ };
30
+ /**
31
+ * Единый контракт Level 1: АТС шлёт события звонка, голос до нас не доходит.
32
+ * Лишние поля провайдера отрезаются на webhook-контроллере (whitelist).
33
+ */
34
+ class IngestTelephonyCallDto {
35
+ }
36
+ exports.IngestTelephonyCallDto = IngestTelephonyCallDto;
37
+ __decorate([
38
+ (0, class_transformer_1.Expose)(),
39
+ (0, is_not_blank_1.IsNotBlank)(),
40
+ (0, class_validator_1.MaxLength)(128),
41
+ __metadata("design:type", String)
42
+ ], IngestTelephonyCallDto.prototype, "externalId", void 0);
43
+ __decorate([
44
+ (0, class_transformer_1.Expose)(),
45
+ (0, class_validator_1.IsEnum)(call_direction_enum_1.CallDirectionEnum),
46
+ __metadata("design:type", String)
47
+ ], IngestTelephonyCallDto.prototype, "direction", void 0);
48
+ __decorate([
49
+ (0, class_transformer_1.Expose)(),
50
+ (0, class_validator_1.IsEnum)(call_status_enum_1.CallStatusEnum),
51
+ __metadata("design:type", String)
52
+ ], IngestTelephonyCallDto.prototype, "status", void 0);
53
+ __decorate([
54
+ (0, class_transformer_1.Expose)(),
55
+ (0, is_not_blank_1.IsNotBlank)(),
56
+ (0, class_validator_1.MaxLength)(32),
57
+ __metadata("design:type", String)
58
+ ], IngestTelephonyCallDto.prototype, "from", void 0);
59
+ __decorate([
60
+ (0, class_transformer_1.Expose)(),
61
+ (0, is_not_blank_1.IsNotBlank)(),
62
+ (0, class_validator_1.MaxLength)(32),
63
+ __metadata("design:type", String)
64
+ ], IngestTelephonyCallDto.prototype, "to", void 0);
65
+ __decorate([
66
+ (0, class_transformer_1.Expose)(),
67
+ (0, class_validator_1.IsOptional)(),
68
+ (0, class_transformer_1.Transform)(toOptionalNumber),
69
+ __metadata("design:type", Number)
70
+ ], IngestTelephonyCallDto.prototype, "duration", void 0);
71
+ __decorate([
72
+ (0, class_transformer_1.Expose)(),
73
+ (0, class_validator_1.IsOptional)(),
74
+ (0, class_transformer_1.Transform)(toOptionalString),
75
+ (0, class_validator_1.MaxLength)(4000),
76
+ __metadata("design:type", String)
77
+ ], IngestTelephonyCallDto.prototype, "recordingUrl", void 0);
78
+ __decorate([
79
+ (0, class_transformer_1.Expose)(),
80
+ (0, class_validator_1.IsOptional)(),
81
+ (0, class_transformer_1.Transform)(toOptionalString),
82
+ __metadata("design:type", String)
83
+ ], IngestTelephonyCallDto.prototype, "startedAt", void 0);
@@ -0,0 +1,3 @@
1
+ export declare class SendTelephonyTestCallDto {
2
+ from?: string;
3
+ }
@@ -0,0 +1,23 @@
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.SendTelephonyTestCallDto = void 0;
13
+ const class_transformer_1 = require("class-transformer");
14
+ const class_validator_1 = require("class-validator");
15
+ class SendTelephonyTestCallDto {
16
+ }
17
+ exports.SendTelephonyTestCallDto = SendTelephonyTestCallDto;
18
+ __decorate([
19
+ (0, class_transformer_1.Expose)(),
20
+ (0, class_validator_1.IsOptional)(),
21
+ (0, class_validator_1.MaxLength)(32),
22
+ __metadata("design:type", String)
23
+ ], SendTelephonyTestCallDto.prototype, "from", void 0);
@@ -0,0 +1,3 @@
1
+ export declare class UpdateTelephonySettingsDto {
2
+ isActive: boolean;
3
+ }
@@ -0,0 +1,22 @@
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.UpdateTelephonySettingsDto = void 0;
13
+ const class_transformer_1 = require("class-transformer");
14
+ const class_validator_1 = require("class-validator");
15
+ class UpdateTelephonySettingsDto {
16
+ }
17
+ exports.UpdateTelephonySettingsDto = UpdateTelephonySettingsDto;
18
+ __decorate([
19
+ (0, class_transformer_1.Expose)(),
20
+ (0, class_validator_1.IsBoolean)(),
21
+ __metadata("design:type", Boolean)
22
+ ], UpdateTelephonySettingsDto.prototype, "isActive", void 0);
@@ -0,0 +1,4 @@
1
+ export declare enum CallDirectionEnum {
2
+ INBOUND = "inbound",
3
+ OUTBOUND = "outbound"
4
+ }
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CallDirectionEnum = void 0;
4
+ var CallDirectionEnum;
5
+ (function (CallDirectionEnum) {
6
+ CallDirectionEnum["INBOUND"] = "inbound";
7
+ CallDirectionEnum["OUTBOUND"] = "outbound";
8
+ })(CallDirectionEnum || (exports.CallDirectionEnum = CallDirectionEnum = {}));
@@ -0,0 +1,7 @@
1
+ export declare enum CallStatusEnum {
2
+ RINGING = "ringing",
3
+ ANSWERED = "answered",
4
+ COMPLETED = "completed",
5
+ MISSED = "missed",
6
+ FAILED = "failed"
7
+ }
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CallStatusEnum = void 0;
4
+ var CallStatusEnum;
5
+ (function (CallStatusEnum) {
6
+ CallStatusEnum["RINGING"] = "ringing";
7
+ CallStatusEnum["ANSWERED"] = "answered";
8
+ CallStatusEnum["COMPLETED"] = "completed";
9
+ CallStatusEnum["MISSED"] = "missed";
10
+ CallStatusEnum["FAILED"] = "failed";
11
+ })(CallStatusEnum || (exports.CallStatusEnum = CallStatusEnum = {}));
@@ -0,0 +1,19 @@
1
+ import { RO } from '../../../shared/ro-class';
2
+ import { CallDirectionEnum } from '../enum/call-direction.enum';
3
+ import { CallStatusEnum } from '../enum/call-status.enum';
4
+ export declare class TelephonyCallRO extends RO {
5
+ externalId: string;
6
+ direction: CallDirectionEnum;
7
+ status: CallStatusEnum;
8
+ fromPhone: string;
9
+ toPhone: string;
10
+ duration: number;
11
+ recordingUrl: string | null;
12
+ startedAt: Date;
13
+ clientId: number | null;
14
+ clientName: string | null;
15
+ orderId: number | null;
16
+ orderCode: string | null;
17
+ orderUtcDate: string | null;
18
+ orderGroupId: number | null;
19
+ }