@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
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LeadSourceEnum = void 0;
4
+ /** Откуда пришла заявка. Влияет только на фильтры и аналитику воронки. */
5
+ var LeadSourceEnum;
6
+ (function (LeadSourceEnum) {
7
+ /** Отдельный виджет-форма заявки на сайте клиента. */
8
+ LeadSourceEnum["WIDGET_FORM"] = "widget-form";
9
+ /** Кнопка «Оставить заявку» в виджете онлайн-записи. */
10
+ LeadSourceEnum["BOOKING_WIDGET"] = "booking-widget";
11
+ /** Заявка на подбор времени в пакетном предложении. */
12
+ LeadSourceEnum["PACKAGE_REQUEST"] = "package-request";
13
+ /** Витрина сертификатов. */
14
+ LeadSourceEnum["CERTIFICATES"] = "certificates";
15
+ /** Лид из чата виджета (передача оператору / оставленный контакт). */
16
+ LeadSourceEnum["CHAT"] = "chat";
17
+ /** Создана сотрудником вручную: звонок, соцсети, офлайн. */
18
+ LeadSourceEnum["MANUAL"] = "manual";
19
+ /** Standalone-страница формы по ссылке или QR-коду. */
20
+ LeadSourceEnum["LANDING"] = "landing";
21
+ })(LeadSourceEnum || (exports.LeadSourceEnum = LeadSourceEnum = {}));
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Семантика этапа воронки. Названия и состав колонок арендатор меняет сам,
3
+ * но вся логика (бейдж новых, SLA, конверсия, аналитика) опирается на
4
+ * `kind`, а не на конкретную колонку — поэтому переименование этапа
5
+ * «Новая» в «Входящие» ничего не ломает.
6
+ */
7
+ export declare enum LeadStageKindEnum {
8
+ /** Никто ещё не взял заявку в работу. Считается в бейдже меню. */
9
+ NEW = "new",
10
+ /** Менеджер работает над заявкой. Сюда же добавляются свои этапы. */
11
+ IN_PROGRESS = "in-progress",
12
+ /** Мяч на стороне клиента: ждём ответа, оплаты, согласования. */
13
+ WAITING = "waiting",
14
+ /** Успех: заявка превратилась в бронь или продажу сертификата. */
15
+ WON = "won",
16
+ /** Отказ. Требует причину (`lostReason`). */
17
+ LOST = "lost"
18
+ }
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LeadStageKindEnum = void 0;
4
+ /**
5
+ * Семантика этапа воронки. Названия и состав колонок арендатор меняет сам,
6
+ * но вся логика (бейдж новых, SLA, конверсия, аналитика) опирается на
7
+ * `kind`, а не на конкретную колонку — поэтому переименование этапа
8
+ * «Новая» в «Входящие» ничего не ломает.
9
+ */
10
+ var LeadStageKindEnum;
11
+ (function (LeadStageKindEnum) {
12
+ /** Никто ещё не взял заявку в работу. Считается в бейдже меню. */
13
+ LeadStageKindEnum["NEW"] = "new";
14
+ /** Менеджер работает над заявкой. Сюда же добавляются свои этапы. */
15
+ LeadStageKindEnum["IN_PROGRESS"] = "in-progress";
16
+ /** Мяч на стороне клиента: ждём ответа, оплаты, согласования. */
17
+ LeadStageKindEnum["WAITING"] = "waiting";
18
+ /** Успех: заявка превратилась в бронь или продажу сертификата. */
19
+ LeadStageKindEnum["WON"] = "won";
20
+ /** Отказ. Требует причину (`lostReason`). */
21
+ LeadStageKindEnum["LOST"] = "lost";
22
+ })(LeadStageKindEnum || (exports.LeadStageKindEnum = LeadStageKindEnum = {}));
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Ответ на одно поле формы. Храним и «сырое» значение, и снимок подписи:
3
+ * если менеджер потом переименует вариант или выключит поле, карточка
4
+ * старой заявки всё равно покажет то, что реально видел клиент.
5
+ */
6
+ export interface LeadAnswer {
7
+ fieldId: string;
8
+ /**
9
+ * Значение: строка для текста/даты, число для гостей, массив id опций
10
+ * для мультивыбора, boolean для согласия.
11
+ */
12
+ value: string | number | boolean | string[] | null;
13
+ /** Снимок подписи поля на момент отправки, на языке клиента. */
14
+ label?: string;
15
+ /** Снимок подписей выбранных вариантов. */
16
+ valueLabels?: string[];
17
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,39 @@
1
+ import { LeadLostReasonEnum } from './enums/lead-lost-reason.enum';
2
+ import { LeadSourceEnum } from './enums/lead-source.enum';
3
+ import { LeadStageRO } from './lead-stage.ro';
4
+ /**
5
+ * Карточка канбана. Урезана относительно {@link LeadRO}: доска грузит
6
+ * десятки карточек на колонку, полные ответы формы там не нужны.
7
+ */
8
+ export declare class LeadBoardCardRO {
9
+ id: number;
10
+ source: LeadSourceEnum;
11
+ name: string | null;
12
+ phone: string | null;
13
+ /** Обрезанный комментарий клиента для превью в карточке. */
14
+ comment: string | null;
15
+ preferredDate: string | null;
16
+ guests: number | null;
17
+ questroomId: number | null;
18
+ clientId: number | null;
19
+ assigneeId: number | null;
20
+ nextActionDate: string | null;
21
+ lostReason: LeadLostReasonEnum | null;
22
+ /** Ещё не открывали — карточка помечается как новая. */
23
+ unread: boolean;
24
+ /** Просрочен SLA этапа или дата следующего шага. */
25
+ overdue: boolean;
26
+ stageChangedAt: Date;
27
+ createdAt: Date;
28
+ }
29
+ export declare class LeadBoardColumnRO {
30
+ stage: LeadStageRO;
31
+ cards: LeadBoardCardRO[];
32
+ /** Всего заявок на этапе — карточек в ответе может быть меньше. */
33
+ total: number;
34
+ /** Сколько из них просрочено: счётчик в заголовке колонки. */
35
+ overdue: number;
36
+ }
37
+ export declare class LeadBoardRO {
38
+ columns: LeadBoardColumnRO[];
39
+ }
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LeadBoardRO = exports.LeadBoardColumnRO = exports.LeadBoardCardRO = void 0;
4
+ /**
5
+ * Карточка канбана. Урезана относительно {@link LeadRO}: доска грузит
6
+ * десятки карточек на колонку, полные ответы формы там не нужны.
7
+ */
8
+ class LeadBoardCardRO {
9
+ }
10
+ exports.LeadBoardCardRO = LeadBoardCardRO;
11
+ class LeadBoardColumnRO {
12
+ }
13
+ exports.LeadBoardColumnRO = LeadBoardColumnRO;
14
+ class LeadBoardRO {
15
+ }
16
+ exports.LeadBoardRO = LeadBoardRO;
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Данные для предзаполнения новой брони из заявки. Отдаются отдельным
3
+ * запросом, чтобы модалка заказа не знала про устройство заявки: она
4
+ * получает готовый набор значений.
5
+ */
6
+ export declare class LeadConversionPrefillRO {
7
+ leadId: number;
8
+ clientId: number | null;
9
+ name: string | null;
10
+ phone: string | null;
11
+ email: string | null;
12
+ /** `yyyy-MM-dd`, если клиент указал желаемую дату. */
13
+ date: string | null;
14
+ time: string | null;
15
+ guests: number | null;
16
+ questroomId: number | null;
17
+ locationId: number | null;
18
+ /** Комментарий клиента — переносим в заметку к брони. */
19
+ comment: string | null;
20
+ }
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LeadConversionPrefillRO = void 0;
4
+ /**
5
+ * Данные для предзаполнения новой брони из заявки. Отдаются отдельным
6
+ * запросом, чтобы модалка заказа не знала про устройство заявки: она
7
+ * получает готовый набор значений.
8
+ */
9
+ class LeadConversionPrefillRO {
10
+ }
11
+ exports.LeadConversionPrefillRO = LeadConversionPrefillRO;
@@ -0,0 +1,9 @@
1
+ /** Счётчики для бейджа в меню и подсветки фильтров. */
2
+ export declare class LeadCountersRO {
3
+ /** Не открытые ни разу заявки на этапах вида `NEW`. Это и есть бейдж. */
4
+ new: number;
5
+ /** Просроченные по SLA этапа или по дате следующего шага. */
6
+ overdue: number;
7
+ /** Заявки, назначенные на текущего сотрудника и не закрытые. */
8
+ mine: number;
9
+ }
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LeadCountersRO = void 0;
4
+ /** Счётчики для бейджа в меню и подсветки фильтров. */
5
+ class LeadCountersRO {
6
+ }
7
+ exports.LeadCountersRO = LeadCountersRO;
@@ -0,0 +1,13 @@
1
+ import { LeadEventTypeEnum } from './enums/lead-event-type.enum';
2
+ export declare class LeadEventRO {
3
+ id: number;
4
+ type: LeadEventTypeEnum;
5
+ /** Кто инициировал. `null` — событие от клиента или системы. */
6
+ userId: number | null;
7
+ /**
8
+ * Детали события: `{ fromStageId, toStageId }`, `{ assigneeId }`,
9
+ * `{ orderId }` и т.п. Свободная форма — таймлайн рендерит по `type`.
10
+ */
11
+ payload: Record<string, unknown> | null;
12
+ createdAt: Date;
13
+ }
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.LeadEventRO = void 0;
13
+ const class_transformer_1 = require("class-transformer");
14
+ const lead_event_type_enum_1 = require("./enums/lead-event-type.enum");
15
+ class LeadEventRO {
16
+ }
17
+ exports.LeadEventRO = LeadEventRO;
18
+ __decorate([
19
+ (0, class_transformer_1.Expose)(),
20
+ __metadata("design:type", Number)
21
+ ], LeadEventRO.prototype, "id", void 0);
22
+ __decorate([
23
+ (0, class_transformer_1.Expose)(),
24
+ __metadata("design:type", String)
25
+ ], LeadEventRO.prototype, "type", void 0);
26
+ __decorate([
27
+ (0, class_transformer_1.Expose)(),
28
+ __metadata("design:type", Number)
29
+ ], LeadEventRO.prototype, "userId", void 0);
30
+ __decorate([
31
+ (0, class_transformer_1.Expose)(),
32
+ __metadata("design:type", Object)
33
+ ], LeadEventRO.prototype, "payload", void 0);
34
+ __decorate([
35
+ (0, class_transformer_1.Expose)(),
36
+ __metadata("design:type", Date)
37
+ ], LeadEventRO.prototype, "createdAt", void 0);
@@ -0,0 +1,15 @@
1
+ import { LocalizedString } from '../shared/localized-string.type';
2
+ import { LeadFormField } from './lead-form-field.type';
3
+ /**
4
+ * Рекомендуемые (best-practice) значения формы. Не сохраняются — фронт
5
+ * перезаписывает ими черновик по кнопке «Рекомендуемые значения», как в
6
+ * редакторе опросов.
7
+ */
8
+ export declare class LeadFormDefaultsRO {
9
+ clientTitle: LocalizedString;
10
+ description: LocalizedString;
11
+ submitLabel: LocalizedString;
12
+ successTitle: LocalizedString;
13
+ successDescription: LocalizedString;
14
+ fields: LeadFormField[];
15
+ }
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LeadFormDefaultsRO = void 0;
4
+ /**
5
+ * Рекомендуемые (best-practice) значения формы. Не сохраняются — фронт
6
+ * перезаписывает ими черновик по кнопке «Рекомендуемые значения», как в
7
+ * редакторе опросов.
8
+ */
9
+ class LeadFormDefaultsRO {
10
+ }
11
+ exports.LeadFormDefaultsRO = LeadFormDefaultsRO;
@@ -0,0 +1,59 @@
1
+ import { Languages } from '../shared/enum/languages.enum';
2
+ import { LocalizedString } from '../shared/localized-string.type';
3
+ import { LeadFieldMappingEnum } from './enums/lead-field-mapping.enum';
4
+ import { LeadFieldTypeEnum } from './enums/lead-field-type.enum';
5
+ export interface LeadFormFieldOption {
6
+ /** Стабильный язык-независимый идентификатор варианта (для аналитики). */
7
+ id: string;
8
+ order: number;
9
+ i18n: LocalizedString;
10
+ /** Активен ли вариант. Выключенный не показывается, но резолвит подпись
11
+ * в старых ответах. `undefined` — активен. */
12
+ active?: boolean;
13
+ }
14
+ /**
15
+ * Условие показа поля. Пока поддержан один сценарий — «показать, если в
16
+ * select/radio выбран вариант `optionId`». Структура намеренно повторяет
17
+ * `SurveyQuestionConditional`, чтобы позже расширить её без миграции.
18
+ */
19
+ export interface LeadFormFieldConditional {
20
+ fieldId: string;
21
+ optionId?: string;
22
+ }
23
+ export interface LeadFormFieldI18n {
24
+ /** Подпись поля. */
25
+ title: string;
26
+ /** Подсказка под полем. */
27
+ description?: string;
28
+ /** Placeholder внутри инпута. */
29
+ placeholder?: string;
30
+ }
31
+ export interface LeadFormField {
32
+ /** Стабильный язык-независимый идентификатор поля. */
33
+ id: string;
34
+ type: LeadFieldTypeEnum;
35
+ required: boolean;
36
+ /** Выключенное поле не показывается и не участвует в логике. */
37
+ enabled: boolean;
38
+ order: number;
39
+ /** Для select / radio / checkbox. */
40
+ options?: LeadFormFieldOption[];
41
+ /**
42
+ * На какой атрибут заявки ложится ответ. Без маппинга ответ останется
43
+ * только внутри `answers` и не попадёт в поиск, склейку с клиентом и
44
+ * предзаполнение брони.
45
+ */
46
+ mapsTo?: LeadFieldMappingEnum;
47
+ /**
48
+ * Системное поле best-practice шаблона (имя, телефон, комментарий). Его
49
+ * нельзя удалить и нельзя сменить тип или маппинг — на нём держится
50
+ * склейка с клиентом. Переименовать и выключить можно.
51
+ */
52
+ system?: boolean;
53
+ /** Границы для GUESTS / NUMBER. */
54
+ min?: number;
55
+ max?: number;
56
+ /** Условная логика показа. `null`/отсутствие — показывать всегда. */
57
+ conditional?: LeadFormFieldConditional | null;
58
+ i18n: Partial<Record<Languages, LeadFormFieldI18n>>;
59
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,24 @@
1
+ import { LocalizedString } from '../shared/localized-string.type';
2
+ import { LeadFormField } from './lead-form-field.type';
3
+ export declare class LeadFormRO {
4
+ id: number;
5
+ /** Внутреннее название формы — видно только сотрудникам. */
6
+ title: string;
7
+ active: boolean;
8
+ /** Заголовок формы для клиента. */
9
+ clientTitle: LocalizedString;
10
+ description: LocalizedString;
11
+ submitLabel: LocalizedString;
12
+ /** Текст экрана «спасибо» после отправки. */
13
+ successTitle: LocalizedString;
14
+ successDescription: LocalizedString;
15
+ fields: LeadFormField[];
16
+ /** Ответственный по умолчанию для заявок с этой формы. */
17
+ defaultAssigneeId: number | null;
18
+ /** Слать ли клиенту письмо «заявка принята» (если он оставил email). */
19
+ clientAutoreply: boolean;
20
+ /** Публичный идентификатор для standalone-страницы и QR. */
21
+ uuid: string;
22
+ createdAt: Date;
23
+ updatedAt: Date;
24
+ }
@@ -0,0 +1,72 @@
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.LeadFormRO = void 0;
13
+ const class_transformer_1 = require("class-transformer");
14
+ class LeadFormRO {
15
+ }
16
+ exports.LeadFormRO = LeadFormRO;
17
+ __decorate([
18
+ (0, class_transformer_1.Expose)(),
19
+ __metadata("design:type", Number)
20
+ ], LeadFormRO.prototype, "id", void 0);
21
+ __decorate([
22
+ (0, class_transformer_1.Expose)(),
23
+ __metadata("design:type", String)
24
+ ], LeadFormRO.prototype, "title", void 0);
25
+ __decorate([
26
+ (0, class_transformer_1.Expose)(),
27
+ __metadata("design:type", Boolean)
28
+ ], LeadFormRO.prototype, "active", void 0);
29
+ __decorate([
30
+ (0, class_transformer_1.Expose)(),
31
+ __metadata("design:type", Object)
32
+ ], LeadFormRO.prototype, "clientTitle", void 0);
33
+ __decorate([
34
+ (0, class_transformer_1.Expose)(),
35
+ __metadata("design:type", Object)
36
+ ], LeadFormRO.prototype, "description", void 0);
37
+ __decorate([
38
+ (0, class_transformer_1.Expose)(),
39
+ __metadata("design:type", Object)
40
+ ], LeadFormRO.prototype, "submitLabel", void 0);
41
+ __decorate([
42
+ (0, class_transformer_1.Expose)(),
43
+ __metadata("design:type", Object)
44
+ ], LeadFormRO.prototype, "successTitle", void 0);
45
+ __decorate([
46
+ (0, class_transformer_1.Expose)(),
47
+ __metadata("design:type", Object)
48
+ ], LeadFormRO.prototype, "successDescription", void 0);
49
+ __decorate([
50
+ (0, class_transformer_1.Expose)(),
51
+ __metadata("design:type", Array)
52
+ ], LeadFormRO.prototype, "fields", void 0);
53
+ __decorate([
54
+ (0, class_transformer_1.Expose)(),
55
+ __metadata("design:type", Number)
56
+ ], LeadFormRO.prototype, "defaultAssigneeId", void 0);
57
+ __decorate([
58
+ (0, class_transformer_1.Expose)(),
59
+ __metadata("design:type", Boolean)
60
+ ], LeadFormRO.prototype, "clientAutoreply", void 0);
61
+ __decorate([
62
+ (0, class_transformer_1.Expose)(),
63
+ __metadata("design:type", String)
64
+ ], LeadFormRO.prototype, "uuid", void 0);
65
+ __decorate([
66
+ (0, class_transformer_1.Expose)(),
67
+ __metadata("design:type", Date)
68
+ ], LeadFormRO.prototype, "createdAt", void 0);
69
+ __decorate([
70
+ (0, class_transformer_1.Expose)(),
71
+ __metadata("design:type", Date)
72
+ ], LeadFormRO.prototype, "updatedAt", void 0);
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Технический контекст отправки: откуда пришёл клиент и с чего. Собирается
3
+ * автоматически виджетом, менеджеру нужен для оценки каналов.
4
+ */
5
+ export interface LeadMeta {
6
+ utmSource?: string;
7
+ utmMedium?: string;
8
+ utmCampaign?: string;
9
+ utmContent?: string;
10
+ utmTerm?: string;
11
+ /** Страница, на которой стоял виджет. */
12
+ pageUrl?: string;
13
+ referrer?: string;
14
+ userAgent?: string;
15
+ /** Язык интерфейса виджета на момент отправки. */
16
+ language?: string;
17
+ /** UUID виджета, с которого пришла заявка. */
18
+ widgetUuid?: string;
19
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,18 @@
1
+ import { LeadSourceEnum } from './enums/lead-source.enum';
2
+ /** Имя события в namespace `/crm`. */
3
+ export declare const LEAD_CREATED_EVENT = "lead:new";
4
+ /**
5
+ * Пуш о новой заявке в открытую CRM. Полей ровно столько, сколько нужно
6
+ * тосту: карточку и счётчики фронт всё равно перезапросит по REST, а гонять
7
+ * по сокету всю заявку с ответами формы незачем.
8
+ */
9
+ export declare class LeadCreatedEventRO {
10
+ id: number;
11
+ source: LeadSourceEnum;
12
+ name: string | null;
13
+ phone: string | null;
14
+ guests: number | null;
15
+ preferredDate: string | null;
16
+ /** Кому заявка назначена сразу при создании (дефолт формы). */
17
+ assigneeId: number | null;
18
+ }
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LeadCreatedEventRO = exports.LEAD_CREATED_EVENT = void 0;
4
+ /** Имя события в namespace `/crm`. */
5
+ exports.LEAD_CREATED_EVENT = 'lead:new';
6
+ /**
7
+ * Пуш о новой заявке в открытую CRM. Полей ровно столько, сколько нужно
8
+ * тосту: карточку и счётчики фронт всё равно перезапросит по REST, а гонять
9
+ * по сокету всю заявку с ответами формы незачем.
10
+ */
11
+ class LeadCreatedEventRO {
12
+ }
13
+ exports.LeadCreatedEventRO = LeadCreatedEventRO;
@@ -0,0 +1,20 @@
1
+ import { LocalizedString } from '../shared/localized-string.type';
2
+ import { LeadStageKindEnum } from './enums/lead-stage-kind.enum';
3
+ export declare class LeadStageRO {
4
+ id: number;
5
+ kind: LeadStageKindEnum;
6
+ /** Название колонки. Локализовано: у профиля может быть несколько языков. */
7
+ title: LocalizedString;
8
+ order: number;
9
+ /** Цвет колонки и статуса заявки (токен палитры UI-кита). */
10
+ color: string;
11
+ /** Скрытый этап не показывается в канбане; заявки в нём остаются. */
12
+ hidden: boolean;
13
+ /**
14
+ * Сколько часов заявка может стоять на этапе до подсветки как
15
+ * просроченной. `null` — не следим.
16
+ */
17
+ slaHours: number | null;
18
+ /** Системный этап нельзя удалить и нельзя сменить его `kind`. */
19
+ system: boolean;
20
+ }
@@ -0,0 +1,49 @@
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.LeadStageRO = void 0;
13
+ const class_transformer_1 = require("class-transformer");
14
+ const lead_stage_kind_enum_1 = require("./enums/lead-stage-kind.enum");
15
+ class LeadStageRO {
16
+ }
17
+ exports.LeadStageRO = LeadStageRO;
18
+ __decorate([
19
+ (0, class_transformer_1.Expose)(),
20
+ __metadata("design:type", Number)
21
+ ], LeadStageRO.prototype, "id", void 0);
22
+ __decorate([
23
+ (0, class_transformer_1.Expose)(),
24
+ __metadata("design:type", String)
25
+ ], LeadStageRO.prototype, "kind", void 0);
26
+ __decorate([
27
+ (0, class_transformer_1.Expose)(),
28
+ __metadata("design:type", Object)
29
+ ], LeadStageRO.prototype, "title", void 0);
30
+ __decorate([
31
+ (0, class_transformer_1.Expose)(),
32
+ __metadata("design:type", Number)
33
+ ], LeadStageRO.prototype, "order", void 0);
34
+ __decorate([
35
+ (0, class_transformer_1.Expose)(),
36
+ __metadata("design:type", String)
37
+ ], LeadStageRO.prototype, "color", void 0);
38
+ __decorate([
39
+ (0, class_transformer_1.Expose)(),
40
+ __metadata("design:type", Boolean)
41
+ ], LeadStageRO.prototype, "hidden", void 0);
42
+ __decorate([
43
+ (0, class_transformer_1.Expose)(),
44
+ __metadata("design:type", Number)
45
+ ], LeadStageRO.prototype, "slaHours", void 0);
46
+ __decorate([
47
+ (0, class_transformer_1.Expose)(),
48
+ __metadata("design:type", Boolean)
49
+ ], LeadStageRO.prototype, "system", void 0);
@@ -0,0 +1,42 @@
1
+ import { LeadLostReasonEnum } from './enums/lead-lost-reason.enum';
2
+ import { LeadSourceEnum } from './enums/lead-source.enum';
3
+ import { LeadAnswer } from './lead-answer.type';
4
+ import { LeadMeta } from './lead-meta.type';
5
+ export declare class LeadRO {
6
+ id: number;
7
+ source: LeadSourceEnum;
8
+ formId: number | null;
9
+ stageId: number;
10
+ /** Когда заявка попала на текущий этап. База для SLA. */
11
+ stageChangedAt: Date;
12
+ name: string | null;
13
+ phone: string | null;
14
+ email: string | null;
15
+ /** Свободный комментарий клиента из поля с маппингом `COMMENT`. */
16
+ comment: string | null;
17
+ /** Желаемая дата игры, `yyyy-MM-dd`. */
18
+ preferredDate: string | null;
19
+ /** Желаемое время, `HH:mm`. */
20
+ preferredTime: string | null;
21
+ guests: number | null;
22
+ questroomId: number | null;
23
+ locationId: number | null;
24
+ /** Полные ответы формы со снимком подписей на момент отправки. */
25
+ answers: LeadAnswer[];
26
+ meta: LeadMeta | null;
27
+ clientId: number | null;
28
+ assigneeId: number | null;
29
+ /** Дата следующего шага менеджера. Просрочка подсвечивается в канбане. */
30
+ nextActionDate: string | null;
31
+ lostReason: LeadLostReasonEnum | null;
32
+ /** Результат конверсии: созданная бронь или продажа сертификата. */
33
+ orderId: number | null;
34
+ orderGroupId: number | null;
35
+ certificateSaleId: number | null;
36
+ /** Заполнено, если заявка распознана как повтор с того же телефона. */
37
+ duplicateOfLeadId: number | null;
38
+ /** Когда заявку первый раз открыли. `null` — она ещё «новая» для бейджа. */
39
+ firstViewedAt: Date | null;
40
+ createdAt: Date;
41
+ updatedAt: Date;
42
+ }