@escapenavigator/types 2.0.48 → 2.1.0

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.
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Значения совпадают с ключами псевдо-дней шаблона
3
+ * (`HOLIDAY_DAY_KEY` / `HOLIDAY_EVE_DAY_KEY`) — это позволяет использовать
4
+ * вид даты напрямую как ключ дня при раскатке расписания.
5
+ */
6
+ export declare enum HolidayKindEnum {
7
+ HOLIDAY = "holiday",
8
+ EVE = "eve"
9
+ }
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.HolidayKindEnum = void 0;
4
+ /**
5
+ * Значения совпадают с ключами псевдо-дней шаблона
6
+ * (`HOLIDAY_DAY_KEY` / `HOLIDAY_EVE_DAY_KEY`) — это позволяет использовать
7
+ * вид даты напрямую как ключ дня при раскатке расписания.
8
+ */
9
+ var HolidayKindEnum;
10
+ (function (HolidayKindEnum) {
11
+ HolidayKindEnum["HOLIDAY"] = "holiday";
12
+ HolidayKindEnum["EVE"] = "eve";
13
+ })(HolidayKindEnum || (exports.HolidayKindEnum = HolidayKindEnum = {}));
@@ -0,0 +1,12 @@
1
+ import { RO } from '../shared/ro-class';
2
+ import { HolidayKindEnum } from './holiday-kind.enum';
3
+ export declare class ProfileHolidayRO extends RO {
4
+ /** Календарная дата в часовом поясе компании, `yyyy-MM-dd`. */
5
+ date: string;
6
+ name: string;
7
+ kind: HolidayKindEnum;
8
+ /** Снятый флаг означает «для нас это обычный день». */
9
+ enabled: boolean;
10
+ /** Добавлено или отредактировано вручную — пересид такие записи не трогает. */
11
+ manual: boolean;
12
+ }
@@ -0,0 +1,38 @@
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.ProfileHolidayRO = void 0;
13
+ const class_transformer_1 = require("class-transformer");
14
+ const ro_class_1 = require("../shared/ro-class");
15
+ const holiday_kind_enum_1 = require("./holiday-kind.enum");
16
+ class ProfileHolidayRO extends ro_class_1.RO {
17
+ }
18
+ exports.ProfileHolidayRO = ProfileHolidayRO;
19
+ __decorate([
20
+ (0, class_transformer_1.Expose)(),
21
+ __metadata("design:type", String)
22
+ ], ProfileHolidayRO.prototype, "date", void 0);
23
+ __decorate([
24
+ (0, class_transformer_1.Expose)(),
25
+ __metadata("design:type", String)
26
+ ], ProfileHolidayRO.prototype, "name", void 0);
27
+ __decorate([
28
+ (0, class_transformer_1.Expose)(),
29
+ __metadata("design:type", String)
30
+ ], ProfileHolidayRO.prototype, "kind", void 0);
31
+ __decorate([
32
+ (0, class_transformer_1.Expose)(),
33
+ __metadata("design:type", Boolean)
34
+ ], ProfileHolidayRO.prototype, "enabled", void 0);
35
+ __decorate([
36
+ (0, class_transformer_1.Expose)(),
37
+ __metadata("design:type", Boolean)
38
+ ], ProfileHolidayRO.prototype, "manual", void 0);
@@ -0,0 +1,14 @@
1
+ import { HolidayKindEnum } from './holiday-kind.enum';
2
+ export declare class ProfileHolidayItemDto {
3
+ /** `yyyy-MM-dd`. */
4
+ date: string;
5
+ name?: string;
6
+ kind?: HolidayKindEnum;
7
+ enabled?: boolean;
8
+ }
9
+ export declare class UpdateProfileHolidaysDto {
10
+ /** Создание или изменение записей. Дата — естественный ключ. */
11
+ items?: ProfileHolidayItemDto[];
12
+ /** Полное удаление записей по датам. */
13
+ removeDates?: string[];
14
+ }
@@ -0,0 +1,58 @@
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.UpdateProfileHolidaysDto = exports.ProfileHolidayItemDto = void 0;
13
+ const class_transformer_1 = require("class-transformer");
14
+ const class_validator_1 = require("class-validator");
15
+ const is_not_blank_1 = require("../shared/is-not-blank");
16
+ const holiday_kind_enum_1 = require("./holiday-kind.enum");
17
+ class ProfileHolidayItemDto {
18
+ }
19
+ exports.ProfileHolidayItemDto = ProfileHolidayItemDto;
20
+ __decorate([
21
+ (0, is_not_blank_1.IsNotBlank)(),
22
+ (0, class_transformer_1.Expose)(),
23
+ __metadata("design:type", String)
24
+ ], ProfileHolidayItemDto.prototype, "date", void 0);
25
+ __decorate([
26
+ (0, class_validator_1.IsOptional)(),
27
+ (0, class_transformer_1.Expose)(),
28
+ __metadata("design:type", String)
29
+ ], ProfileHolidayItemDto.prototype, "name", void 0);
30
+ __decorate([
31
+ (0, class_validator_1.IsOptional)(),
32
+ (0, class_validator_1.IsEnum)(holiday_kind_enum_1.HolidayKindEnum),
33
+ (0, class_transformer_1.Expose)(),
34
+ __metadata("design:type", String)
35
+ ], ProfileHolidayItemDto.prototype, "kind", 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
+ ], ProfileHolidayItemDto.prototype, "enabled", void 0);
42
+ class UpdateProfileHolidaysDto {
43
+ }
44
+ exports.UpdateProfileHolidaysDto = UpdateProfileHolidaysDto;
45
+ __decorate([
46
+ (0, class_validator_1.IsOptional)(),
47
+ (0, class_validator_1.IsArray)(),
48
+ (0, class_validator_1.ValidateNested)({ each: true }),
49
+ (0, class_transformer_1.Type)(() => ProfileHolidayItemDto),
50
+ (0, class_transformer_1.Expose)(),
51
+ __metadata("design:type", Array)
52
+ ], UpdateProfileHolidaysDto.prototype, "items", void 0);
53
+ __decorate([
54
+ (0, class_validator_1.IsOptional)(),
55
+ (0, class_validator_1.IsArray)(),
56
+ (0, class_transformer_1.Expose)(),
57
+ __metadata("design:type", Array)
58
+ ], UpdateProfileHolidaysDto.prototype, "removeDates", void 0);
@@ -104,6 +104,20 @@ export declare class OpenapiWidgetInfoRO {
104
104
  customization: Customization;
105
105
  daysAhead?: number;
106
106
  buttonTooltipText?: string;
107
+ buttonShowBooking?: boolean;
108
+ buttonShowChat?: boolean;
109
+ buttonShowCertificates?: boolean;
110
+ buttonShowPackages?: boolean;
111
+ buttonShowLead?: boolean;
112
+ /**
113
+ * Есть ли опубликованные пакеты, которые можно показать в кнопке.
114
+ * Считается только для `WIDGET_BUTTON`.
115
+ */
116
+ hasPackages?: boolean;
117
+ /**
118
+ * Есть ли активная форма заявки. Считается только для `WIDGET_BUTTON`.
119
+ */
120
+ hasLeadForm?: boolean;
107
121
  showOtherQuests?: boolean;
108
122
  /**
109
123
  * Bearer-токен для protected widget endpoints. Эквивалентен значению
@@ -271,6 +271,34 @@ __decorate([
271
271
  (0, class_transformer_1.Expose)(),
272
272
  __metadata("design:type", String)
273
273
  ], OpenapiWidgetInfoRO.prototype, "buttonTooltipText", void 0);
274
+ __decorate([
275
+ (0, class_transformer_1.Expose)(),
276
+ __metadata("design:type", Boolean)
277
+ ], OpenapiWidgetInfoRO.prototype, "buttonShowBooking", void 0);
278
+ __decorate([
279
+ (0, class_transformer_1.Expose)(),
280
+ __metadata("design:type", Boolean)
281
+ ], OpenapiWidgetInfoRO.prototype, "buttonShowChat", void 0);
282
+ __decorate([
283
+ (0, class_transformer_1.Expose)(),
284
+ __metadata("design:type", Boolean)
285
+ ], OpenapiWidgetInfoRO.prototype, "buttonShowCertificates", void 0);
286
+ __decorate([
287
+ (0, class_transformer_1.Expose)(),
288
+ __metadata("design:type", Boolean)
289
+ ], OpenapiWidgetInfoRO.prototype, "buttonShowPackages", void 0);
290
+ __decorate([
291
+ (0, class_transformer_1.Expose)(),
292
+ __metadata("design:type", Boolean)
293
+ ], OpenapiWidgetInfoRO.prototype, "buttonShowLead", void 0);
294
+ __decorate([
295
+ (0, class_transformer_1.Expose)(),
296
+ __metadata("design:type", Boolean)
297
+ ], OpenapiWidgetInfoRO.prototype, "hasPackages", void 0);
298
+ __decorate([
299
+ (0, class_transformer_1.Expose)(),
300
+ __metadata("design:type", Boolean)
301
+ ], OpenapiWidgetInfoRO.prototype, "hasLeadForm", void 0);
274
302
  __decorate([
275
303
  (0, class_transformer_1.Expose)(),
276
304
  __metadata("design:type", Boolean)
@@ -1,7 +1,11 @@
1
1
  import { CreateRuleDto } from '../slot-rule/create-rule.dto';
2
2
  import { SlotDiscountTypeEnum } from './enum/slot-discount-type.enum';
3
3
  export declare class SlotAutocompliteFormDto extends CreateRuleDto {
4
- days: number[];
4
+ /**
5
+ * Индексы дней недели (0 = пн) либо ключи псевдо-дней шаблона
6
+ * (`holiday` / `eve`) — см. `slot-template/special-day`.
7
+ */
8
+ days: Array<number | string>;
5
9
  start: string;
6
10
  end: string;
7
11
  breakInterval: string;
@@ -13,4 +13,8 @@ export declare class SlotTemplateRO extends RO {
13
13
  ruleId: number;
14
14
  tariffId: number;
15
15
  } | null;
16
+ /** В праздники слотов нет, даже если праздничная колонка заполнена. */
17
+ holidayClosed?: boolean;
18
+ /** То же самое для предпраздничных дней. */
19
+ eveClosed?: boolean;
16
20
  }
