@escapenavigator/types 2.0.3 → 2.0.5

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 (78) hide show
  1. package/dist/aggregator-companies/aggregator-source.enum.d.ts +3 -0
  2. package/dist/aggregator-companies/aggregator-source.enum.js +7 -0
  3. package/dist/cashbox/cashbox-light.ro.d.ts +1 -0
  4. package/dist/cashbox/cashbox-light.ro.js +4 -0
  5. package/dist/cashbox/create-cashbox.dto.d.ts +1 -0
  6. package/dist/cashbox/create-cashbox.dto.js +6 -0
  7. package/dist/constants/language-name-by-language.js +3 -3
  8. package/dist/district/district-seo.ro.d.ts +12 -0
  9. package/dist/district/district-seo.ro.js +45 -0
  10. package/dist/district/district.ro.d.ts +25 -0
  11. package/dist/district/district.ro.js +2 -0
  12. package/dist/district/update-district.dto.d.ts +9 -0
  13. package/dist/district/update-district.dto.js +35 -0
  14. package/dist/emails/email.ro.d.ts +5 -0
  15. package/dist/emails/email.ro.js +14 -0
  16. package/dist/emails/enum/email.category-enum.d.ts +18 -0
  17. package/dist/emails/enum/email.category-enum.js +22 -0
  18. package/dist/emails/enum/email.direction-enum.d.ts +9 -0
  19. package/dist/emails/enum/email.direction-enum.js +13 -0
  20. package/dist/google-places/create-company-from-place.dto.d.ts +7 -0
  21. package/dist/google-places/create-company-from-place.dto.js +29 -0
  22. package/dist/google-places/google-places-status.enum.d.ts +5 -0
  23. package/dist/google-places/google-places-status.enum.js +5 -0
  24. package/dist/google-places/google-places.ro.d.ts +4 -0
  25. package/dist/google-places/google-places.ro.js +16 -0
  26. package/dist/google-places/update-google-places.dto.d.ts +1 -0
  27. package/dist/google-places/update-google-places.dto.js +5 -0
  28. package/dist/openapi/orders/openapi-cancel-order.dto.d.ts +9 -0
  29. package/dist/openapi/orders/openapi-cancel-order.dto.js +29 -0
  30. package/dist/openapi/orders/openapi-order.ro.d.ts +7 -0
  31. package/dist/openapi/orders/openapi-order.ro.js +4 -0
  32. package/dist/openapi/shared/openapi-questroom.ro.d.ts +1 -0
  33. package/dist/openapi/shared/openapi-questroom.ro.js +4 -0
  34. package/dist/openapi/upsellings/openapi-upselling.ro.d.ts +1 -0
  35. package/dist/openapi/upsellings/openapi-upselling.ro.js +4 -0
  36. package/dist/order/cancel-order.dto.d.ts +9 -0
  37. package/dist/order/cancel-order.dto.js +13 -0
  38. package/dist/order/enum/client-cancel-reason.enum.d.ts +19 -0
  39. package/dist/order/enum/client-cancel-reason.enum.js +23 -0
  40. package/dist/order/order.ro.d.ts +31 -0
  41. package/dist/order/order.ro.js +38 -0
  42. package/dist/parse-results/parse-result-payload.d.ts +54 -0
  43. package/dist/parse-results/parse-result-payload.js +2 -0
  44. package/dist/parse-results/parse-result-source.enum.d.ts +8 -0
  45. package/dist/parse-results/parse-result-source.enum.js +12 -0
  46. package/dist/parse-results/parse-result-status.enum.d.ts +10 -0
  47. package/dist/parse-results/parse-result-status.enum.js +14 -0
  48. package/dist/parse-results/parse-result.ro.d.ts +25 -0
  49. package/dist/parse-results/parse-result.ro.js +90 -0
  50. package/dist/parse-results/update-parse-result.dto.d.ts +5 -0
  51. package/dist/parse-results/update-parse-result.dto.js +21 -0
  52. package/dist/profile/action/create-profile-action.dto.d.ts +3 -0
  53. package/dist/profile/action/create-profile-action.dto.js +14 -0
  54. package/dist/profile/action/profile-action.ro.d.ts +2 -0
  55. package/dist/profile/action/profile-action.ro.js +8 -0
  56. package/dist/profile/admin-profile.ro.d.ts +2 -0
  57. package/dist/profile/admin-profile.ro.js +5 -0
  58. package/dist/profile/enum/profile-lost-reason.enum.d.ts +9 -0
  59. package/dist/profile/enum/profile-lost-reason.enum.js +13 -0
  60. package/dist/profile/profile.ro.d.ts +2 -0
  61. package/dist/profile/profile.ro.js +4 -0
  62. package/dist/profile/update-current-base.dto.d.ts +1 -0
  63. package/dist/profile/update-current-base.dto.js +5 -0
  64. package/dist/promocode/emun/promocode-kind.enum.d.ts +4 -0
  65. package/dist/promocode/emun/promocode-kind.enum.js +4 -0
  66. package/dist/questroom/create-questroom.dto.d.ts +2 -0
  67. package/dist/questroom/create-questroom.dto.js +6 -0
  68. package/dist/questroom/questroom-light.ro.d.ts +2 -0
  69. package/dist/questroom/questroom-light.ro.js +4 -0
  70. package/dist/statistics/bookings.d.ts +14 -0
  71. package/dist/transaction/transaction.ro.d.ts +2 -0
  72. package/dist/transaction/transaction.ro.js +4 -0
  73. package/dist/tsconfig.build.tsbuildinfo +1 -1
  74. package/dist/upselling/create-upselling.dto.d.ts +2 -0
  75. package/dist/upselling/create-upselling.dto.js +6 -0
  76. package/dist/upselling/upselling.ro.d.ts +1 -0
  77. package/dist/upselling/upselling.ro.js +4 -0
  78. package/package.json +2 -2
