@escapenavigator/types 2.0.43 → 2.0.45

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 (181) 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-v2/certificate-settings.ro.d.ts +1 -0
  16. package/dist/certificate-v2/certificate-settings.ro.js +4 -0
  17. package/dist/certificate-v2/update-certificate-settings.dto.d.ts +1 -0
  18. package/dist/certificate-v2/update-certificate-settings.dto.js +5 -0
  19. package/dist/emails/enum/email.senders.d.ts +3 -0
  20. package/dist/emails/enum/email.senders.js +10 -1
  21. package/dist/emails/index.d.ts +2 -2
  22. package/dist/emails/send-email.dto.d.ts +2 -2
  23. package/dist/emails/send-email.dto.js +2 -2
  24. package/dist/fiscal/enum/fiscal-provider.enum.d.ts +4 -0
  25. package/dist/fiscal/enum/fiscal-provider.enum.js +8 -0
  26. package/dist/fiscal/fiscal-option.ro.d.ts +5 -0
  27. package/dist/fiscal/fiscal-option.ro.js +28 -0
  28. package/dist/fiscal/fiscal-settings.ro.d.ts +40 -0
  29. package/dist/fiscal/fiscal-settings.ro.js +157 -0
  30. package/dist/fiscal/update-fiscal-settings.dto.d.ts +18 -0
  31. package/dist/fiscal/update-fiscal-settings.dto.js +114 -0
  32. package/dist/forms/widget/widget-players-form.dto.d.ts +2 -0
  33. package/dist/forms/widget/widget-players-form.dto.js +5 -0
  34. package/dist/lead/create-lead.dto.d.ts +19 -0
  35. package/dist/lead/create-lead.dto.js +89 -0
  36. package/dist/lead/enums/lead-event-type.enum.d.ts +11 -0
  37. package/dist/lead/enums/lead-event-type.enum.js +15 -0
  38. package/dist/lead/enums/lead-field-mapping.enum.d.ts +23 -0
  39. package/dist/lead/enums/lead-field-mapping.enum.js +27 -0
  40. package/dist/lead/enums/lead-field-type.enum.d.ts +29 -0
  41. package/dist/lead/enums/lead-field-type.enum.js +33 -0
  42. package/dist/lead/enums/lead-lost-reason.enum.d.ts +11 -0
  43. package/dist/lead/enums/lead-lost-reason.enum.js +15 -0
  44. package/dist/lead/enums/lead-source.enum.d.ts +17 -0
  45. package/dist/lead/enums/lead-source.enum.js +21 -0
  46. package/dist/lead/enums/lead-stage-kind.enum.d.ts +18 -0
  47. package/dist/lead/enums/lead-stage-kind.enum.js +22 -0
  48. package/dist/lead/enums/lead-widget-placement.enum.d.ts +13 -0
  49. package/dist/lead/enums/lead-widget-placement.enum.js +17 -0
  50. package/dist/lead/lead-answer.type.d.ts +17 -0
  51. package/dist/lead/lead-answer.type.js +2 -0
  52. package/dist/lead/lead-board.ro.d.ts +39 -0
  53. package/dist/lead/lead-board.ro.js +16 -0
  54. package/dist/lead/lead-conversion-prefill.ro.d.ts +20 -0
  55. package/dist/lead/lead-conversion-prefill.ro.js +11 -0
  56. package/dist/lead/lead-counters.ro.d.ts +9 -0
  57. package/dist/lead/lead-counters.ro.js +7 -0
  58. package/dist/lead/lead-event.ro.d.ts +13 -0
  59. package/dist/lead/lead-event.ro.js +37 -0
  60. package/dist/lead/lead-form-defaults.ro.d.ts +15 -0
  61. package/dist/lead/lead-form-defaults.ro.js +11 -0
  62. package/dist/lead/lead-form-field.type.d.ts +59 -0
  63. package/dist/lead/lead-form-field.type.js +2 -0
  64. package/dist/lead/lead-form.ro.d.ts +24 -0
  65. package/dist/lead/lead-form.ro.js +72 -0
  66. package/dist/lead/lead-meta.type.d.ts +19 -0
  67. package/dist/lead/lead-meta.type.js +2 -0
  68. package/dist/lead/lead-realtime.ro.d.ts +18 -0
  69. package/dist/lead/lead-realtime.ro.js +13 -0
  70. package/dist/lead/lead-stage.ro.d.ts +20 -0
  71. package/dist/lead/lead-stage.ro.js +49 -0
  72. package/dist/lead/lead-widget-display.ro.d.ts +5 -0
  73. package/dist/lead/lead-widget-display.ro.js +21 -0
  74. package/dist/lead/lead-widget-placement.type.d.ts +12 -0
  75. package/dist/lead/lead-widget-placement.type.js +2 -0
  76. package/dist/lead/lead.ro.d.ts +42 -0
  77. package/dist/lead/lead.ro.js +126 -0
  78. package/dist/lead/link-lead-conversion.dto.d.ts +9 -0
  79. package/dist/lead/link-lead-conversion.dto.js +39 -0
  80. package/dist/lead/public/public-lead-form.ro.d.ts +43 -0
  81. package/dist/lead/public/public-lead-form.ro.js +24 -0
  82. package/dist/lead/public/submit-lead.dto.d.ts +22 -0
  83. package/dist/lead/public/submit-lead.dto.js +62 -0
  84. package/dist/lead/public/submit-lead.ro.d.ts +10 -0
  85. package/dist/lead/public/submit-lead.ro.js +10 -0
  86. package/dist/lead/query-leads.dto.d.ts +29 -0
  87. package/dist/lead/query-leads.dto.js +111 -0
  88. package/dist/lead/update-lead-form.dto.d.ts +25 -0
  89. package/dist/lead/update-lead-form.dto.js +85 -0
  90. package/dist/lead/update-lead-stages.dto.d.ts +20 -0
  91. package/dist/lead/update-lead-stages.dto.js +69 -0
  92. package/dist/lead/update-lead-widget-display.dto.d.ts +16 -0
  93. package/dist/lead/update-lead-widget-display.dto.js +74 -0
  94. package/dist/lead/update-lead.dto.d.ts +23 -0
  95. package/dist/lead/update-lead.dto.js +108 -0
  96. package/dist/openapi/orders/enum/payment-type.enum.d.ts +3 -1
  97. package/dist/openapi/orders/enum/payment-type.enum.js +2 -0
  98. package/dist/openapi/orders/openapi-create-preorder.dto.d.ts +6 -0
  99. package/dist/openapi/orders/openapi-create-preorder.dto.js +7 -0
  100. package/dist/openapi/orders/openapi-order.ro.d.ts +17 -0
  101. package/dist/openapi/orders/openapi-order.ro.js +21 -0
  102. package/dist/openapi/orders/openapi-update-order-players.dto.d.ts +5 -0
  103. package/dist/openapi/orders/openapi-update-order-players.dto.js +7 -0
  104. package/dist/openapi/orders/openapi-update-order.dto.d.ts +5 -0
  105. package/dist/openapi/orders/openapi-update-order.dto.js +7 -0
  106. package/dist/openapi/shared/openapi-create-payment.ro.d.ts +1 -0
  107. package/dist/openapi/shared/openapi-create-payment.ro.js +4 -0
  108. package/dist/openapi/shared/openapi-questroom.ro.d.ts +1 -0
  109. package/dist/openapi/shared/openapi-questroom.ro.js +4 -0
  110. package/dist/openapi/slots/openapi-slot-tariff.ro.d.ts +1 -0
  111. package/dist/openapi/slots/openapi-slot-tariff.ro.js +9 -0
  112. package/dist/openapi/slots/openapi-slot-variation.ro.d.ts +6 -0
  113. package/dist/openapi/slots/openapi-slot-variation.ro.js +46 -0
  114. package/dist/openapi/slots/openapi-upcoming-schedule.dto.d.ts +5 -0
  115. package/dist/openapi/slots/openapi-upcoming-schedule.dto.js +53 -0
  116. package/dist/openapi/slots/openapi-upcoming-slots.ro.d.ts +4 -0
  117. package/dist/openapi/slots/openapi-upcoming-slots.ro.js +29 -0
  118. package/dist/openapi/widget/openapi-widget-info.ro.d.ts +13 -0
  119. package/dist/openapi/widget/openapi-widget-info.ro.js +8 -0
  120. package/dist/order/create-order.dto.d.ts +6 -0
  121. package/dist/order/create-order.dto.js +7 -0
  122. package/dist/order/order.ro.d.ts +12 -0
  123. package/dist/order/order.ro.js +21 -0
  124. package/dist/order/update-order-slot.dto.d.ts +6 -0
  125. package/dist/order/update-order-slot.dto.js +7 -0
  126. package/dist/order/update-players.dto.d.ts +6 -0
  127. package/dist/order/update-players.dto.js +7 -0
  128. package/dist/profile/email/profile-email-type.enum.d.ts +2 -0
  129. package/dist/profile/email/profile-email-type.enum.js +2 -0
  130. package/dist/profile/notification-chanel/notification-chanel-action.enum.d.ts +13 -1
  131. package/dist/profile/notification-chanel/notification-chanel-action.enum.js +14 -1
  132. package/dist/profile/profile.ro.d.ts +2 -0
  133. package/dist/profile/profile.ro.js +8 -0
  134. package/dist/profile/telephony/dto/ingest-telephony-call.dto.d.ts +16 -0
  135. package/dist/profile/telephony/dto/ingest-telephony-call.dto.js +83 -0
  136. package/dist/profile/telephony/dto/send-telephony-test-call.dto.d.ts +3 -0
  137. package/dist/profile/telephony/dto/send-telephony-test-call.dto.js +23 -0
  138. package/dist/profile/telephony/dto/update-telephony-settings.dto.d.ts +3 -0
  139. package/dist/profile/telephony/dto/update-telephony-settings.dto.js +22 -0
  140. package/dist/profile/telephony/enum/call-direction.enum.d.ts +4 -0
  141. package/dist/profile/telephony/enum/call-direction.enum.js +8 -0
  142. package/dist/profile/telephony/enum/call-status.enum.d.ts +7 -0
  143. package/dist/profile/telephony/enum/call-status.enum.js +11 -0
  144. package/dist/profile/telephony/ro/telephony-call.ro.d.ts +19 -0
  145. package/dist/profile/telephony/ro/telephony-call.ro.js +75 -0
  146. package/dist/profile/telephony/ro/telephony-settings.ro.d.ts +18 -0
  147. package/dist/profile/telephony/ro/telephony-settings.ro.js +65 -0
  148. package/dist/questroom/create-questroom.dto.d.ts +1 -0
  149. package/dist/questroom/create-questroom.dto.js +5 -0
  150. package/dist/questroom/questroom-light.ro.d.ts +1 -0
  151. package/dist/questroom/questroom-light.ro.js +4 -0
  152. package/dist/role/create-role.dto.d.ts +1 -0
  153. package/dist/role/create-role.dto.js +6 -0
  154. package/dist/role/role.ro.d.ts +1 -0
  155. package/dist/role/role.ro.js +4 -0
  156. package/dist/shared/localized-string.type.d.ts +8 -0
  157. package/dist/shared/localized-string.type.js +2 -0
  158. package/dist/tariff/create-tariff.dto.d.ts +20 -0
  159. package/dist/tariff/create-tariff.dto.js +34 -0
  160. package/dist/tariff/enum/tariff-reduced-rate-mode.enum.d.ts +12 -0
  161. package/dist/tariff/enum/tariff-reduced-rate-mode.enum.js +16 -0
  162. package/dist/tariff/tariff-light.ro.d.ts +11 -4
  163. package/dist/tariff/tariff-light.ro.js +23 -4
  164. package/dist/tariff/tariff.ro.d.ts +1 -0
  165. package/dist/tariff/tariff.ro.js +4 -0
  166. package/dist/transaction/enum/transaction-source.enum.d.ts +3 -1
  167. package/dist/transaction/enum/transaction-source.enum.js +2 -0
  168. package/dist/tsconfig.build.tsbuildinfo +1 -1
  169. package/dist/user/task/user-task.dto.d.ts +1 -0
  170. package/dist/user/task/user-task.dto.js +5 -0
  171. package/dist/user/task/user-task.ro.d.ts +1 -0
  172. package/dist/user/task/user-task.ro.js +4 -0
  173. package/dist/user-message/create-user-message.dto.d.ts +1 -0
  174. package/dist/user-message/create-user-message.dto.js +5 -0
  175. package/dist/user-message/user-message.ro.d.ts +1 -0
  176. package/dist/widget/create-widget.dto.d.ts +1 -0
  177. package/dist/widget/create-widget.dto.js +7 -0
  178. package/dist/widget/enum/widget-type.enum.d.ts +3 -1
  179. package/dist/widget/enum/widget-type.enum.js +2 -0
  180. package/dist/widget/widget.ro.d.ts +5 -0
  181. package/package.json +2 -2