@@ -44,3 +44,11 @@ __decorate([
44
44
  (0, class_transformer_1.Expose)(),
45
45
  __metadata("design:type", Object)
46
46
  ], SlotTemplateRO.prototype, "anytime", void 0);
47
+ __decorate([
48
+ (0, class_transformer_1.Expose)(),
49
+ __metadata("design:type", Boolean)
50
+ ], SlotTemplateRO.prototype, "holidayClosed", void 0);
51
+ __decorate([
52
+ (0, class_transformer_1.Expose)(),
53
+ __metadata("design:type", Boolean)
54
+ ], SlotTemplateRO.prototype, "eveClosed", void 0);
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Псевдо-дни шаблона расписания. Лежат в том же поле `date`, что и индексы
3
+ * дней недели («0».."6"), поэтому значения обязаны быть нечисловыми —
4
+ * иначе `+date` в старом коде молча превратит их в день недели.
5
+ */
6
+ export declare const HOLIDAY_DAY_KEY = "holiday";
7
+ export declare const HOLIDAY_EVE_DAY_KEY = "eve";
8
+ export type SpecialDayKey = typeof HOLIDAY_DAY_KEY | typeof HOLIDAY_EVE_DAY_KEY;
9
+ export declare const SPECIAL_DAY_KEYS: SpecialDayKey[];
10
+ export declare const isSpecialDayKey: (value: unknown) => value is SpecialDayKey;
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isSpecialDayKey = exports.SPECIAL_DAY_KEYS = exports.HOLIDAY_EVE_DAY_KEY = exports.HOLIDAY_DAY_KEY = void 0;
4
+ /**
5
+ * Псевдо-дни шаблона расписания. Лежат в том же поле `date`, что и индексы
6
+ * дней недели («0».."6"), поэтому значения обязаны быть нечисловыми —
7
+ * иначе `+date` в старом коде молча превратит их в день недели.
8
+ */
9
+ exports.HOLIDAY_DAY_KEY = 'holiday';
10
+ exports.HOLIDAY_EVE_DAY_KEY = 'eve';
11
+ exports.SPECIAL_DAY_KEYS = [exports.HOLIDAY_DAY_KEY, exports.HOLIDAY_EVE_DAY_KEY];
12
+ const isSpecialDayKey = (value) => value === exports.HOLIDAY_DAY_KEY || value === exports.HOLIDAY_EVE_DAY_KEY;
13
+ exports.isSpecialDayKey = isSpecialDayKey;
@@ -13,6 +13,8 @@ export declare class UpdateSlotTemplateDto {
13
13
  anytime?: AnytimeTemplateConfigDto;
14
14
  step?: number;
15
15
  breakMinutes?: number;
16
+ holidayClosed?: boolean;
17
+ eveClosed?: boolean;
16
18
  questroomsIds: number[];
17
19
  start: string;
18
20
  /** Если передаем end шаблон перепишется */
@@ -72,6 +72,18 @@ __decorate([
72
72
  (0, class_transformer_1.Expose)(),
73
73
  __metadata("design:type", Number)
74
74
  ], UpdateSlotTemplateDto.prototype, "breakMinutes", void 0);
75
+ __decorate([
76
+ (0, class_validator_1.IsOptional)(),
77
+ (0, class_validator_1.IsBoolean)(),
78
+ (0, class_transformer_1.Expose)(),
79
+ __metadata("design:type", Boolean)
80
+ ], UpdateSlotTemplateDto.prototype, "holidayClosed", void 0);
81
+ __decorate([
82
+ (0, class_validator_1.IsOptional)(),
83
+ (0, class_validator_1.IsBoolean)(),
84
+ (0, class_transformer_1.Expose)(),
85
+ __metadata("design:type", Boolean)
86
+ ], UpdateSlotTemplateDto.prototype, "eveClosed", void 0);
75
87
  __decorate([
76
88
  (0, class_validator_1.IsArray)(),
77
89
  (0, class_validator_1.ArrayMinSize)(1),
@@ -27,13 +27,18 @@ export type TariffCategory = {
27
27
  /**
28
28
  * Считается ли гость при выборе уровня сетки `price[N]`.
29
29
  *
30
- * `true` — гость занимает место в составе, цена группы берётся с учётом
31
- * его головы (так работают льготные места сейчас). `false` — гость идёт
32
- * надбавкой сверх групповой цены и на выбор уровня не влияет (так
33
- * работает `price.child` сейчас). На вместимость слота влияют обе.
30
+ * `true` — гость занимает место в составе (льгота: два взрослых и студент
31
+ * считаются группой из трёх). `false` — надбавка сверх групповой цены,
32
+ * так работала старая «цена за ребёнка». В редакторе больше не
33
+ * переключается: новые строки всегда занимают место, `false` остаётся
34
+ * у тарифов, перенесённых из `price.child`.
34
35
  */
35
36
  countsInPrice: boolean;
36
- /** Потолок гостей категории в одной броне. `null` — ограничен составом. */
37
+ /**
38
+ * Потолок гостей категории в одной броне. `null` — ограничен составом.
39
+ * В редакторе больше не задаётся: вместимости комнаты и сетки тарифа
40
+ * достаточно. Поле оставлено, чтобы уже сохранённые лимиты не отвалились.
41
+ */
37
42
  max?: number | null;
38
43
  };
39
44
  /** Ключ базовой категории у тарифов, прошедших бэкфилл. */