@@ -0,0 +1,3 @@
1
+ export declare enum AggregatorSourceEnum {
2
+ MORTY = "morty"
3
+ }
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AggregatorSourceEnum = void 0;
4
+ var AggregatorSourceEnum;
5
+ (function (AggregatorSourceEnum) {
6
+ AggregatorSourceEnum["MORTY"] = "morty";
7
+ })(AggregatorSourceEnum || (exports.AggregatorSourceEnum = AggregatorSourceEnum = {}));
@@ -24,4 +24,5 @@ export declare class CashboxLightRO extends RO {
24
24
  bankName?: string;
25
25
  bic?: string;
26
26
  iban?: string;
27
+ accountHolder?: string;
27
28
  }
@@ -72,3 +72,7 @@ __decorate([
72
72
  (0, class_transformer_1.Expose)(),
73
73
  __metadata("design:type", String)
74
74
  ], CashboxLightRO.prototype, "iban", void 0);
75
+ __decorate([
76
+ (0, class_transformer_1.Expose)(),
77
+ __metadata("design:type", String)
78
+ ], CashboxLightRO.prototype, "accountHolder", void 0);
@@ -7,4 +7,5 @@ export declare class CreateCashboxDto {
7
7
  bankName?: string;
8
8
  bic?: string;
9
9
  iban?: string;
10
+ accountHolder?: string;
10
11
  }
@@ -55,3 +55,9 @@ __decorate([
55
55
  (0, class_validator_1.IsString)(),
56
56
  __metadata("design:type", String)
57
57
  ], CreateCashboxDto.prototype, "iban", void 0);