@@ -0,0 +1,23 @@
1
+ import { LeadLostReasonEnum } from './enums/lead-lost-reason.enum';
2
+ /**
3
+ * Частичное обновление заявки. Переход на этап вида `LOST` требует
4
+ * `lostReason` — проверка в сервисе, а не в DTO, потому что вид этапа
5
+ * известен только после его загрузки.
6
+ */
7
+ export declare class UpdateLeadDto {
8
+ stageId?: number;
9
+ lostReason?: LeadLostReasonEnum | null;
10
+ /** `null` — снять ответственного. */
11
+ assigneeId?: number | null;
12
+ nextActionDate?: string | null;
13
+ clientId?: number | null;
14
+ name?: string;
15
+ phone?: string;
16
+ email?: string;
17
+ comment?: string;
18
+ preferredDate?: string | null;
19
+ preferredTime?: string | null;
20
+ guests?: number | null;
21
+ questroomId?: number | null;
22
+ locationId?: number | null;
23
+ }
@@ -0,0 +1,108 @@
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.UpdateLeadDto = void 0;
13
+ const class_transformer_1 = require("class-transformer");
14
+ const class_validator_1 = require("class-validator");
15
+ const lead_lost_reason_enum_1 = require("./enums/lead-lost-reason.enum");
16
+ /**
17
+ * Частичное обновление заявки. Переход на этап вида `LOST` требует
18
+ * `lostReason` — проверка в сервисе, а не в DTO, потому что вид этапа
19
+ * известен только после его загрузки.
20
+ */
21
+ class UpdateLeadDto {
22
+ }
23
+ exports.UpdateLeadDto = UpdateLeadDto;
24
+ __decorate([
25
+ (0, class_validator_1.IsOptional)(),
26
+ (0, class_validator_1.IsInt)(),
27
+ (0, class_transformer_1.Expose)(),
28
+ __metadata("design:type", Number)
29
+ ], UpdateLeadDto.prototype, "stageId", void 0);
30
+ __decorate([
31
+ (0, class_validator_1.IsOptional)(),
32
+ (0, class_validator_1.IsEnum)(lead_lost_reason_enum_1.LeadLostReasonEnum),
33
+ (0, class_transformer_1.Expose)(),
34
+ __metadata("design:type", String)
35
+ ], UpdateLeadDto.prototype, "lostReason", void 0);
36
+ __decorate([
37
+ (0, class_validator_1.IsOptional)(),
38
+ (0, class_validator_1.IsInt)(),
39
+ (0, class_transformer_1.Expose)(),
40
+ __metadata("design:type", Number)
41
+ ], UpdateLeadDto.prototype, "assigneeId", void 0);
42
+ __decorate([
43
+ (0, class_validator_1.IsOptional)(),
44
+ (0, class_validator_1.IsString)(),
45
+ (0, class_transformer_1.Expose)(),
46
+ __metadata("design:type", String)
47
+ ], UpdateLeadDto.prototype, "nextActionDate", void 0);
48
+ __decorate([
49
+ (0, class_validator_1.IsOptional)(),
50
+ (0, class_validator_1.IsInt)(),
51
+ (0, class_transformer_1.Expose)(),
52
+ __metadata("design:type", Number)
53
+ ], UpdateLeadDto.prototype, "clientId", void 0);
54
+ __decorate([
55
+ (0, class_validator_1.IsOptional)(),
56
+ (0, class_validator_1.IsString)(),
57
+ (0, class_transformer_1.Expose)(),
58
+ __metadata("design:type", String)
59
+ ], UpdateLeadDto.prototype, "name", void 0);
60
+ __decorate([
61
+ (0, class_validator_1.IsOptional)(),
62
+ (0, class_validator_1.IsString)(),
63
+ (0, class_transformer_1.Expose)(),
64
+ __metadata("design:type", String)
65
+ ], UpdateLeadDto.prototype, "phone", void 0);
66
+ __decorate([
67
+ (0, class_validator_1.IsOptional)(),
68
+ (0, class_validator_1.IsEmail)(),
69
+ (0, class_transformer_1.Expose)(),
70
+ __metadata("design:type", String)
71
+ ], UpdateLeadDto.prototype, "email", void 0);
72
+ __decorate([
73
+ (0, class_validator_1.IsOptional)(),
74
+ (0, class_validator_1.IsString)(),
75
+ (0, class_transformer_1.Expose)(),
76
+ __metadata("design:type", String)
77
+ ], UpdateLeadDto.prototype, "comment", void 0);
78
+ __decorate([
79
+ (0, class_validator_1.IsOptional)(),
80
+ (0, class_validator_1.IsString)(),
81
+ (0, class_transformer_1.Expose)(),
82
+ __metadata("design:type", String)
83
+ ], UpdateLeadDto.prototype, "preferredDate", void 0);
84
+ __decorate([
85
+ (0, class_validator_1.IsOptional)(),
86
+ (0, class_validator_1.IsString)(),
87
+ (0, class_transformer_1.Expose)(),
88
+ __metadata("design:type", String)
89
+ ], UpdateLeadDto.prototype, "preferredTime", void 0);
90
+ __decorate([
91
+ (0, class_validator_1.IsOptional)(),
92
+ (0, class_validator_1.IsInt)(),
93
+ (0, class_validator_1.Min)(1),
94
+ (0, class_transformer_1.Expose)(),
95
+ __metadata("design:type", Number)
96
+ ], UpdateLeadDto.prototype, "guests", void 0);
97
+ __decorate([
98
+ (0, class_validator_1.IsOptional)(),
99
+ (0, class_validator_1.IsInt)(),
100
+ (0, class_transformer_1.Expose)(),
101
+ __metadata("design:type", Number)
102
+ ], UpdateLeadDto.prototype, "questroomId", void 0);
103
+ __decorate([
104
+ (0, class_validator_1.IsOptional)(),
105
+ (0, class_validator_1.IsInt)(),
106
+ (0, class_transformer_1.Expose)(),
107
+ __metadata("design:type", Number)
108
+ ], UpdateLeadDto.prototype, "locationId", void 0);
@@ -3,5 +3,7 @@ export declare enum PaymentMethodEnum {
3
3
  PAYPAL = "paypal",
4
4
  SQUARE = "square",
5
5
  BS = "bs",
6
- CASH = "cash"
6
+ CASH = "cash",
7
+ CLOUD_PAYMENTS = "cloudpayments",
8
+ YOOKASSA = "yookassa"
7
9
  }
