@escapenavigator/types 1.10.161 → 1.10.163

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 (99) hide show
  1. package/dist/client/client.ro.d.ts +6 -0
  2. package/dist/client/client.ro.js +18 -0
  3. package/dist/client/query-client.dto.d.ts +1 -1
  4. package/dist/emails/index.d.ts +2 -0
  5. package/dist/location/create-location.dto.d.ts +1 -0
  6. package/dist/location/create-location.dto.js +6 -0
  7. package/dist/location/location-light.ro.d.ts +1 -0
  8. package/dist/location/location-light.ro.js +4 -0
  9. package/dist/location/update-location-for-admin.dto.d.ts +1 -0
  10. package/dist/location/update-location-for-admin.dto.js +7 -0
  11. package/dist/openapi/widget/openapi-widget-info.ro.d.ts +4 -0
  12. package/dist/openapi/widget/openapi-widget-info.ro.js +13 -0
  13. package/dist/profile/company-ai-context.d.ts +2 -0
  14. package/dist/profile/marketing-automation/marketing-automation-config.dto.d.ts +7 -0
  15. package/dist/profile/marketing-automation/marketing-automation-config.dto.js +6 -0
  16. package/dist/profile/profile.ro.d.ts +2 -0
  17. package/dist/profile/profile.ro.js +4 -0
  18. package/dist/questroom/create-questroom.dto.d.ts +10 -0
  19. package/dist/questroom/create-questroom.dto.js +64 -0
  20. package/dist/questroom/questroom-ai-context.d.ts +16 -0
  21. package/dist/questroom/questroom-light.ro.d.ts +2 -0
  22. package/dist/questroom/questroom-light.ro.js +4 -0
  23. package/dist/questroom/questroom.ro.d.ts +8 -0
  24. package/dist/questroom/questroom.ro.js +32 -0
  25. package/dist/questroom/update-questroom-game-conduction.dto.d.ts +3 -0
  26. package/dist/questroom/update-questroom-game-conduction.dto.js +22 -0
  27. package/dist/statistics/pnl.d.ts +13 -0
  28. package/dist/statistics/pnl.js +5 -0
  29. package/dist/statistics/surveys.d.ts +148 -0
  30. package/dist/statistics/surveys.js +60 -0
  31. package/dist/survey/enums/marketing-audience-status.enum.d.ts +8 -0
  32. package/dist/survey/enums/marketing-audience-status.enum.js +13 -0
  33. package/dist/survey/enums/nps-status.enum.d.ts +12 -0
  34. package/dist/survey/enums/nps-status.enum.js +23 -0
  35. package/dist/survey/enums/survey-channel.enum.d.ts +5 -0
  36. package/dist/survey/enums/survey-channel.enum.js +9 -0
  37. package/dist/survey/enums/survey-completed-by.enum.d.ts +4 -0
  38. package/dist/survey/enums/survey-completed-by.enum.js +8 -0
  39. package/dist/survey/enums/survey-final-scenario.enum.d.ts +5 -0
  40. package/dist/survey/enums/survey-final-scenario.enum.js +9 -0
  41. package/dist/survey/enums/survey-question-type.enum.d.ts +9 -0
  42. package/dist/survey/enums/survey-question-type.enum.js +13 -0
  43. package/dist/survey/enums/survey-score-role.enum.d.ts +11 -0
  44. package/dist/survey/enums/survey-score-role.enum.js +15 -0
  45. package/dist/survey/enums/survey-status.enum.d.ts +5 -0
  46. package/dist/survey/enums/survey-status.enum.js +9 -0
  47. package/dist/survey/enums/survey-type.enum.d.ts +4 -0
  48. package/dist/survey/enums/survey-type.enum.js +8 -0
  49. package/dist/survey/mint-survey-link.dto.d.ts +6 -0
  50. package/dist/survey/mint-survey-link.dto.js +29 -0
  51. package/dist/survey/operator-submit-survey.dto.d.ts +11 -0
  52. package/dist/survey/operator-submit-survey.dto.js +40 -0
  53. package/dist/survey/order-survey-to-fill.ro.d.ts +65 -0
  54. package/dist/survey/order-survey-to-fill.ro.js +173 -0
  55. package/dist/survey/submit-survey.dto.d.ts +15 -0
  56. package/dist/survey/submit-survey.dto.js +40 -0
  57. package/dist/survey/survey-answer.type.d.ts +33 -0
  58. package/dist/survey/survey-answer.type.js +2 -0
  59. package/dist/survey/survey-final-screen.type.d.ts +45 -0
  60. package/dist/survey/survey-final-screen.type.js +2 -0
  61. package/dist/survey/survey-link.ro.d.ts +4 -0
  62. package/dist/survey/survey-link.ro.js +24 -0
  63. package/dist/survey/survey-order-summary.ro.d.ts +20 -0
  64. package/dist/survey/survey-order-summary.ro.js +50 -0
  65. package/dist/survey/survey-question.type.d.ts +91 -0
  66. package/dist/survey/survey-question.type.js +2 -0
  67. package/dist/survey/survey-response.ro.d.ts +32 -0
  68. package/dist/survey/survey-response.ro.js +110 -0
  69. package/dist/survey/survey-template-defaults.ro.d.ts +17 -0
  70. package/dist/survey/survey-template-defaults.ro.js +46 -0
  71. package/dist/survey/survey-template.ro.d.ts +17 -0
  72. package/dist/survey/survey-template.ro.js +57 -0
  73. package/dist/survey/update-survey-template.dto.d.ts +26 -0
  74. package/dist/survey/update-survey-template.dto.js +64 -0
  75. package/dist/translation/delete-orphaned-translations.dto.d.ts +4 -0
  76. package/dist/translation/delete-orphaned-translations.dto.js +23 -0
  77. package/dist/tsconfig.build.tsbuildinfo +1 -1
  78. package/dist/widget/create-widget.dto.d.ts +2 -0
  79. package/dist/widget/create-widget.dto.js +8 -0
  80. package/dist/widget/enum/widget-consent-mode.enum.d.ts +15 -0
  81. package/dist/widget/enum/widget-consent-mode.enum.js +19 -0
  82. package/dist/widget/widget.ro.d.ts +2 -0
  83. package/dist/widget-chat/widget-chat-ai-usage.ro.d.ts +7 -0
  84. package/dist/widget-chat/widget-chat-ai-usage.ro.js +2 -0
  85. package/dist/widget-chat/widget-chat-faq-template.ro.d.ts +9 -0
  86. package/dist/widget-chat/widget-chat-faq-template.ro.js +2 -0
  87. package/dist/widget-chat/widget-chat-init.ro.d.ts +4 -3
  88. package/dist/widget-chat/widget-chat-knowledge-save.dto.d.ts +11 -7
  89. package/dist/widget-chat/widget-chat-knowledge-save.dto.js +34 -27
  90. package/dist/widget-chat/widget-chat-message.ro.d.ts +21 -3
  91. package/dist/widget-chat/widget-chat-profile-settings-update.dto.d.ts +3 -0
  92. package/dist/widget-chat/widget-chat-profile-settings-update.dto.js +20 -0
  93. package/dist/widget-chat/widget-chat-profile-settings.ro.d.ts +3 -0
  94. package/dist/widget-chat/widget-chat-profile-settings.ro.js +2 -0
  95. package/dist/widget-chat/widget-chat-starter-chip-save.dto.d.ts +16 -0
  96. package/dist/widget-chat/widget-chat-starter-chip-save.dto.js +78 -0
  97. package/dist/widget-chat/widget-chat-starter-chip.ro.d.ts +43 -0
  98. package/dist/widget-chat/widget-chat-starter-chip.ro.js +23 -0
  99. package/package.json +2 -2
