@myclub_se/data-access 3.7.8 → 3.7.9
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.
- package/esm2022/lib/api-models/api-booking-calendar-slot-session.mjs +1 -1
- package/esm2022/lib/models/booking-calendar-slot-session.mjs +4 -2
- package/esm2022/lib/models/booking-calendar.mjs +3 -3
- package/esm2022/lib/services/booking-calendar.service.mjs +15 -1
- package/esm2022/lib/services/factories/booking-calendar-slot-session-factory.mjs +2 -2
- package/fesm2022/myclub_se-data-access.mjs +20 -4
- package/fesm2022/myclub_se-data-access.mjs.map +1 -1
- package/lib/api-models/api-booking-calendar-slot-session.d.ts +1 -0
- package/lib/models/booking-calendar-slot-session.d.ts +2 -1
- package/lib/services/booking-calendar.service.d.ts +2 -0
- package/package.json +1 -1
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { BookingCalendarSlotSession } from "../../models";
|
|
2
|
-
export const bookingCalendarSlotSessionFactory = (apiBookingSlotSession) => new BookingCalendarSlotSession(apiBookingSlotSession.id, apiBookingSlotSession.section_id, apiBookingSlotSession.slot_id, apiBookingSlotSession.team_id, apiBookingSlotSession.title, apiBookingSlotSession.end_time, apiBookingSlotSession.section_name, apiBookingSlotSession.start_time, apiBookingSlotSession.team_name, apiBookingSlotSession.is_overbooked, apiBookingSlotSession.last_repeating_date, apiBookingSlotSession.type, apiBookingSlotSession.slot_index, apiBookingSlotSession.comment, apiBookingSlotSession.day, apiBookingSlotSession.activity_type_id, apiBookingSlotSession.color, null, apiBookingSlotSession.bookable_zones_taken, apiBookingSlotSession.bookable_zones_taken_display, apiBookingSlotSession.bookable_part_id, apiBookingSlotSession.bookable_part_name, apiBookingSlotSession.bookable_name, apiBookingSlotSession.bookable_id, apiBookingSlotSession.member_id, apiBookingSlotSession.member_name, apiBookingSlotSession.member_email, apiBookingSlotSession.price, apiBookingSlotSession.payment_order_id, apiBookingSlotSession.pay_until, apiBookingSlotSession.is_paid, apiBookingSlotSession.group_id, apiBookingSlotSession.calendar_id);
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
export const bookingCalendarSlotSessionFactory = (apiBookingSlotSession) => new BookingCalendarSlotSession(apiBookingSlotSession.id, apiBookingSlotSession.section_id, apiBookingSlotSession.slot_id, apiBookingSlotSession.team_id, apiBookingSlotSession.title, apiBookingSlotSession.end_time, apiBookingSlotSession.section_name, apiBookingSlotSession.start_time, apiBookingSlotSession.team_name, apiBookingSlotSession.is_overbooked, apiBookingSlotSession.last_repeating_date, apiBookingSlotSession.type, apiBookingSlotSession.slot_index, apiBookingSlotSession.comment, apiBookingSlotSession.day, apiBookingSlotSession.activity_type_id, apiBookingSlotSession.color, null, apiBookingSlotSession.bookable_zones_taken, apiBookingSlotSession.bookable_zones_taken_display, apiBookingSlotSession.bookable_part_id, apiBookingSlotSession.bookable_part_name, apiBookingSlotSession.bookable_name, apiBookingSlotSession.bookable_id, apiBookingSlotSession.member_id, apiBookingSlotSession.member_name, apiBookingSlotSession.member_email, apiBookingSlotSession.price, apiBookingSlotSession.payment_order_id, apiBookingSlotSession.pay_until, apiBookingSlotSession.is_paid, apiBookingSlotSession.group_id, apiBookingSlotSession.split_batch_id, apiBookingSlotSession.calendar_id);
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9va2luZy1jYWxlbmRhci1zbG90LXNlc3Npb24tZmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGEtYWNjZXNzL3NyYy9saWIvc2VydmljZXMvZmFjdG9yaWVzL2Jvb2tpbmctY2FsZW5kYXItc2xvdC1zZXNzaW9uLWZhY3RvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRTFELE1BQU0sQ0FBQyxNQUFNLGlDQUFpQyxHQUFHLENBQUMscUJBQW9ELEVBQUUsRUFBRSxDQUN4RyxJQUFJLDBCQUEwQixDQUM1QixxQkFBcUIsQ0FBQyxFQUFFLEVBQ3hCLHFCQUFxQixDQUFDLFVBQVUsRUFDaEMscUJBQXFCLENBQUMsT0FBTyxFQUM3QixxQkFBcUIsQ0FBQyxPQUFPLEVBQzdCLHFCQUFxQixDQUFDLEtBQUssRUFDM0IscUJBQXFCLENBQUMsUUFBUSxFQUM5QixxQkFBcUIsQ0FBQyxZQUFZLEVBQ2xDLHFCQUFxQixDQUFDLFVBQVUsRUFDaEMscUJBQXFCLENBQUMsU0FBUyxFQUMvQixxQkFBcUIsQ0FBQyxhQUFhLEVBQ25DLHFCQUFxQixDQUFDLG1CQUFtQixFQUN6QyxxQkFBcUIsQ0FBQyxJQUFJLEVBQzFCLHFCQUFxQixDQUFDLFVBQVUsRUFDaEMscUJBQXFCLENBQUMsT0FBTyxFQUM3QixxQkFBcUIsQ0FBQyxHQUFHLEVBQ3pCLHFCQUFxQixDQUFDLGdCQUFnQixFQUN0QyxxQkFBcUIsQ0FBQyxLQUFLLEVBQzNCLElBQUksRUFDSixxQkFBcUIsQ0FBQyxvQkFBb0IsRUFDMUMscUJBQXFCLENBQUMsNEJBQTRCLEVBQ2xELHFCQUFxQixDQUFDLGdCQUFnQixFQUN0QyxxQkFBcUIsQ0FBQyxrQkFBa0IsRUFDeEMscUJBQXFCLENBQUMsYUFBYSxFQUNuQyxxQkFBcUIsQ0FBQyxXQUFXLEVBQ2pDLHFCQUFxQixDQUFDLFNBQVMsRUFDL0IscUJBQXFCLENBQUMsV0FBVyxFQUNqQyxxQkFBcUIsQ0FBQyxZQUFZLEVBQ2xDLHFCQUFxQixDQUFDLEtBQUssRUFDM0IscUJBQXFCLENBQUMsZ0JBQWdCLEVBQ3RDLHFCQUFxQixDQUFDLFNBQVMsRUFDL0IscUJBQXFCLENBQUMsT0FBTyxFQUM3QixxQkFBcUIsQ0FBQyxRQUFRLEVBQzlCLHFCQUFxQixDQUFDLGNBQWMsRUFDcEMscUJBQXFCLENBQUMsV0FBVyxDQUNsQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXBpQm9va2luZ0NhbGVuZGFyU2xvdFNlc3Npb24gfSBmcm9tIFwiLi4vLi4vYXBpLW1vZGVsc1wiO1xuaW1wb3J0IHsgQm9va2luZ0NhbGVuZGFyU2xvdFNlc3Npb24gfSBmcm9tIFwiLi4vLi4vbW9kZWxzXCI7XG5cbmV4cG9ydCBjb25zdCBib29raW5nQ2FsZW5kYXJTbG90U2Vzc2lvbkZhY3RvcnkgPSAoYXBpQm9va2luZ1Nsb3RTZXNzaW9uOiBBcGlCb29raW5nQ2FsZW5kYXJTbG90U2Vzc2lvbikgPT5cbiAgbmV3IEJvb2tpbmdDYWxlbmRhclNsb3RTZXNzaW9uKFxuICAgIGFwaUJvb2tpbmdTbG90U2Vzc2lvbi5pZCxcbiAgICBhcGlCb29raW5nU2xvdFNlc3Npb24uc2VjdGlvbl9pZCxcbiAgICBhcGlCb29raW5nU2xvdFNlc3Npb24uc2xvdF9pZCxcbiAgICBhcGlCb29raW5nU2xvdFNlc3Npb24udGVhbV9pZCxcbiAgICBhcGlCb29raW5nU2xvdFNlc3Npb24udGl0bGUsXG4gICAgYXBpQm9va2luZ1Nsb3RTZXNzaW9uLmVuZF90aW1lLFxuICAgIGFwaUJvb2tpbmdTbG90U2Vzc2lvbi5zZWN0aW9uX25hbWUsXG4gICAgYXBpQm9va2luZ1Nsb3RTZXNzaW9uLnN0YXJ0X3RpbWUsXG4gICAgYXBpQm9va2luZ1Nsb3RTZXNzaW9uLnRlYW1fbmFtZSxcbiAgICBhcGlCb29raW5nU2xvdFNlc3Npb24uaXNfb3ZlcmJvb2tlZCxcbiAgICBhcGlCb29raW5nU2xvdFNlc3Npb24ubGFzdF9yZXBlYXRpbmdfZGF0ZSxcbiAgICBhcGlCb29raW5nU2xvdFNlc3Npb24udHlwZSxcbiAgICBhcGlCb29raW5nU2xvdFNlc3Npb24uc2xvdF9pbmRleCxcbiAgICBhcGlCb29raW5nU2xvdFNlc3Npb24uY29tbWVudCxcbiAgICBhcGlCb29raW5nU2xvdFNlc3Npb24uZGF5LFxuICAgIGFwaUJvb2tpbmdTbG90U2Vzc2lvbi5hY3Rpdml0eV90eXBlX2lkLFxuICAgIGFwaUJvb2tpbmdTbG90U2Vzc2lvbi5jb2xvcixcbiAgICBudWxsLFxuICAgIGFwaUJvb2tpbmdTbG90U2Vzc2lvbi5ib29rYWJsZV96b25lc190YWtlbixcbiAgICBhcGlCb29raW5nU2xvdFNlc3Npb24uYm9va2FibGVfem9uZXNfdGFrZW5fZGlzcGxheSxcbiAgICBhcGlCb29raW5nU2xvdFNlc3Npb24uYm9va2FibGVfcGFydF9pZCxcbiAgICBhcGlCb29raW5nU2xvdFNlc3Npb24uYm9va2FibGVfcGFydF9uYW1lLFxuICAgIGFwaUJvb2tpbmdTbG90U2Vzc2lvbi5ib29rYWJsZV9uYW1lLFxuICAgIGFwaUJvb2tpbmdTbG90U2Vzc2lvbi5ib29rYWJsZV9pZCxcbiAgICBhcGlCb29raW5nU2xvdFNlc3Npb24ubWVtYmVyX2lkLFxuICAgIGFwaUJvb2tpbmdTbG90U2Vzc2lvbi5tZW1iZXJfbmFtZSxcbiAgICBhcGlCb29raW5nU2xvdFNlc3Npb24ubWVtYmVyX2VtYWlsLFxuICAgIGFwaUJvb2tpbmdTbG90U2Vzc2lvbi5wcmljZSxcbiAgICBhcGlCb29raW5nU2xvdFNlc3Npb24ucGF5bWVudF9vcmRlcl9pZCxcbiAgICBhcGlCb29raW5nU2xvdFNlc3Npb24ucGF5X3VudGlsLFxuICAgIGFwaUJvb2tpbmdTbG90U2Vzc2lvbi5pc19wYWlkLFxuICAgIGFwaUJvb2tpbmdTbG90U2Vzc2lvbi5ncm91cF9pZCxcbiAgICBhcGlCb29raW5nU2xvdFNlc3Npb24uc3BsaXRfYmF0Y2hfaWQsXG4gICAgYXBpQm9va2luZ1Nsb3RTZXNzaW9uLmNhbGVuZGFyX2lkLFxuICApO1xuIl19
|
|
@@ -2209,7 +2209,7 @@ const bookingCalendarFactory = (apiBookingCalendar) => new BookingCalendar(apiBo
|
|
|
2209
2209
|
|
|
2210
2210
|
const bookingCalendarApplicationTimeFactory = (apiBookingApplicationTime) => new BookingCalendarApplicationTime(apiBookingApplicationTime.id, apiBookingApplicationTime.section_id, apiBookingApplicationTime.slot_id, apiBookingApplicationTime.team_id, apiBookingApplicationTime.title, apiBookingApplicationTime.end_time, apiBookingApplicationTime.section_name, apiBookingApplicationTime.start_time, apiBookingApplicationTime.team_name, apiBookingApplicationTime.applicant_comment, apiBookingApplicationTime.reviewer_comment, apiBookingApplicationTime.status, apiBookingApplicationTime.repeat, apiBookingApplicationTime.activity_type_id, apiBookingApplicationTime.color, apiBookingApplicationTime.slot_start_time, apiBookingApplicationTime.slot_end_time, apiBookingApplicationTime.slot_day, apiBookingApplicationTime.slot_number_of_available_sessions, apiBookingApplicationTime.slot_last_repeating_date, apiBookingApplicationTime.created, apiBookingApplicationTime.bookable_zones_taken, apiBookingApplicationTime.bookable_zones_taken_display, apiBookingApplicationTime.bookable_part_id, apiBookingApplicationTime.bookable_part_name, apiBookingApplicationTime.bookable_id, apiBookingApplicationTime.bookable_name, apiBookingApplicationTime.member_id, apiBookingApplicationTime.member_name, apiBookingApplicationTime.member_email, apiBookingApplicationTime.price, false);
|
|
2211
2211
|
|
|
2212
|
-
const bookingCalendarSlotSessionFactory = (apiBookingSlotSession) => new BookingCalendarSlotSession(apiBookingSlotSession.id, apiBookingSlotSession.section_id, apiBookingSlotSession.slot_id, apiBookingSlotSession.team_id, apiBookingSlotSession.title, apiBookingSlotSession.end_time, apiBookingSlotSession.section_name, apiBookingSlotSession.start_time, apiBookingSlotSession.team_name, apiBookingSlotSession.is_overbooked, apiBookingSlotSession.last_repeating_date, apiBookingSlotSession.type, apiBookingSlotSession.slot_index, apiBookingSlotSession.comment, apiBookingSlotSession.day, apiBookingSlotSession.activity_type_id, apiBookingSlotSession.color, null, apiBookingSlotSession.bookable_zones_taken, apiBookingSlotSession.bookable_zones_taken_display, apiBookingSlotSession.bookable_part_id, apiBookingSlotSession.bookable_part_name, apiBookingSlotSession.bookable_name, apiBookingSlotSession.bookable_id, apiBookingSlotSession.member_id, apiBookingSlotSession.member_name, apiBookingSlotSession.member_email, apiBookingSlotSession.price, apiBookingSlotSession.payment_order_id, apiBookingSlotSession.pay_until, apiBookingSlotSession.is_paid, apiBookingSlotSession.group_id, apiBookingSlotSession.calendar_id);
|
|
2212
|
+
const bookingCalendarSlotSessionFactory = (apiBookingSlotSession) => new BookingCalendarSlotSession(apiBookingSlotSession.id, apiBookingSlotSession.section_id, apiBookingSlotSession.slot_id, apiBookingSlotSession.team_id, apiBookingSlotSession.title, apiBookingSlotSession.end_time, apiBookingSlotSession.section_name, apiBookingSlotSession.start_time, apiBookingSlotSession.team_name, apiBookingSlotSession.is_overbooked, apiBookingSlotSession.last_repeating_date, apiBookingSlotSession.type, apiBookingSlotSession.slot_index, apiBookingSlotSession.comment, apiBookingSlotSession.day, apiBookingSlotSession.activity_type_id, apiBookingSlotSession.color, null, apiBookingSlotSession.bookable_zones_taken, apiBookingSlotSession.bookable_zones_taken_display, apiBookingSlotSession.bookable_part_id, apiBookingSlotSession.bookable_part_name, apiBookingSlotSession.bookable_name, apiBookingSlotSession.bookable_id, apiBookingSlotSession.member_id, apiBookingSlotSession.member_name, apiBookingSlotSession.member_email, apiBookingSlotSession.price, apiBookingSlotSession.payment_order_id, apiBookingSlotSession.pay_until, apiBookingSlotSession.is_paid, apiBookingSlotSession.group_id, apiBookingSlotSession.split_batch_id, apiBookingSlotSession.calendar_id);
|
|
2213
2213
|
|
|
2214
2214
|
const bookingCalendarSlotFactory = (apiBookingSlot) => new BookingCalendarSlot(apiBookingSlot.id, apiBookingSlot.calendar_id, apiBookingSlot.calendar_status, apiBookingSlot.color, apiBookingSlot.day, apiBookingSlot.end_time, apiBookingSlot.group_id, apiBookingSlot.number_of_available_sessions, apiBookingSlot.sessions && apiBookingSlot.sessions.length ? apiBookingSlot.sessions.map((apiBookingSlotSession) => bookingCalendarSlotSessionFactory(apiBookingSlotSession)) : [], apiBookingSlot.open_sessions && apiBookingSlot.open_sessions.length ? apiBookingSlot.open_sessions.map((apiBookingSlotSession) => bookingCalendarSlotSessionFactory(apiBookingSlotSession)) : [], apiBookingSlot.start_time, apiBookingSlot.type, 'none', null, false, 6, format(new Date(), 'yyyy-MM-dd'), 'repeat_until', apiBookingSlot.reserved_time, apiBookingSlot.reserved_time_position, apiBookingSlot.application_times && apiBookingSlot.application_times.length ? apiBookingSlot.application_times.map((apiBookingApplicationTime) => bookingCalendarApplicationTimeFactory(apiBookingApplicationTime)) : [], apiBookingSlot.last_repeating_date, apiBookingSlot.bookable_name, apiBookingSlot.bookable_id, apiBookingSlot.price);
|
|
2215
2215
|
|
|
@@ -3293,8 +3293,8 @@ class BookingCalendar {
|
|
|
3293
3293
|
}
|
|
3294
3294
|
constructor(id, club_id, section_id, team_id, club_name, name, section_name, team_name, status, max_application_number, allow_team_export, allow_repeated_bookings, is_default, payment_limit_in_minutes = 0, price_per_slot = 0, send_team_application_created = true, send_team_application_updated = true, send_admin_team_booking_created = true, send_team_booking_created = true, send_team_booking_deleted = true, send_member_booking_created = true, send_member_booking_deleted = true, available_for_teams, bookable_items, type, type_display, member_fee_id, service_fee_id, info_email, saved_search_id,
|
|
3295
3295
|
// Read-only server-computed flags used to gate the fee UI:
|
|
3296
|
-
// can_use_fees - false when the calendar's section may not use invoices
|
|
3297
|
-
// club_has_direct_payments - false when the club has no direct-payment method
|
|
3296
|
+
// can_use_fees - false when the calendar's section may not use invoices
|
|
3297
|
+
// club_has_direct_payments - false when the club has no direct-payment method
|
|
3298
3298
|
// Default permissive so manually-constructed (new) calendars don't gate before the
|
|
3299
3299
|
// server response is available.
|
|
3300
3300
|
can_use_fees = true, club_has_direct_payments = true) {
|
|
@@ -3535,6 +3535,7 @@ class BookingCalendarSlotSession {
|
|
|
3535
3535
|
pay_until;
|
|
3536
3536
|
is_paid;
|
|
3537
3537
|
group_id;
|
|
3538
|
+
split_batch_id;
|
|
3538
3539
|
calendar_id;
|
|
3539
3540
|
static asFormGroup(session) {
|
|
3540
3541
|
return new FormGroup({
|
|
@@ -3558,7 +3559,7 @@ class BookingCalendarSlotSession {
|
|
|
3558
3559
|
member_id: new FormControl(session?.member_id || '')
|
|
3559
3560
|
});
|
|
3560
3561
|
}
|
|
3561
|
-
constructor(id, section_id, slot_id, team_id, title, end_time, section_name, start_time, team_name, is_overbooked, last_repeating_date, type, slot_index, comment, day, activity_type_id, color = null, update_dates = null, bookable_zones_taken, bookable_zones_taken_display, bookable_part_id, bookable_part_name, bookable_name, bookable_id, member_id, member_name, member_email, price = 0, payment_order_id, pay_until, is_paid, group_id, calendar_id) {
|
|
3562
|
+
constructor(id, section_id, slot_id, team_id, title, end_time, section_name, start_time, team_name, is_overbooked, last_repeating_date, type, slot_index, comment, day, activity_type_id, color = null, update_dates = null, bookable_zones_taken, bookable_zones_taken_display, bookable_part_id, bookable_part_name, bookable_name, bookable_id, member_id, member_name, member_email, price = 0, payment_order_id, pay_until, is_paid, group_id, split_batch_id, calendar_id) {
|
|
3562
3563
|
this.id = id;
|
|
3563
3564
|
this.section_id = section_id;
|
|
3564
3565
|
this.slot_id = slot_id;
|
|
@@ -3591,6 +3592,7 @@ class BookingCalendarSlotSession {
|
|
|
3591
3592
|
this.pay_until = pay_until;
|
|
3592
3593
|
this.is_paid = is_paid;
|
|
3593
3594
|
this.group_id = group_id;
|
|
3595
|
+
this.split_batch_id = split_batch_id;
|
|
3594
3596
|
this.calendar_id = calendar_id;
|
|
3595
3597
|
}
|
|
3596
3598
|
}
|
|
@@ -6576,6 +6578,7 @@ const MEMBER_BOOKING_CALENDAR_SLOT_SESSION_PATH = ':memberId/activities/sessions
|
|
|
6576
6578
|
const MEMBER_BOOKING_CALENDAR_SLOT_PATH = ':memberId/activities/slots/:id/';
|
|
6577
6579
|
const MEMBER_BOOKING_CALENDAR_SLOT_GROUP_PATH = ':memberId/activities/slots/:id/group/';
|
|
6578
6580
|
const MEMBER_BOOKING_CALENDAR_SESSION_GROUP_PATH = ':memberId/activities/sessions/:id/group/';
|
|
6581
|
+
const MEMBER_BOOKING_CALENDAR_SESSION_SPLIT_BATCH_PATH = ':memberId/activities/sessions/:id/split-batch/';
|
|
6579
6582
|
const MEMBER_BOOKING_CALENDAR_APPLICATION_TIMES_PATH = ':memberId/activities/application-times/';
|
|
6580
6583
|
const MEMBER_BOOKING_CALENDAR_APPLICATION_TIME_PATH = ':memberId/activities/application-times/:id/';
|
|
6581
6584
|
const MEMBER_BOOKING_CALENDAR_BOOKABLE_SLOTS_PATH = ':memberId/activities/bookables/:bookableId/slots/';
|
|
@@ -7404,6 +7407,19 @@ class BookingCalendarService {
|
|
|
7404
7407
|
getMemberSessionGroupItems(memberId, id) {
|
|
7405
7408
|
return this.apiService.getCollection(bookingCalendarSlotSessionGroupItemFactory, Role.MemberAdmin, MEMBER_BOOKING_CALENDAR_SESSION_GROUP_PATH, { memberId, id });
|
|
7406
7409
|
}
|
|
7410
|
+
// Cancel every session booked together with the given session (its split batch).
|
|
7411
|
+
// Only supported for members; other roles use the repeatable-delete flow.
|
|
7412
|
+
deleteSplitBatch(role, itemId, id, sendNotification = false) {
|
|
7413
|
+
switch (role) {
|
|
7414
|
+
case Role.MemberAdmin:
|
|
7415
|
+
return this.deleteMemberSplitBatch(itemId, id, sendNotification);
|
|
7416
|
+
default:
|
|
7417
|
+
throw invalidRoleError;
|
|
7418
|
+
}
|
|
7419
|
+
}
|
|
7420
|
+
deleteMemberSplitBatch(memberId, id, sendNotification = false) {
|
|
7421
|
+
return this.apiService.deleteResourceWithBody(Role.MemberAdmin, MEMBER_BOOKING_CALENDAR_SESSION_SPLIT_BATCH_PATH, { memberId, id }, { body: { send_notification: sendNotification } });
|
|
7422
|
+
}
|
|
7407
7423
|
// endregion
|
|
7408
7424
|
// region Booking Setting
|
|
7409
7425
|
getBookingSettings(role, itemId) {
|