@@ -8,4 +8,6 @@ var PaymentMethodEnum;
8
8
  PaymentMethodEnum["SQUARE"] = "square";
9
9
  PaymentMethodEnum["BS"] = "bs";
10
10
  PaymentMethodEnum["CASH"] = "cash";
11
+ PaymentMethodEnum["CLOUD_PAYMENTS"] = "cloudpayments";
12
+ PaymentMethodEnum["YOOKASSA"] = "yookassa";
11
13
  })(PaymentMethodEnum || (exports.PaymentMethodEnum = PaymentMethodEnum = {}));
@@ -23,6 +23,12 @@ export declare class OpenapiCreatePreorderDto extends ClientFormDto {
23
23
  attachToOrderTokens?: string[];
24
24
  players: number;
25
25
  children: number;
26
+ /**
27
+ * Сколько мест из `players` идёт по льготной ставке тарифа (школьники,
28
+ * студенты). Верхнюю границу считает бэкенд из минимальной стоимости игры
29
+ * — превышение отклоняется как `reducedPlayersLimitExceeded`.
30
+ */
31
+ reducedPlayers?: number;
26
32
  /**
27
33
  * Состав группы не определён: гость выбрал «Определимся на месте»
28
34
  * (playersSelectMode=OPTIONAL) или квест вовсе не спрашивает количество
@@ -85,6 +85,13 @@ __decorate([
85
85
  (0, class_transformer_1.Expose)(),
86
86
  __metadata("design:type", Number)
87
87
  ], OpenapiCreatePreorderDto.prototype, "children", void 0);
88
+ __decorate([
89
+ (0, class_validator_1.IsOptional)(),
90
+ (0, class_validator_1.IsInt)(),
91
+ (0, class_validator_1.Min)(0),
92
+ (0, class_transformer_1.Expose)(),
93
+ __metadata("design:type", Number)
94
+ ], OpenapiCreatePreorderDto.prototype, "reducedPlayers", void 0);
88
95
  __decorate([
89
96
  (0, class_validator_1.IsOptional)(),
90
97
  (0, class_validator_1.IsBoolean)(),
@@ -2,6 +2,7 @@ import { OrderPenaltyTypeEnum } from '../../order-penalty/enum/order-penalty-typ
2
2
  import { ProfileCurrencyEnum } from '../../profile/enum/profile-currency';
3
3
  import { QuestroomCancelationTypeEnum } from '../../questroom/enum/questroom-cancelation-type.enum';
4
4
  import { Languages } from '../../shared/enum/languages.enum';
5
+ import { TariffReducedRateModeEnum } from '../../tariff/enum/tariff-reduced-rate-mode.enum';
5
6
  import { OpenapiClientRO } from '../shared/openapi-client.ro';
6
7
  import { OpenapiOrderCertificateRO } from '../shared/openapi-order-certificate.ro';
7
8
  import { OpenapiOrderTransactionRO } from '../shared/openapi-order-transaction.ro';
@@ -57,6 +58,22 @@ export declare class OpenapiOrderRO extends QuestroomRow {
57
58
  total: number;
58
59
  players: number;
59
60
  children: number;
61
+ /**
62
+ * Сколько мест из `players` идёт по льготной ставке тарифа (школьники,
63
+ * студенты). Каждое такое место уменьшает цену уровня, но не добавляет
64
+ * участника — цена по-прежнему ищется по `players`.
65
+ */
66
+ reducedPlayers: number;
67
+ /** Название льготной категории на момент брони, например «Школьники». */
68
+ reducedTitle?: string | null;
69
+ /**
70
+ * Снимок льготной ставки и минимальной стоимости игры с тарифа. Виджет
71
+ * считает по ним цену и лимит льготных мест той же формулой, что бэкенд,
72
+ * поэтому показанная сумма совпадает с той, по которой оформится бронь.
73
+ */
74
+ reducedRateMode?: TariffReducedRateModeEnum | null;
75
+ reducedRate: number;
76
+ minGameAmount: number;
60
77
  /**
61
78
  * Состав группы не определён («Определимся на месте»). `players` при
62
79
  * этом = минимальный состав, а `total` — базовая стоимость «от».
@@ -16,6 +16,7 @@ const order_penalty_type_enum_1 = require("../../order-penalty/enum/order-penalt
16
16
  const profile_currency_1 = require("../../profile/enum/profile-currency");
17
17
  const questroom_cancelation_type_enum_1 = require("../../questroom/enum/questroom-cancelation-type.enum");
18
18
  const languages_enum_1 = require("../../shared/enum/languages.enum");
19
+ const tariff_reduced_rate_mode_enum_1 = require("../../tariff/enum/tariff-reduced-rate-mode.enum");
19
20
  const transaction_type_enum_1 = require("../../transaction/enum/transaction-type.enum");
20
21
  const openapi_client_ro_1 = require("../shared/openapi-client.ro");
21
22
  const openapi_order_certificate_ro_1 = require("../shared/openapi-order-certificate.ro");
@@ -171,6 +172,26 @@ __decorate([
171
172
  (0, class_transformer_1.Expose)(),
172
173
  __metadata("design:type", Number)
173
174
  ], OpenapiOrderRO.prototype, "children", void 0);
175
+ __decorate([
176
+ (0, class_transformer_1.Expose)(),
177
+ __metadata("design:type", Number)
178
+ ], OpenapiOrderRO.prototype, "reducedPlayers", void 0);
179
+ __decorate([
180
+ (0, class_transformer_1.Expose)(),
181
+ __metadata("design:type", String)
182
+ ], OpenapiOrderRO.prototype, "reducedTitle", void 0);
183
+ __decorate([
184
+ (0, class_transformer_1.Expose)(),
185
+ __metadata("design:type", String)
186
+ ], OpenapiOrderRO.prototype, "reducedRateMode", void 0);
187
+ __decorate([
188
+ (0, class_transformer_1.Expose)(),
189
+ __metadata("design:type", Number)
190
+ ], OpenapiOrderRO.prototype, "reducedRate", void 0);
191
+ __decorate([
192
+ (0, class_transformer_1.Expose)(),
193
+ __metadata("design:type", Number)
194
+ ], OpenapiOrderRO.prototype, "minGameAmount", void 0);
174
195
  __decorate([
175
196
  (0, class_transformer_1.Expose)(),
176
197
  __metadata("design:type", Boolean)
@@ -4,4 +4,9 @@ export declare class OpenapiUpdateOrderPLayersDto {
4
4
  minPlayers: number;
5
5
  players: number;
6
6
  children: number;
7
+ /**
8
+ * Льготные места. Не передано — остаётся прежнее значение брони. Лимит
9
+ * пересчитывает бэкенд из минимальной стоимости игры.
10
+ */
11
+ reducedPlayers?: number;
7
12
  }