58
+ __decorate([
59
+ (0, class_transformer_1.Expose)(),
60
+ (0, class_validator_1.IsOptional)(),
61
+ (0, class_validator_1.IsString)(),
62
+ __metadata("design:type", String)
63
+ ], CreateCashboxDto.prototype, "accountHolder", void 0);
@@ -15,7 +15,7 @@ exports.languageNameByLanguage = {
15
15
  [languages_enum_1.Languages.GR]: 'Ελληνικά',
16
16
  [languages_enum_1.Languages.NL]: 'Nederlands',
17
17
  [languages_enum_1.Languages.CS]: 'Čeština',
18
- [languages_enum_1.Languages.FI]: 'Finnish',
18
+ [languages_enum_1.Languages.FI]: 'Suomi',
19
19
  [languages_enum_1.Languages.DA]: 'Dansk',
20
20
  [languages_enum_1.Languages.SK]: 'Slovenčina',
21
21
  [languages_enum_1.Languages.HU]: 'Magyar',
@@ -23,7 +23,7 @@ exports.languageNameByLanguage = {
23
23
  [languages_enum_1.Languages.LV]: 'Latviešu',
24
24
  [languages_enum_1.Languages.BG]: 'Български',
25
25
  [languages_enum_1.Languages.RO]: 'Română',
26
- [languages_enum_1.Languages.LT]: 'Latviešu',
27
- [languages_enum_1.Languages.HE]: 'השפה הישראלית',
26
+ [languages_enum_1.Languages.LT]: 'Lietuvių',
27
+ [languages_enum_1.Languages.HE]: 'עברית',
28
28
  [languages_enum_1.Languages.HR]: 'Hrvatski',
29
29
  };
@@ -0,0 +1,12 @@
1
+ /**
2
+ * SEO-тексты района (таблица `districts-seo-text`): HTML-текст на язык.
3
+ * На странице района агрегатор берёт язык домена с fallback на en.
4
+ * Валидация мягкая — редактор может свободно черновичить (как CityFaqRO).
5
+ */
6
+ export declare class DistrictSeo {
7
+ text: string;
8
+ language: string;
9
+ }
10
+ export declare class DistrictSeoRO {
11
+ seo: DistrictSeo[];
12
+ }
@@ -0,0 +1,45 @@
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.DistrictSeoRO = exports.DistrictSeo = void 0;
13
+ /* eslint-disable max-classes-per-file */
14
+ const class_transformer_1 = require("class-transformer");
15
+ const class_validator_1 = require("class-validator");
16
+ /**
17
+ * SEO-тексты района (таблица `districts-seo-text`): HTML-текст на язык.
18
+ * На странице района агрегатор берёт язык домена с fallback на en.
19
+ * Валидация мягкая — редактор может свободно черновичить (как CityFaqRO).
20
+ */
21
+ class DistrictSeo {
22
+ }
23
+ exports.DistrictSeo = DistrictSeo;
24
+ __decorate([
25
+ (0, class_validator_1.IsOptional)(),
26
+ (0, class_validator_1.IsString)(),
27
+ (0, class_transformer_1.Expose)(),
28
+ __metadata("design:type", String)
29
+ ], DistrictSeo.prototype, "text", void 0);
30
+ __decorate([
31
+ (0, class_validator_1.IsOptional)(),
32
+ (0, class_validator_1.IsString)(),
33
+ (0, class_transformer_1.Expose)(),
34
+ __metadata("design:type", String)
35
+ ], DistrictSeo.prototype, "language", void 0);
36
+ class DistrictSeoRO {
37
+ }
38
+ exports.DistrictSeoRO = DistrictSeoRO;
39
+ __decorate([
40
+ (0, class_transformer_1.Expose)(),
41
+ (0, class_validator_1.IsOptional)(),
42
+ (0, class_validator_1.IsArray)(),
43
+ (0, class_transformer_1.Type)(() => DistrictSeo),
44
+ __metadata("design:type", Array)
45
+ ], DistrictSeoRO.prototype, "seo", void 0);
@@ -0,0 +1,25 @@
1
+ import { CountriesEnum } from '../shared/enum/countries.enum';
2
+ /**
3
+ * Район города (импорт из OSM, таблица `districts`). Используется
4
+ * админкой (страница Aggregators → Districts); публичная витрина
5
+ * агрегатора ходит через свои RO в api-пакете.
6
+ */
7
+ export type DistrictRO = {
8
+ id: number;
9
+ title: string;
10
+ slug: string;
11
+ cityId: number;
12
+ country: CountriesEnum;
13
+ /** Денормализованный счётчик квестов, пересчитывается кроном/переимпортом. */
14
+ questroomsCount: number;
15
+ /** Скрыть район из выдачи агрегатора (мусорные/технические полигоны). */
16
+ hidden: boolean;
17
+ adminLevel: number | null;
18
+ osmId: number | null;
19
+ /** Город (relation, подгружается в админских выборках). */
20
+ city?: {
21
+ id: number;
22
+ title: string;
23
+ slug: string;
24
+ };
25
+ };
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,9 @@
1
+ export declare class UpdateDistrictDto {
2
+ title?: string;
3
+ /**
4
+ * Смена слага меняет URL страницы района — старый URL станет 404
5
+ * (редиректов нет), менять только до индексации.
6
+ */
7
+ slug?: string;
8
+ hidden?: boolean;
9
+ }
@@ -0,0 +1,35 @@
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.UpdateDistrictDto = void 0;
13
+ const class_transformer_1 = require("class-transformer");
14
+ const class_validator_1 = require("class-validator");
15
+ class UpdateDistrictDto {
16
+ }
17
+ exports.UpdateDistrictDto = UpdateDistrictDto;
18
+ __decorate([
19
+ (0, class_validator_1.IsOptional)(),
20
+ (0, class_validator_1.IsString)(),
21
+ (0, class_transformer_1.Expose)(),
22
+ __metadata("design:type", String)
23
+ ], UpdateDistrictDto.prototype, "title", void 0);
24
+ __decorate([
25
+ (0, class_validator_1.IsOptional)(),
26
+ (0, class_validator_1.Matches)(/^[a-z0-9-]+$/, { message: 'Only lowercase latin, digits and dashes' }),
27
+ (0, class_transformer_1.Expose)(),
28
+ __metadata("design:type", String)
29
+ ], UpdateDistrictDto.prototype, "slug", void 0);
30
+ __decorate([
31
+ (0, class_validator_1.IsOptional)(),
32
+ (0, class_validator_1.IsBoolean)(),
33
+ (0, class_transformer_1.Expose)(),
34
+ __metadata("design:type", Boolean)
35
+ ], UpdateDistrictDto.prototype, "hidden", void 0);
@@ -1,3 +1,5 @@
1
+ import { EmailCategoryEnum } from './enum/email.category-enum';
2
+ import { EmailDirectionEnum } from './enum/email.direction-enum';
1
3
  import { EmailStatusEnum } from './enum/email.status-enum';
2
4
  declare class Profile {
3
5
  id: number;
@@ -14,6 +16,9 @@ export declare class EmailRO {
14
16
  identificator: string;
15
17
  messageId: string;
16
18
  status: EmailStatusEnum;
19
+ direction: EmailDirectionEnum;
20
+ category: EmailCategoryEnum;
21
+ categoryConfidence: number;
17
22
  subject: string;
18
23
  text: string;
19
24
  html: string;
@@ -12,6 +12,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.EmailRO = void 0;
13
13
  /* eslint-disable max-classes-per-file */
14
14
  const class_transformer_1 = require("class-transformer");
15
+ const email_category_enum_1 = require("./enum/email.category-enum");
16
+ const email_direction_enum_1 = require("./enum/email.direction-enum");
15
17
  const email_status_enum_1 = require("./enum/email.status-enum");
16
18
  class Profile {
17
19
  }
@@ -66,6 +68,18 @@ __decorate([
66
68
  (0, class_transformer_1.Expose)(),
67
69
  __metadata("design:type", String)
68
70
  ], EmailRO.prototype, "status", void 0);
71
+ __decorate([
72
+ (0, class_transformer_1.Expose)(),
73
+ __metadata("design:type", String)
74
+ ], EmailRO.prototype, "direction", void 0);
75
+ __decorate([
76
+ (0, class_transformer_1.Expose)(),
77
+ __metadata("design:type", String)
78
+ ], EmailRO.prototype, "category", void 0);
79
+ __decorate([
80
+ (0, class_transformer_1.Expose)(),
81
+ __metadata("design:type", Number)
82
+ ], EmailRO.prototype, "categoryConfidence", void 0);
69
83
  __decorate([
70
84
  (0, class_transformer_1.Expose)(),
71
85
  __metadata("design:type", String)
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Смысловая категория входящего письма, проставляется GPT-классификатором
3
+ * (см. EmailClassifierService на бэкенде). Отделена от `EmailStatusEnum`,
4
+ * т.к. статус описывает доставку (sent/opened/bounced), а категория —
5
+ * содержание входящего письма.
6
+ */
7
+ export declare enum EmailCategoryEnum {
8
+ /** Мусор / нежелательные рассылки. */
9
+ SPAM = "spam",
10
+ /** Письма от игроков/гостей эскейпрумов (бронирования, вопросы по игре). */
11
+ PLAYER = "player",
12
+ /** Письма от владельцев квестов / пользователей платформы. */
13
+ CLIENT = "client",
14
+ /** Требует ручного ответа: жалобы, юридические, платежи, партнёрство. */
15
+ IMPORTANT = "important",
16
+ /** Не удалось уверенно классифицировать. */
17
+ OTHER = "other"
18
+ }
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EmailCategoryEnum = void 0;
4
+ /**
5
+ * Смысловая категория входящего письма, проставляется GPT-классификатором
6
+ * (см. EmailClassifierService на бэкенде). Отделена от `EmailStatusEnum`,
7
+ * т.к. статус описывает доставку (sent/opened/bounced), а категория —
8
+ * содержание входящего письма.
9
+ */
10
+ var EmailCategoryEnum;
11
+ (function (EmailCategoryEnum) {
12
+ /** Мусор / нежелательные рассылки. */
13
+ EmailCategoryEnum["SPAM"] = "spam";
14
+ /** Письма от игроков/гостей эскейпрумов (бронирования, вопросы по игре). */
15
+ EmailCategoryEnum["PLAYER"] = "player";
16
+ /** Письма от владельцев квестов / пользователей платформы. */
17
+ EmailCategoryEnum["CLIENT"] = "client";
18
+ /** Требует ручного ответа: жалобы, юридические, платежи, партнёрство. */
19
+ EmailCategoryEnum["IMPORTANT"] = "important";
20
+ /** Не удалось уверенно классифицировать. */
21
+ EmailCategoryEnum["OTHER"] = "other";
22
+ })(EmailCategoryEnum || (exports.EmailCategoryEnum = EmailCategoryEnum = {}));
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Направление письма. Введено, чтобы разделить входящие и исходящие письма
3
+ * честным флагом, а не эвристикой `status === INBOX` (из-за которой входящий
4
+ * спам со `status = SPAM` исторически попадал во вкладку Outbox).
5
+ */
6
+ export declare enum EmailDirectionEnum {
7
+ INBOUND = "inbound",
8
+ OUTBOUND = "outbound"
9
+ }
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EmailDirectionEnum = void 0;
4
+ /**
5
+ * Направление письма. Введено, чтобы разделить входящие и исходящие письма
6
+ * честным флагом, а не эвристикой `status === INBOX` (из-за которой входящий
7
+ * спам со `status = SPAM` исторически попадал во вкладку Outbox).
8
+ */
9
+ var EmailDirectionEnum;
10
+ (function (EmailDirectionEnum) {
11
+ EmailDirectionEnum["INBOUND"] = "inbound";
12
+ EmailDirectionEnum["OUTBOUND"] = "outbound";
13
+ })(EmailDirectionEnum || (exports.EmailDirectionEnum = EmailDirectionEnum = {}));
@@ -0,0 +1,7 @@
1
+ export declare class CreateCompanyFromPlaceDto {
2
+ mainEmail: string;
3
+ /** Сразу поставить задачу парсинга сайта после создания. */
4
+ parseAfter?: boolean;
5
+ /** ID других непривязанных GP того же домена — создать локации и для них. */
6
+ siblingPlaceIds?: number[];
7
+ }
@@ -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.CreateCompanyFromPlaceDto = void 0;
13
+ const class_validator_1 = require("class-validator");
14
+ class CreateCompanyFromPlaceDto {
15
+ }
16
+ exports.CreateCompanyFromPlaceDto = CreateCompanyFromPlaceDto;
17
+ __decorate([
18
+ (0, class_validator_1.IsEmail)(),
19
+ __metadata("design:type", String)
20
+ ], CreateCompanyFromPlaceDto.prototype, "mainEmail", void 0);
21
+ __decorate([
22
+ (0, class_validator_1.IsOptional)(),
23
+ (0, class_validator_1.IsBoolean)(),
24
+ __metadata("design:type", Boolean)
25
+ ], CreateCompanyFromPlaceDto.prototype, "parseAfter", void 0);
26
+ __decorate([
27
+ (0, class_validator_1.IsOptional)(),
28
+ __metadata("design:type", Array)
29
+ ], CreateCompanyFromPlaceDto.prototype, "siblingPlaceIds", void 0);
@@ -1,5 +1,10 @@
1
1
  export declare enum GooglePlacesStatusEnum {
2
2
  NEW = "new",
3
+ /**
4
+ * Домен сайта совпал с существующей компанией, но адрес не совпал ни с
5
+ * одной её локацией — кандидат «новая локация существующей компании».
6
+ */
7
+ NEW_LOCATION = "new_location",
3
8
  CONFLICT = "conflict",
4
9
  RESOLVED = "resolved",
5
10
  NOT_ESCAPE = "not_escape"
@@ -4,6 +4,11 @@ exports.GooglePlacesStatusEnum = void 0;
4
4
  var GooglePlacesStatusEnum;
5
5
  (function (GooglePlacesStatusEnum) {
6
6
  GooglePlacesStatusEnum["NEW"] = "new";
7
+ /**
8
+ * Домен сайта совпал с существующей компанией, но адрес не совпал ни с
9
+ * одной её локацией — кандидат «новая локация существующей компании».
10
+ */
11
+ GooglePlacesStatusEnum["NEW_LOCATION"] = "new_location";
7
12
  GooglePlacesStatusEnum["CONFLICT"] = "conflict";
8
13
  GooglePlacesStatusEnum["RESOLVED"] = "resolved";
9
14
  GooglePlacesStatusEnum["NOT_ESCAPE"] = "not_escape";
@@ -22,6 +22,10 @@ export declare class GooglePlacesRO {
22
22
  country: CountriesEnum;
23
23
  profile: Profile;
24
24
  profileId: number;
25
+ locationId: number;
26
+ lat: number;
27
+ lng: number;
28
+ lastCheckedAt: Date;
25
29
  createdAt: Date;
26
30
  updatedAt: Date;
27
31
  }
@@ -94,6 +94,22 @@ __decorate([
94
94
  (0, class_transformer_1.Expose)(),
95
95
  __metadata("design:type", Number)
96
96
  ], GooglePlacesRO.prototype, "profileId", void 0);
97
+ __decorate([
98
+ (0, class_transformer_1.Expose)(),
99
+ __metadata("design:type", Number)
100
+ ], GooglePlacesRO.prototype, "locationId", void 0);
101
+ __decorate([
102
+ (0, class_transformer_1.Expose)(),
103
+ __metadata("design:type", Number)
104
+ ], GooglePlacesRO.prototype, "lat", void 0);
105
+ __decorate([
106
+ (0, class_transformer_1.Expose)(),
107
+ __metadata("design:type", Number)
108
+ ], GooglePlacesRO.prototype, "lng", void 0);
109
+ __decorate([
110
+ (0, class_transformer_1.Expose)(),
111
+ __metadata("design:type", Date)
112
+ ], GooglePlacesRO.prototype, "lastCheckedAt", void 0);
97
113
  __decorate([
98
114
  (0, class_transformer_1.Expose)(),
99
115
  __metadata("design:type", Date)
@@ -4,4 +4,5 @@ export declare class UpdateGooglePlacesDto {
4
4
  comment?: string;
5
5
  website?: string;
6
6
  profileId?: number;
7
+ locationId?: number;
7
8
  }
@@ -35,3 +35,8 @@ __decorate([
35
35
  (0, class_validator_1.IsOptional)(),
36
36
  __metadata("design:type", Number)
37
37
  ], UpdateGooglePlacesDto.prototype, "profileId", void 0);
38
+ __decorate([
39
+ (0, class_validator_1.IsNumber)(),
40
+ (0, class_validator_1.IsOptional)(),
41
+ __metadata("design:type", Number)
42
+ ], UpdateGooglePlacesDto.prototype, "locationId", void 0);
@@ -0,0 +1,9 @@
1
+ import { ClientCancelReasonEnum } from '../../order/enum/client-cancel-reason.enum';
2
+ import { OpenapiGetOrderDTO } from './openapi-get-order.dto';
3
+ /**
4
+ * Клиентская отмена брони со страницы управления заказом (orders).
5
+ * Причина опциональна — отмена не блокируется, если клиент её не выбрал.
6
+ */
7
+ export declare class OpenapiCancelOrderDTO extends OpenapiGetOrderDTO {
8
+ clientCancelReason?: ClientCancelReasonEnum;
9
+ }
@@ -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.OpenapiCancelOrderDTO = void 0;
13
+ const class_transformer_1 = require("class-transformer");
14
+ const class_validator_1 = require("class-validator");
15
+ const client_cancel_reason_enum_1 = require("../../order/enum/client-cancel-reason.enum");
16
+ const openapi_get_order_dto_1 = require("./openapi-get-order.dto");
17
+ /**
18
+ * Клиентская отмена брони со страницы управления заказом (orders).
19
+ * Причина опциональна — отмена не блокируется, если клиент её не выбрал.
20
+ */
21
+ class OpenapiCancelOrderDTO extends openapi_get_order_dto_1.OpenapiGetOrderDTO {
22
+ }
23
+ exports.OpenapiCancelOrderDTO = OpenapiCancelOrderDTO;
24
+ __decorate([
25
+ (0, class_validator_1.IsOptional)(),
26
+ (0, class_validator_1.IsEnum)(client_cancel_reason_enum_1.ClientCancelReasonEnum),
27
+ (0, class_transformer_1.Expose)(),
28
+ __metadata("design:type", String)
29
+ ], OpenapiCancelOrderDTO.prototype, "clientCancelReason", void 0);
@@ -45,6 +45,13 @@ export declare class OpenapiOrderRO extends QuestroomRow {
45
45
  payed: number;
46
46
  profileId: number;
47
47
  slot: Slot;
48
+ /**
49
+ * Id реально забронированного тарифа. Для fix-вариаций `slot` отдаёт
50
+ * дефолтный прайс, а выбранная вариация — тут. Используется пикером
51
+ * «Игроки и вариация» на клиентской странице заказа (`currentTariffId`),
52
+ * чтобы подсветить выбранную вариацию. `null` для старых заказов.
53
+ */
54
+ bookedTariffId?: number | null;
48
55
  canceledWithFine: boolean;
49
56
  toPay: number;
50
57
  total: number;
@@ -147,6 +147,10 @@ __decorate([
147
147
  (0, class_transformer_1.Type)(() => Slot),
148
148
  __metadata("design:type", Slot)
149
149
  ], OpenapiOrderRO.prototype, "slot", void 0);
150
+ __decorate([
151
+ (0, class_transformer_1.Expose)(),
152
+ __metadata("design:type", Number)
153
+ ], OpenapiOrderRO.prototype, "bookedTariffId", void 0);
150
154
  __decorate([
151
155
  (0, class_transformer_1.Expose)(),
152
156
  __metadata("design:type", Boolean)
@@ -20,6 +20,7 @@ declare class LocationLocale {
20
20
  declare class Mode {
21
21
  title: string;
22
22
  description: string;
23
+ popular: boolean;
23
24
  }
24
25
  declare class Location {
25
26
  address: string;
@@ -80,6 +80,10 @@ __decorate([
80
80
  (0, class_transformer_1.Expose)(),
81
81
  __metadata("design:type", String)
82
82
  ], Mode.prototype, "description", void 0);
83
+ __decorate([
84
+ (0, class_transformer_1.Expose)(),
85
+ __metadata("design:type", Boolean)
86
+ ], Mode.prototype, "popular", void 0);
83
87
  class Location {
84
88
  }
85
89
  __decorate([
@@ -13,4 +13,5 @@ export declare class OpenapiUpsellingRO {
13
13
  availableDays: number[];
14
14
  fullPayment: boolean;
15
15
  clientCanRemove: boolean;
16
+ popular: boolean;
16
17
  }
@@ -70,3 +70,7 @@ __decorate([
70
70
  (0, class_transformer_1.Expose)(),
71
71
  __metadata("design:type", Boolean)
72
72
  ], OpenapiUpsellingRO.prototype, "clientCanRemove", void 0);
73
+ __decorate([
74
+ (0, class_transformer_1.Expose)(),
75
+ __metadata("design:type", Boolean)
76
+ ], OpenapiUpsellingRO.prototype, "popular", void 0);
@@ -1,7 +1,16 @@
1
+ import { ClientCancelReasonEnum } from './enum/client-cancel-reason.enum';
1
2
  import { OrderCancelReasonEnum } from './enum/order-cancel-reson.enum';
2
3
  export declare class CancelOrderDto {
3
4
  cancelationType: OrderCancelReasonEnum;
4
5
  cancelationReason: string;
6
+ /** Популярная причина отмены (для `cancelationType = CLIENT`). */
7
+ clientCancelReason?: ClientCancelReasonEnum;
8
+ /**
9
+ * Запланировать ретаргетинг-письмо (win-back с промокодом) после отмены.
10
+ * Галочка в модалке отмены CRM. `undefined` (старые клиенты/mobile) =
11
+ * дефолт: true для client/client_no_show, false для questroom.
12
+ */
13
+ scheduleRetargeting?: boolean;
5
14
  sendEmailToClient: boolean;
6
15
  cancelationAmount: number;
7
16
  returnCertificates: boolean;
@@ -12,6 +12,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.CancelOrderDto = void 0;
13
13
  const class_transformer_1 = require("class-transformer");
14
14
  const class_validator_1 = require("class-validator");
15
+ const client_cancel_reason_enum_1 = require("./enum/client-cancel-reason.enum");
15
16
  const order_cancel_reson_enum_1 = require("./enum/order-cancel-reson.enum");
16
17
  class CancelOrderDto {
17
18
  }
@@ -26,6 +27,18 @@ __decorate([
26
27
  (0, class_transformer_1.Expose)(),
27
28
  __metadata("design:type", String)
28
29
  ], CancelOrderDto.prototype, "cancelationReason", void 0);
30
+ __decorate([
31
+ (0, class_validator_1.IsOptional)(),
32
+ (0, class_validator_1.IsEnum)(client_cancel_reason_enum_1.ClientCancelReasonEnum),
33
+ (0, class_transformer_1.Expose)(),
34
+ __metadata("design:type", String)
35
+ ], CancelOrderDto.prototype, "clientCancelReason", void 0);
36
+ __decorate([
37
+ (0, class_validator_1.IsOptional)(),
38
+ (0, class_validator_1.IsBoolean)(),
39
+ (0, class_transformer_1.Expose)(),
40
+ __metadata("design:type", Boolean)
41
+ ], CancelOrderDto.prototype, "scheduleRetargeting", void 0);
29
42
  __decorate([
30
43
  (0, class_validator_1.IsBoolean)(),
31
44
  (0, class_transformer_1.Expose)(),
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Популярная причина отмены «по желанию клиента». Заполняется опционально:
3
+ * - клиентом на странице управления бронью (orders) при self-cancel;
4
+ * - оператором в CRM при отмене с типом `CLIENT` («по желанию клиента»).
5
+ *
6
+ * Хранится на заказе (`OrderEntity.clientCancelReason`) и используется в
7
+ * статистике отмен (разбивка «Причины отмен» в отчёте Orders). Свободный
8
+ * текст сюда НЕ пишется — для него остаётся `cancelationReason` (questroom).
9
+ */
10
+ export declare enum ClientCancelReasonEnum {
11
+ CHANGE_OF_PLANS = "change_of_plans",
12
+ ILLNESS = "illness",
13
+ TEAM_NOT_GATHERED = "team_not_gathered",
14
+ RESCHEDULE = "reschedule",
15
+ CHOSE_OTHER_ACTIVITY = "chose_other_activity",
16
+ TOO_EXPENSIVE = "too_expensive",
17
+ BOOKED_BY_MISTAKE = "booked_by_mistake",
18
+ OTHER = "other"
19
+ }
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ClientCancelReasonEnum = void 0;
4
+ /**
5
+ * Популярная причина отмены «по желанию клиента». Заполняется опционально:
6
+ * - клиентом на странице управления бронью (orders) при self-cancel;
7
+ * - оператором в CRM при отмене с типом `CLIENT` («по желанию клиента»).
8
+ *
9
+ * Хранится на заказе (`OrderEntity.clientCancelReason`) и используется в
10
+ * статистике отмен (разбивка «Причины отмен» в отчёте Orders). Свободный
11
+ * текст сюда НЕ пишется — для него остаётся `cancelationReason` (questroom).
12
+ */
13
+ var ClientCancelReasonEnum;
14
+ (function (ClientCancelReasonEnum) {
15
+ ClientCancelReasonEnum["CHANGE_OF_PLANS"] = "change_of_plans";
16
+ ClientCancelReasonEnum["ILLNESS"] = "illness";
17
+ ClientCancelReasonEnum["TEAM_NOT_GATHERED"] = "team_not_gathered";
18
+ ClientCancelReasonEnum["RESCHEDULE"] = "reschedule";
19
+ ClientCancelReasonEnum["CHOSE_OTHER_ACTIVITY"] = "chose_other_activity";
20
+ ClientCancelReasonEnum["TOO_EXPENSIVE"] = "too_expensive";
21
+ ClientCancelReasonEnum["BOOKED_BY_MISTAKE"] = "booked_by_mistake";
22
+ ClientCancelReasonEnum["OTHER"] = "other";
23
+ })(ClientCancelReasonEnum || (exports.ClientCancelReasonEnum = ClientCancelReasonEnum = {}));