@@ -1,4 +1,6 @@
1
1
  import { RO } from '../shared/ro-class';
2
+ import { MarketingAudienceExclusionReasonEnum, MarketingAudienceStatusEnum } from '../survey/enums/marketing-audience-status.enum';
3
+ import { NpsStatusEnum } from '../survey/enums/nps-status.enum';
2
4
  import { ClientTypeEnum } from './emun/client-type.enum';
3
5
  export declare class PrevData {
4
6
  }
@@ -30,6 +32,10 @@ export declare class ClientRO extends RO {
30
32
  blockedDate?: string;
31
33
  blockedReason?: string;
32
34
  hasComplaint?: boolean;
35
+ npsStatus?: NpsStatusEnum | null;
36
+ lastNpsScore?: number | null;
37
+ marketingAudienceStatus?: MarketingAudienceStatusEnum;
38
+ marketingAudienceExclusionReason?: MarketingAudienceExclusionReasonEnum | null;
33
39
  previousData: PrevData[];
34
40
  parent: ParentRO;
35
41
  prevOrders?: any;
@@ -13,6 +13,8 @@ exports.ClientRO = exports.PrevData = void 0;
13
13
  /* eslint-disable max-classes-per-file */
14
14
  const class_transformer_1 = require("class-transformer");
15
15
  const ro_class_1 = require("../shared/ro-class");
16
+ const marketing_audience_status_enum_1 = require("../survey/enums/marketing-audience-status.enum");
17
+ const nps_status_enum_1 = require("../survey/enums/nps-status.enum");
16
18
  const client_type_enum_1 = require("./emun/client-type.enum");
17
19
  let PrevData = class PrevData {
18
20
  };
@@ -125,6 +127,22 @@ __decorate([
125
127
  (0, class_transformer_1.Expose)(),
126
128
  __metadata("design:type", Boolean)
127
129
  ], ClientRO.prototype, "hasComplaint", void 0);
130
+ __decorate([
131
+ (0, class_transformer_1.Expose)(),
132
+ __metadata("design:type", String)
133
+ ], ClientRO.prototype, "npsStatus", void 0);
134
+ __decorate([
135
+ (0, class_transformer_1.Expose)(),
136
+ __metadata("design:type", Number)
137
+ ], ClientRO.prototype, "lastNpsScore", void 0);
138
+ __decorate([
139
+ (0, class_transformer_1.Expose)(),
140
+ __metadata("design:type", String)
141
+ ], ClientRO.prototype, "marketingAudienceStatus", void 0);
142
+ __decorate([
143
+ (0, class_transformer_1.Expose)(),
144
+ __metadata("design:type", String)
145
+ ], ClientRO.prototype, "marketingAudienceExclusionReason", void 0);
128
146
  __decorate([
129
147
  (0, class_transformer_1.Expose)(),
130
148
  (0, class_transformer_1.Type)(() => PrevData),
@@ -3,7 +3,7 @@ export declare class QueryClientDto {
3
3
  lastGame?: [string, string];
4
4
  birthday?: [string, string];
5
5
  gamesCount?: string[];
6
- visitsCount?: 'exactly_1' | 'exactly_2' | 'more_2' | 'more_3' | 'more_4';
6
+ visitsCount?: 'exactly_1' | 'exactly_2' | 'more_2' | 'more_3' | 'more_4' | 'not_visited';
7
7
  selectedMonth?: string | number;
8
8
  blockedClient?: 'blocked' | 'not_blocked';
9
9
  alowedToAds?: 'allowed' | 'not_allowed';
@@ -28,6 +28,8 @@ type Reply = {
28
28
  type Image = {
29
29
  type: 'image';
30
30
  image: string;
31
+ /** Ограничение ширины превью в px (email-safe inline style). */
32
+ maxWidth?: number;
31
33
  };
32
34
  type List = {
33
35
  type: 'list';
@@ -16,6 +16,7 @@ export declare class CreateLocationDto {
16
16
  freeParking: boolean;
17
17
  parking: boolean;
18
18
  waitingArea: boolean;
19
+ lockersAvailable: boolean;
19
20
  site: string;
20
21
  hideFromChat: boolean;
21
22
  waitingAreaSize?: number;
@@ -101,6 +101,12 @@ __decorate([
101
101
  (0, class_transformer_1.Expose)(),
102
102
  __metadata("design:type", Boolean)
103
103
  ], CreateLocationDto.prototype, "waitingArea", void 0);
104
+ __decorate([
105
+ (0, class_validator_1.IsBoolean)(),
106
+ (0, class_transformer_1.Transform)(({ value }) => (value === undefined || value === null ? true : value)),
107
+ (0, class_transformer_1.Expose)(),
108
+ __metadata("design:type", Boolean)
109
+ ], CreateLocationDto.prototype, "lockersAvailable", void 0);
104
110
  __decorate([
105
111
  (0, class_validator_1.IsOptional)(),
106
112
  (0, class_validator_1.IsUrl)(),
@@ -29,6 +29,7 @@ export declare class LocationLightRO extends RO {
29
29
  freeParking: boolean;
30
30
  parking: boolean;
31
31
  waitingArea: boolean;
32
+ lockersAvailable: boolean;
32
33
  waitingAreaSize: number;
33
34
  site: string;
34
35
  hideFromChat?: boolean;
@@ -90,6 +90,10 @@ __decorate([
90
90
  (0, class_transformer_1.Expose)(),
91
91
  __metadata("design:type", Boolean)
92
92
  ], LocationLightRO.prototype, "waitingArea", void 0);
93
+ __decorate([
94
+ (0, class_transformer_1.Expose)(),
95
+ __metadata("design:type", Boolean)
96
+ ], LocationLightRO.prototype, "lockersAvailable", void 0);
93
97
  __decorate([
94
98
  (0, class_transformer_1.Expose)(),
95
99
  __metadata("design:type", Number)
@@ -7,5 +7,6 @@ export declare class UpdateLocationForAdminDto {
7
7
  freeParking?: boolean;
8
8
  parking?: boolean;
9
9
  waitingArea?: boolean;
10
+ lockersAvailable?: boolean;
10
11
  waitingAreaSize?: number;
11
12
  }
@@ -70,6 +70,13 @@ __decorate([
70
70
  (0, class_transformer_1.Expose)(),
71
71
  __metadata("design:type", Boolean)
72
72
  ], UpdateLocationForAdminDto.prototype, "waitingArea", void 0);
73
+ __decorate([
74
+ (0, class_validator_1.IsOptional)(),
75
+ (0, class_validator_1.IsBoolean)(),
76
+ (0, class_transformer_1.Transform)(({ value }) => (value === undefined || value === null ? true : value)),
77
+ (0, class_transformer_1.Expose)(),
78
+ __metadata("design:type", Boolean)
79
+ ], UpdateLocationForAdminDto.prototype, "lockersAvailable", void 0);
73
80
  __decorate([
74
81
  (0, class_validator_1.ValidateIf)((o) => o.waitingArea),
75
82
  (0, class_validator_1.IsOptional)(),
@@ -6,6 +6,7 @@ import { WidgetViewEnum } from '../../profile/widget-customization/enum/widget-v
6
6
  import { CountriesEnum } from '../../shared/enum/countries.enum';
7
7
  import { Languages } from '../../shared/enum/languages.enum';
8
8
  import { WidgetBookingFiledEnum } from '../../widget/enum/widget-booking-filed.enum';
9
+ import { WidgetConsentModeEnum } from '../../widget/enum/widget-consent-mode.enum';
9
10
  import { WidgetTypeEnum } from '../../widget/enum/widget-type.enum';
10
11
  import { OpenapiCertificatesShopRO } from '../certificates-v2/openapi-certificates-shop.ro';
11
12
  import { OpenapiQuestroomRO } from '../shared/openapi-questroom.ro';
@@ -49,8 +50,10 @@ declare class Profile {
49
50
  country: CountriesEnum;
50
51
  bookingFields: WidgetBookingFiledEnum[];
51
52
  title: string;
53
+ logo?: string;
52
54
  availableLanguages: Languages[];
53
55
  language: Languages;
56
+ widgetChatEnabled: boolean;
54
57
  currency?: ProfileCurrencyEnum;
55
58
  }
56
59
  export declare class OpenapiWidgetInfoRO {
@@ -73,6 +76,7 @@ export declare class OpenapiWidgetInfoRO {
73
76
  gaCoversationLabel?: string;
74
77
  gaEnabled?: boolean;
75
78
  fbPixelEnabled?: boolean;
79
+ consentMode?: WidgetConsentModeEnum;
76
80
  fbPixelId?: string;
77
81
  customization: Customization;
78
82
  mailchimp?: string | Mailchimp;
@@ -20,6 +20,7 @@ const widget_style_enum_1 = require("../../profile/widget-customization/enum/wid
20
20
  const widget_view_enum_1 = require("../../profile/widget-customization/enum/widget-view.enum");
21
21
  const countries_enum_1 = require("../../shared/enum/countries.enum");
22
22
  const languages_enum_1 = require("../../shared/enum/languages.enum");
23
+ const widget_consent_mode_enum_1 = require("../../widget/enum/widget-consent-mode.enum");
23
24
  const widget_type_enum_1 = require("../../widget/enum/widget-type.enum");
24
25
  const openapi_certificates_shop_ro_1 = require("../certificates-v2/openapi-certificates-shop.ro");
25
26
  const openapi_questroom_ro_1 = require("../shared/openapi-questroom.ro");
@@ -135,6 +136,10 @@ __decorate([
135
136
  (0, class_transformer_1.Expose)(),
136
137
  __metadata("design:type", String)
137
138
  ], Profile.prototype, "title", void 0);
139
+ __decorate([
140
+ (0, class_transformer_1.Expose)(),
141
+ __metadata("design:type", String)
142
+ ], Profile.prototype, "logo", void 0);
138
143
  __decorate([
139
144
  (0, class_transformer_1.Expose)(),
140
145
  __metadata("design:type", Array)
@@ -143,6 +148,10 @@ __decorate([
143
148
  (0, class_transformer_1.Expose)(),
144
149
  __metadata("design:type", String)
145
150
  ], Profile.prototype, "language", void 0);
151
+ __decorate([
152
+ (0, class_transformer_1.Expose)(),
153
+ __metadata("design:type", Boolean)
154
+ ], Profile.prototype, "widgetChatEnabled", void 0);
146
155
  __decorate([
147
156
  (0, class_transformer_1.Expose)(),
148
157
  (0, class_transformer_1.Transform)((data) => { var _a; return currency_by_country_1.currencyByCountry[(_a = data === null || data === void 0 ? void 0 : data.obj) === null || _a === void 0 ? void 0 : _a.country]; }),
@@ -221,6 +230,10 @@ __decorate([
221
230
  (0, class_transformer_1.Expose)(),
222
231
  __metadata("design:type", Boolean)
223
232
  ], OpenapiWidgetInfoRO.prototype, "fbPixelEnabled", void 0);
233
+ __decorate([
234
+ (0, class_transformer_1.Expose)(),
235
+ __metadata("design:type", String)
236
+ ], OpenapiWidgetInfoRO.prototype, "consentMode", void 0);
224
237
  __decorate([
225
238
  (0, class_transformer_1.Expose)(),
226
239
  __metadata("design:type", String)
@@ -43,6 +43,7 @@ export type CompanyAiContext = {
43
43
  parking: boolean;
44
44
  waitingArea: boolean;
45
45
  waitingAreaSize?: number;
46
+ lockersAvailable: boolean;
46
47
  };
47
48
  }>;
48
49
  booking?: {
@@ -53,6 +54,7 @@ export type CompanyAiContext = {
53
54
  minBookingHours?: number;
54
55
  cancelationRule: QuestroomCancelationTypeEnum;
55
56
  clientCanCancel: boolean;
57
+ variesBySlot?: boolean;
56
58
  };
57
59
  workingHours?: Partial<Record<'mon' | 'tue' | 'wed' | 'thu' | 'fri' | 'sat' | 'sun', CompanyAiWorkingDay>>;
58
60
  certificates?: CompanyAiCertificates;
@@ -23,4 +23,11 @@ export declare class MarketingAutomationConfigDto {
23
23
  * только для типов с `supportsSendImmediately` (сейчас `up_sale`).
24
24
  */
25
25
  sendImmediately?: boolean;
26
+ /**
27
+ * Выдавать промокод только за пройденный post-game опрос: если включено,
28
+ * cross-sale письмо НЕ содержит промокод, пока клиент не завершил
29
+ * post-game опрос по этому бронированию. Осмысленно для типов с
30
+ * `hasPromocode` (cross_sale).
31
+ */
32
+ promocodeOnlyAfterSurvey?: boolean;
26
33
  }
@@ -39,3 +39,9 @@ __decorate([
39
39
  (0, class_transformer_1.Expose)(),
40
40
  __metadata("design:type", Boolean)
41
41
  ], MarketingAutomationConfigDto.prototype, "sendImmediately", void 0);
42
+ __decorate([
43
+ (0, class_validator_1.IsOptional)(),
44
+ (0, class_validator_1.IsBoolean)(),
45
+ (0, class_transformer_1.Expose)(),
46
+ __metadata("design:type", Boolean)
47
+ ], MarketingAutomationConfigDto.prototype, "promocodeOnlyAfterSurvey", void 0);
@@ -64,4 +64,6 @@ export declare class ProfileRO {
64
64
  * показывается отдельной строкой «НДС … сверху».
65
65
  */
66
66
  taxIncluded: boolean;
67
+ /** Включён ли виджет-чат для компании. */
68
+ widgetChatEnabled: boolean;
67
69
  }
@@ -187,3 +187,7 @@ __decorate([
187
187
  (0, class_transformer_1.Expose)(),
188
188
  __metadata("design:type", Boolean)
189
189
  ], ProfileRO.prototype, "taxIncluded", void 0);
190
+ __decorate([
191
+ (0, class_transformer_1.Expose)(),
192
+ __metadata("design:type", Boolean)
193
+ ], ProfileRO.prototype, "widgetChatEnabled", void 0);
@@ -56,5 +56,15 @@ export declare class CreateQuestroomDto {
56
56
  slotStepMinutes?: number;
57
57
  questOpeningDate?: string;
58
58
  aiNote?: string;
59
+ reviewLink?: string;
60
+ wheelchairAccessible?: boolean;
61
+ pregnancyAllowed?: boolean;
62
+ epilepsySafe?: boolean;
63
+ requiresCrawling?: boolean;
64
+ /** Включено ли ведение игры из карточки брони (game runner). */
65
+ gameConductionEnabled?: boolean;
66
+ requiresRunning?: boolean;
67
+ requiresClimbing?: boolean;
68
+ petsAllowed?: boolean;
59
69
  }
60
70
  export {};
@@ -321,3 +321,67 @@ __decorate([
321
321
  (0, class_validator_1.MaxLength)(2000),
322
322
  __metadata("design:type", String)
323
323
  ], CreateQuestroomDto.prototype, "aiNote", void 0);
324
+ __decorate([
325
+ (0, class_validator_1.IsOptional)(),
326
+ (0, class_validator_1.IsString)(),
327
+ (0, class_transformer_1.Transform)(({ value }) => value || null),
328
+ (0, class_transformer_1.Expose)(),
329
+ (0, class_validator_1.MaxLength)(2000),
330
+ __metadata("design:type", String)
331
+ ], CreateQuestroomDto.prototype, "reviewLink", void 0);
332
+ __decorate([
333
+ (0, class_validator_1.IsOptional)(),
334
+ (0, class_validator_1.IsBoolean)(),
335
+ (0, class_transformer_1.Transform)(({ value }) => !!value),
336
+ (0, class_transformer_1.Expose)(),
337
+ __metadata("design:type", Boolean)
338
+ ], CreateQuestroomDto.prototype, "wheelchairAccessible", void 0);
339
+ __decorate([
340
+ (0, class_validator_1.IsOptional)(),
341
+ (0, class_validator_1.IsBoolean)(),
342
+ (0, class_transformer_1.Transform)(({ value }) => !!value),
343
+ (0, class_transformer_1.Expose)(),
344
+ __metadata("design:type", Boolean)
345
+ ], CreateQuestroomDto.prototype, "pregnancyAllowed", void 0);
346
+ __decorate([
347
+ (0, class_validator_1.IsOptional)(),
348
+ (0, class_validator_1.IsBoolean)(),
349
+ (0, class_transformer_1.Transform)(({ value }) => !!value),
350
+ (0, class_transformer_1.Expose)(),
351
+ __metadata("design:type", Boolean)
352
+ ], CreateQuestroomDto.prototype, "epilepsySafe", void 0);
353
+ __decorate([
354
+ (0, class_validator_1.IsOptional)(),
355
+ (0, class_validator_1.IsBoolean)(),
356
+ (0, class_transformer_1.Transform)(({ value }) => !!value),
357
+ (0, class_transformer_1.Expose)(),
358
+ __metadata("design:type", Boolean)
359
+ ], CreateQuestroomDto.prototype, "requiresCrawling", void 0);
360
+ __decorate([
361
+ (0, class_validator_1.IsOptional)(),
362
+ (0, class_validator_1.IsBoolean)(),
363
+ (0, class_transformer_1.Transform)(({ value }) => !!value),
364
+ (0, class_transformer_1.Expose)(),
365
+ __metadata("design:type", Boolean)
366
+ ], CreateQuestroomDto.prototype, "gameConductionEnabled", void 0);
367
+ __decorate([
368
+ (0, class_validator_1.IsOptional)(),
369
+ (0, class_validator_1.IsBoolean)(),
370
+ (0, class_transformer_1.Transform)(({ value }) => !!value),
371
+ (0, class_transformer_1.Expose)(),
372
+ __metadata("design:type", Boolean)
373
+ ], CreateQuestroomDto.prototype, "requiresRunning", void 0);
374
+ __decorate([
375
+ (0, class_validator_1.IsOptional)(),
376
+ (0, class_validator_1.IsBoolean)(),
377
+ (0, class_transformer_1.Transform)(({ value }) => !!value),
378
+ (0, class_transformer_1.Expose)(),
379
+ __metadata("design:type", Boolean)
380
+ ], CreateQuestroomDto.prototype, "requiresClimbing", void 0);
381
+ __decorate([
382
+ (0, class_validator_1.IsOptional)(),
383
+ (0, class_validator_1.IsBoolean)(),
384
+ (0, class_transformer_1.Transform)(({ value }) => !!value),
385
+ (0, class_transformer_1.Expose)(),
386
+ __metadata("design:type", Boolean)
387
+ ], CreateQuestroomDto.prototype, "petsAllowed", void 0);
@@ -35,6 +35,7 @@ export type QuestroomAiContext = {
35
35
  parking: boolean;
36
36
  waitingArea: boolean;
37
37
  waitingAreaSize?: number;
38
+ lockersAvailable: boolean;
38
39
  };
39
40
  };
40
41
  description?: {
@@ -52,6 +53,15 @@ export type QuestroomAiContext = {
52
53
  durationMinutes: number;
53
54
  playersMin: number;
54
55
  playersMax: number;
56
+ accessibility?: {
57
+ wheelchairAccessible: boolean;
58
+ pregnancyAllowed: boolean;
59
+ epilepsySafe: boolean;
60
+ requiresCrawling: boolean;
61
+ requiresRunning: boolean;
62
+ requiresClimbing: boolean;
63
+ petsAllowed: boolean;
64
+ };
55
65
  };
56
66
  price?: {
57
67
  min?: number;
@@ -59,9 +69,14 @@ export type QuestroomAiContext = {
59
69
  currency?: string;
60
70
  };
61
71
  languages?: Languages[];
72
+ payment?: {
73
+ online: boolean;
74
+ paypal: boolean;
75
+ };
62
76
  booking: {
63
77
  isClosed: boolean;
64
78
  openingDate?: string;
79
+ shared: boolean;
65
80
  };
66
81
  media?: {
67
82
  mainPhoto?: string;
@@ -90,5 +105,6 @@ export type QuestroomAiIndexItem = {
90
105
  tags: TagsEnum[];
91
106
  languages: Languages[];
92
107
  isClosed: boolean;
108
+ shared: boolean;
93
109
  locationId?: number;
94
110
  };
@@ -83,4 +83,6 @@ export declare class QuestroomLightRO extends RO {
83
83
  * показа/скрытия кнопки «Чеклист» в карточке брони.
84
84
  */
85
85
  hasChecklist?: boolean;
86
+ /** Включено ли ведение игры (таймер, загадки, кнопка «Запустить» в карточке брони). */
87
+ gameConductionEnabled?: boolean;
86
88
  }
@@ -223,3 +223,7 @@ __decorate([
223
223
  (0, class_transformer_1.Transform)(({ obj }) => Array.isArray(obj.checklist) && obj.checklist.length > 0),
224
224
  __metadata("design:type", Boolean)
225
225
  ], QuestroomLightRO.prototype, "hasChecklist", void 0);
226
+ __decorate([
227
+ (0, class_transformer_1.Expose)(),
228
+ __metadata("design:type", Boolean)
229
+ ], QuestroomLightRO.prototype, "gameConductionEnabled", void 0);
@@ -28,4 +28,12 @@ export declare class QuestroomRO extends QuestroomLightRO {
28
28
  photoFrame: string;
29
29
  aiNote?: string;
30
30
  hideFromChat?: boolean;
31
+ reviewLink?: string | null;
32
+ wheelchairAccessible?: boolean;
33
+ pregnancyAllowed?: boolean;
34
+ epilepsySafe?: boolean;
35
+ requiresCrawling?: boolean;
36
+ requiresRunning?: boolean;
37
+ requiresClimbing?: boolean;
38
+ petsAllowed?: boolean;
31
39
  }
@@ -98,3 +98,35 @@ __decorate([
98
98
  (0, class_transformer_1.Expose)(),
99
99
  __metadata("design:type", Boolean)
100
100
  ], QuestroomRO.prototype, "hideFromChat", void 0);
101
+ __decorate([
102
+ (0, class_transformer_1.Expose)(),
103
+ __metadata("design:type", String)
104
+ ], QuestroomRO.prototype, "reviewLink", void 0);
105
+ __decorate([
106
+ (0, class_transformer_1.Expose)(),
107
+ __metadata("design:type", Boolean)
108
+ ], QuestroomRO.prototype, "wheelchairAccessible", void 0);
109
+ __decorate([
110
+ (0, class_transformer_1.Expose)(),
111
+ __metadata("design:type", Boolean)
112
+ ], QuestroomRO.prototype, "pregnancyAllowed", void 0);
113
+ __decorate([
114
+ (0, class_transformer_1.Expose)(),
115
+ __metadata("design:type", Boolean)
116
+ ], QuestroomRO.prototype, "epilepsySafe", void 0);
117
+ __decorate([
118
+ (0, class_transformer_1.Expose)(),
119
+ __metadata("design:type", Boolean)
120
+ ], QuestroomRO.prototype, "requiresCrawling", void 0);
121
+ __decorate([
122
+ (0, class_transformer_1.Expose)(),
123
+ __metadata("design:type", Boolean)
124
+ ], QuestroomRO.prototype, "requiresRunning", void 0);
125
+ __decorate([
126
+ (0, class_transformer_1.Expose)(),
127
+ __metadata("design:type", Boolean)
128
+ ], QuestroomRO.prototype, "requiresClimbing", void 0);
129
+ __decorate([
130
+ (0, class_transformer_1.Expose)(),
131
+ __metadata("design:type", Boolean)
132
+ ], QuestroomRO.prototype, "petsAllowed", void 0);
@@ -0,0 +1,3 @@
1
+ export declare class UpdateQuestroomGameConductionDto {
2
+ gameConductionEnabled: 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.UpdateQuestroomGameConductionDto = void 0;
13
+ const class_transformer_1 = require("class-transformer");
14
+ const class_validator_1 = require("class-validator");
15
+ class UpdateQuestroomGameConductionDto {
16
+ }
17
+ exports.UpdateQuestroomGameConductionDto = UpdateQuestroomGameConductionDto;
18
+ __decorate([
19
+ (0, class_validator_1.IsBoolean)(),
20
+ (0, class_transformer_1.Expose)(),
21
+ __metadata("design:type", Boolean)
22
+ ], UpdateQuestroomGameConductionDto.prototype, "gameConductionEnabled", void 0);
@@ -1,5 +1,13 @@
1
1
  import { FinanceitemTypeEnum } from '../financeitem/enum/financeitem-type.enum';
2
2
  export type RevenueType = 'pnl' | 'cash';
3
+ /**
4
+ * База даты, по которой строится отчёт «Резервирования»:
5
+ * - `game` — по дате игры (`utcDate`), поведение по умолчанию;
6
+ * - `created` — по дате создания брони (`createdAt`).
7
+ * Отмены при любом значении считаются по дате самой отмены (`canceledAt`),
8
+ * а «состоялось/запланировано» — по дате игры (см. orders-report.service).
9
+ */
10
+ export type DateBasis = 'game' | 'created';
3
11
  export declare enum PeriodType {
4
12
  MONTH = "month",
5
13
  QUARTER = "quarter",
@@ -27,6 +35,11 @@ export declare class DashboardQueryDto {
27
35
  utmCampaign?: string;
28
36
  utmContent?: string;
29
37
  utmTerm?: string;
38
+ /**
39
+ * База даты для отчёта «Резервирования» (`game` по умолчанию). Не влияет
40
+ * на P&L/Cash flow/Occupancy — там игнорируется.
41
+ */
42
+ dateBasis?: DateBasis;
30
43
  }
31
44
  export type PnlRO = {
32
45
  totals: {
@@ -82,3 +82,8 @@ __decorate([
82
82
  (0, class_validator_1.MaxLength)(256),
83
83
  __metadata("design:type", String)
84
84
  ], DashboardQueryDto.prototype, "utmTerm", void 0);
85
+ __decorate([
86
+ (0, class_validator_1.IsOptional)(),
87
+ (0, class_validator_1.IsIn)(['game', 'created']),
88
+ __metadata("design:type", String)
89
+ ], DashboardQueryDto.prototype, "dateBasis", void 0);