@@ -42,3 +42,10 @@ __decorate([
42
42
  (0, class_transformer_1.Expose)(),
43
43
  __metadata("design:type", Number)
44
44
  ], OpenapiUpdateOrderPLayersDto.prototype, "children", void 0);
45
+ __decorate([
46
+ (0, class_validator_1.IsOptional)(),
47
+ (0, class_validator_1.IsInt)(),
48
+ (0, class_validator_1.Min)(0),
49
+ (0, class_transformer_1.Expose)(),
50
+ __metadata("design:type", Number)
51
+ ], OpenapiUpdateOrderPLayersDto.prototype, "reducedPlayers", void 0);
@@ -5,6 +5,11 @@ export declare class OpenapiUpdateOrderDto extends ClientFormDto {
5
5
  orderToken?: string;
6
6
  players?: number;
7
7
  children?: number;
8
+ /**
9
+ * Льготные места. Не передано — берётся значение, уже сохранённое на брони;
10
+ * лимит всё равно пересчитывается по новому составу.
11
+ */
12
+ reducedPlayers?: number;
8
13
  /**
9
14
  * Состав не определён («Определимся на месте»). Прокидывается при
10
15
  * повторном сабмите шага «Контакт» (retry-путь виджета), чтобы флаг на
@@ -35,6 +35,13 @@ __decorate([
35
35
  (0, class_transformer_1.Expose)(),
36
36
  __metadata("design:type", Number)
37
37
  ], OpenapiUpdateOrderDto.prototype, "children", void 0);
38
+ __decorate([
39
+ (0, class_validator_1.IsOptional)(),
40
+ (0, class_validator_1.IsInt)(),
41
+ (0, class_validator_1.Min)(0),
42
+ (0, class_transformer_1.Expose)(),
43
+ __metadata("design:type", Number)
44
+ ], OpenapiUpdateOrderDto.prototype, "reducedPlayers", void 0);
38
45
  __decorate([
39
46
  (0, class_validator_1.IsOptional)(),
40
47
  (0, class_validator_1.IsBoolean)(),
@@ -6,4 +6,5 @@ export declare class OpenapiCreatePaymentRO {
6
6
  type: 'order' | 'certificate' | 'navigatorCertificate';
7
7
  token: string;
8
8
  currency: ProfileCurrencyEnum;
9
+ provider?: 'stripe' | 'paypal' | 'square' | 'cloudpayments' | 'yookassa';
9
10
  }
@@ -39,3 +39,7 @@ __decorate([
39
39
  (0, class_transformer_1.Expose)(),
40
40
  __metadata("design:type", String)
41
41
  ], OpenapiCreatePaymentRO.prototype, "currency", void 0);
42
+ __decorate([
43
+ (0, class_transformer_1.Expose)(),
44
+ __metadata("design:type", String)
45
+ ], OpenapiCreatePaymentRO.prototype, "provider", void 0);
@@ -75,6 +75,7 @@ export declare class OpenapiQuestroomRO {
75
75
  squareCashbox: number;
76
76
  daysForBooking: number;
77
77
  bsCashbox: number;
78
+ ruOnlineCashbox: number;
78
79
  paypalCashbox: number;
79
80
  importantInfo: string;
80
81
  modes: Mode[];
@@ -225,6 +225,10 @@ __decorate([
225
225
  (0, class_transformer_1.Expose)(),
226
226
  __metadata("design:type", Number)
227
227
  ], OpenapiQuestroomRO.prototype, "bsCashbox", void 0);
228
+ __decorate([
229
+ (0, class_transformer_1.Expose)(),
230
+ __metadata("design:type", Number)
231
+ ], OpenapiQuestroomRO.prototype, "ruOnlineCashbox", void 0);
228
232
  __decorate([
229
233
  (0, class_transformer_1.Expose)(),
230
234
  __metadata("design:type", Number)
@@ -3,4 +3,5 @@ export declare class OpenapiSlotTariffRO {
3
3
  price: {
4
4
  [key: string]: number;
5
5
  };
6
+ minGameAmount?: number;
6
7
  }
@@ -32,3 +32,12 @@ __decorate([
32
32
  (0, class_transformer_1.Expose)(),
33
33
  __metadata("design:type", Object)
34
34
  ], OpenapiSlotTariffRO.prototype, "price", void 0);
35
+ __decorate([
36
+ (0, swagger_1.ApiProperty)({
37
+ description: 'Minimum game price in minor currency units: the booking never costs less, no matter which discounts apply. `0` means the tariff has no minimum. Needed so the schedule does not advertise a discounted "from" price that the booking flow will refuse.',
38
+ required: false,
39
+ example: 8800,
40
+ }),
41
+ (0, class_transformer_1.Expose)(),
42
+ __metadata("design:type", Number)
43
+ ], OpenapiSlotTariffRO.prototype, "minGameAmount", void 0);
@@ -1,3 +1,4 @@
1
+ import { TariffReducedRateModeEnum } from '../../tariff/enum/tariff-reduced-rate-mode.enum';
1
2
  export declare class OpenapiSlotVariationRO {
2
3
  id: string;
3
4
  tariffId: number;
@@ -8,6 +9,11 @@ export declare class OpenapiSlotVariationRO {
8
9
  isFree: boolean;
9
10
  tariff: Record<string, number>;
10
11
  childPriceDescription?: string | null;
12
+ minGameAmount: number;
13
+ reducedRateMode?: TariffReducedRateModeEnum | null;
14
+ reducedRate: number;
15
+ reducedTitle?: string | null;
16
+ reducedPriceDescription?: string | null;
11
17
  minPlayers: number;
12
18
  maxPlayers: number;
13
19
  numSeatsAvailable: number;
@@ -12,6 +12,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.OpenapiSlotVariationRO = void 0;
13
13
  const swagger_1 = require("@nestjs/swagger");
14
14
  const class_transformer_1 = require("class-transformer");
15
+ const tariff_reduced_rate_mode_enum_1 = require("../../tariff/enum/tariff-reduced-rate-mode.enum");
15
16
  class OpenapiSlotVariationRO {
16
17
  }
17
18
  exports.OpenapiSlotVariationRO = OpenapiSlotVariationRO;
@@ -92,6 +93,51 @@ __decorate([
92
93
  (0, class_transformer_1.Expose)(),
93
94
  __metadata("design:type", String)
94
95
  ], OpenapiSlotVariationRO.prototype, "childPriceDescription", void 0);
96
+ __decorate([
97
+ (0, swagger_1.ApiProperty)({
98
+ description: 'Minimum game price in minor units: the booking never costs less than this, ' +
99
+ 'whatever the team composition or the discounts applied. `0` — no minimum. ' +
100
+ 'It is also what limits how many reduced-rate seats fit into a team.',
101
+ example: 9800,
102
+ }),
103
+ (0, class_transformer_1.Expose)(),
104
+ __metadata("design:type", Number)
105
+ ], OpenapiSlotVariationRO.prototype, "minGameAmount", void 0);
106
+ __decorate([
107
+ (0, swagger_1.ApiProperty)({
108
+ description: 'How the reduced rate is defined: `delta` — a reduced guest pays `reducedRate` ' +
109
+ 'less than a regular one, `fixed` — a reduced guest pays `reducedRate`. ' +
110
+ '`null` — the variation has no reduced seats.',
111
+ required: false,
112
+ enum: tariff_reduced_rate_mode_enum_1.TariffReducedRateModeEnum,
113
+ }),
114
+ (0, class_transformer_1.Expose)(),
115
+ __metadata("design:type", String)
116
+ ], OpenapiSlotVariationRO.prototype, "reducedRateMode", void 0);
117
+ __decorate([
118
+ (0, swagger_1.ApiProperty)({
119
+ description: 'Reduced rate in minor units, see `reducedRateMode`.',
120
+ example: 500,
121
+ }),
122
+ (0, class_transformer_1.Expose)(),
123
+ __metadata("design:type", Number)
124
+ ], OpenapiSlotVariationRO.prototype, "reducedRate", void 0);
125
+ __decorate([
126
+ (0, swagger_1.ApiProperty)({
127
+ description: 'Name of the reduced category shown to guests, e.g. "Students"',
128
+ required: false,
129
+ }),
130
+ (0, class_transformer_1.Expose)(),
131
+ __metadata("design:type", String)
132
+ ], OpenapiSlotVariationRO.prototype, "reducedTitle", void 0);
133
+ __decorate([
134
+ (0, swagger_1.ApiProperty)({
135
+ description: 'Optional note for the reduced rate (e.g. "bring a student ID"), shown next to the reduced seats picker',
136
+ required: false,
137
+ }),
138
+ (0, class_transformer_1.Expose)(),
139
+ __metadata("design:type", String)
140
+ ], OpenapiSlotVariationRO.prototype, "reducedPriceDescription", void 0);
95
141
  __decorate([
96
142
  (0, swagger_1.ApiProperty)({
97
143
  description: 'Minimum number of players that can book this variation',
@@ -0,0 +1,5 @@
1
+ export declare class OpenapiUpcomingScheduleDto {
2
+ questroomId: number;
3
+ date: string;
4
+ limit?: number;
5
+ }
@@ -0,0 +1,53 @@
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.OpenapiUpcomingScheduleDto = void 0;
13
+ const swagger_1 = require("@nestjs/swagger");
14
+ const class_transformer_1 = require("class-transformer");
15
+ const class_validator_1 = require("class-validator");
16
+ const is_not_blank_1 = require("../../shared/is-not-blank");
17
+ const UPCOMING_LIMIT_CAP = 12;
18
+ class OpenapiUpcomingScheduleDto {
19
+ }
20
+ exports.OpenapiUpcomingScheduleDto = OpenapiUpcomingScheduleDto;
21
+ __decorate([
22
+ (0, swagger_1.ApiProperty)({
23
+ description: 'Quest room identifier to fetch upcoming sessions for.',
24
+ format: 'int32',
25
+ example: 123,
26
+ }),
27
+ (0, is_not_blank_1.IsNotBlank)(),
28
+ __metadata("design:type", Number)
29
+ ], OpenapiUpcomingScheduleDto.prototype, "questroomId", void 0);
30
+ __decorate([
31
+ (0, swagger_1.ApiProperty)({
32
+ description: 'Start date (inclusive) in yyyy-MM-dd. Returns the next sessions after this day.',
33
+ example: '2026-03-30',
34
+ }),
35
+ (0, is_not_blank_1.IsNotBlank)(),
36
+ __metadata("design:type", String)
37
+ ], OpenapiUpcomingScheduleDto.prototype, "date", void 0);
38
+ __decorate([
39
+ (0, swagger_1.ApiProperty)({
40
+ description: `Max number of sessions to return. Capped at ${UPCOMING_LIMIT_CAP}.`,
41
+ required: false,
42
+ default: UPCOMING_LIMIT_CAP,
43
+ example: 12,
44
+ }),
45
+ (0, class_validator_1.IsOptional)(),
46
+ (0, class_transformer_1.Transform)(({ value }) => {
47
+ const n = Number(value);
48
+ if (!Number.isInteger(n) || n < 1)
49
+ return UPCOMING_LIMIT_CAP;
50
+ return Math.min(n, UPCOMING_LIMIT_CAP);
51
+ }),
52
+ __metadata("design:type", Number)
53
+ ], OpenapiUpcomingScheduleDto.prototype, "limit", void 0);
@@ -0,0 +1,4 @@
1
+ import { OpenapiSlotRO } from './openapi-widget-slot.ro';
2
+ export declare class OpenapiUpcomingSlotsRO {
3
+ slots: OpenapiSlotRO[];
4
+ }
@@ -0,0 +1,29 @@
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.OpenapiUpcomingSlotsRO = void 0;
13
+ /* eslint-disable @typescript-eslint/no-unused-vars */
14
+ const swagger_1 = require("@nestjs/swagger");
15
+ const class_transformer_1 = require("class-transformer");
16
+ const openapi_widget_slot_ro_1 = require("./openapi-widget-slot.ro");
17
+ class OpenapiUpcomingSlotsRO {
18
+ }
19
+ exports.OpenapiUpcomingSlotsRO = OpenapiUpcomingSlotsRO;
20
+ __decorate([
21
+ (0, swagger_1.ApiProperty)({
22
+ description: 'Next bookable sessions for the questroom, chronological, max 12.',
23
+ type: openapi_widget_slot_ro_1.OpenapiSlotRO,
24
+ isArray: true,
25
+ }),
26
+ (0, class_transformer_1.Expose)(),
27
+ (0, class_transformer_1.Type)(() => openapi_widget_slot_ro_1.OpenapiSlotRO),
28
+ __metadata("design:type", Array)
29
+ ], OpenapiUpcomingSlotsRO.prototype, "slots", void 0);
@@ -1,4 +1,5 @@
1
1
  import { CustomFieldTypeEnum } from '../../custom-field/enum/custom-field-type.enum';
2
+ import { LeadWidgetPlacements } from '../../lead/lead-widget-placement.type';
2
3
  import { ProfileCurrencyEnum } from '../../profile/enum/profile-currency';
3
4
  import { WidgetRoundnessEnum } from '../../profile/widget-customization/enum/widget-roundness.enum';
4
5
  import { WidgetStyleEnum } from '../../profile/widget-customization/enum/widget-style.enum';
@@ -75,6 +76,18 @@ export declare class OpenapiWidgetInfoRO {
75
76
  * `classic` на клиенте.
76
77
  */
77
78
  packagesDesign?: PackagesWidgetDesignEnum;
79
+ /**
80
+ * Какую форму заявки показывать. Сама схема формы приходит отдельным
81
+ * запросом `GET /openapi/leads/form`: в расписании форма нужна только
82
+ * после клика по «Оставить заявку», грузить её всем незачем.
83
+ * null — первая активная форма профиля.
84
+ */
85
+ leadFormId?: number | null;
86
+ /**
87
+ * Где в расписании показывать заявку — одно на все виджеты бронирования.
88
+ * Выключенное место виджет не рисует.
89
+ */
90
+ leadPlacements?: LeadWidgetPlacements;
78
91
  profile: Profile;
79
92
  ga4Id?: string;
80
93
  gaCoversationId?: string;
@@ -197,6 +197,14 @@ __decorate([
197
197
  (0, class_transformer_1.Expose)(),
198
198
  __metadata("design:type", String)
199
199
  ], OpenapiWidgetInfoRO.prototype, "packagesDesign", void 0);
200
+ __decorate([
201
+ (0, class_transformer_1.Expose)(),
202
+ __metadata("design:type", Number)
203
+ ], OpenapiWidgetInfoRO.prototype, "leadFormId", void 0);
204
+ __decorate([
205
+ (0, class_transformer_1.Expose)(),
206
+ __metadata("design:type", Object)
207
+ ], OpenapiWidgetInfoRO.prototype, "leadPlacements", void 0);
200
208
  __decorate([
201
209
  (0, class_transformer_1.Expose)(),
202
210
  (0, class_transformer_1.Type)(() => Profile),
@@ -8,6 +8,12 @@ export declare class CreateOrderDto {
8
8
  duration?: number;
9
9
  players: number;
10
10
  children: number;
11
+ /**
12
+ * Сколько мест из `players` идёт по льготной ставке тарифа (школьники,
13
+ * студенты). Лимит считает бэк из минимальной стоимости игры — клиенту
14
+ * здесь не верим.
15
+ */
16
+ reducedPlayers?: number;
11
17
  mode: string;
12
18
  promocodeId?: number;
13
19
  certificateId?: number;
@@ -60,6 +60,13 @@ __decorate([
60
60
  (0, class_transformer_1.Expose)(),
61
61
  __metadata("design:type", Number)
62
62
  ], CreateOrderDto.prototype, "children", void 0);
63
+ __decorate([
64
+ (0, class_validator_1.IsOptional)(),
65
+ (0, class_validator_1.IsInt)(),
66
+ (0, class_validator_1.Min)(0),
67
+ (0, class_transformer_1.Expose)(),
68
+ __metadata("design:type", Number)
69
+ ], CreateOrderDto.prototype, "reducedPlayers", void 0);
63
70
  __decorate([
64
71
  (0, class_validator_1.IsOptional)(),
65
72
  (0, class_transformer_1.Expose)(),
@@ -8,6 +8,7 @@ import { QuestroomCancelationTypeEnum } from '../questroom/enum/questroom-cancel
8
8
  import { Languages } from '../shared/enum/languages.enum';
9
9
  import { RO } from '../shared/ro-class';
10
10
  import { SourceEnum } from '../shared/source.enum';
11
+ import { TariffReducedRateModeEnum } from '../tariff/enum/tariff-reduced-rate-mode.enum';
11
12
  import { TransactionSourceEnum } from '../transaction/enum/transaction-source.enum';
12
13
  import { TransactionTypeEnum } from '../transaction/enum/transaction-type.enum';
13
14
  import { UserMessageResponseObject } from '../user-message/user-message.ro';
@@ -245,6 +246,17 @@ export declare class OrderRO extends RO {
245
246
  groupShare?: number;
246
247
  players: number;
247
248
  children: number;
249
+ /** Сколько мест из `players` идёт по льготной ставке (школьники и т.п.). */
250
+ reducedPlayers: number;
251
+ /**
252
+ * Снимок льготной ставки и минимальной стоимости игры с тарифа. Пикер в
253
+ * карточке брони считает по ним лимит льготных мест, поэтому смотрит на
254
+ * условия, действовавшие при бронировании, а не на текущий тариф.
255
+ */
256
+ minGameAmount: number;
257
+ reducedRateMode?: TariffReducedRateModeEnum | null;
258
+ reducedRate: number;
259
+ reducedTitle?: string | null;
248
260
  /**
249
261
  * Состав группы не определён — гость записался «Определимся на месте».
250
262
  * `players` = минимальный состав, `total` — базовая стоимость «от».