@vicacha-devs/strapi-plugin-bookings 0.0.0-stage → 1.0.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.
Files changed (82) hide show
  1. package/LICENSE.md +21 -0
  2. package/README.md +23 -2
  3. package/dist/admin/App-BrB9n7EO.mjs +371 -0
  4. package/dist/admin/App-ZlqOsILc.js +371 -0
  5. package/dist/admin/SettingsPage-LR6F2vyx.js +410 -0
  6. package/dist/admin/SettingsPage-Xas3gvn4.mjs +410 -0
  7. package/dist/admin/ar-9_2mxMp2.js +339 -0
  8. package/dist/admin/ar-CrM4yxqb.mjs +339 -0
  9. package/dist/admin/de-D3NbAP6M.mjs +339 -0
  10. package/dist/admin/de-DBaO-D7Z.js +339 -0
  11. package/dist/admin/en-Cu-rn_xM.mjs +339 -0
  12. package/dist/admin/en-DAoI7qkk.js +339 -0
  13. package/dist/admin/es-DUqsu82s.js +339 -0
  14. package/dist/admin/es-Y0zfya4P.mjs +339 -0
  15. package/dist/admin/fr-BkLta_o8.js +339 -0
  16. package/dist/admin/fr-BrzKRqet.mjs +339 -0
  17. package/dist/admin/getTranslation-CZAJyMSt.mjs +5 -0
  18. package/dist/admin/getTranslation-Cd0_4UtW.js +4 -0
  19. package/dist/admin/id-BZz53ViW.mjs +339 -0
  20. package/dist/admin/id-ByxSagzq.js +339 -0
  21. package/dist/admin/index.js +1497 -0
  22. package/dist/admin/index.mjs +1492 -0
  23. package/dist/admin/pt-BSCDUkdd.js +339 -0
  24. package/dist/admin/pt-DUfISuZf.mjs +339 -0
  25. package/dist/admin/src/components/Initializer.d.ts +6 -0
  26. package/dist/admin/src/components/PluginIcon.d.ts +3 -0
  27. package/dist/admin/src/components/RRuleInput.d.ts +3 -0
  28. package/dist/admin/src/components/bookings/BookingSidePanel.d.ts +10 -0
  29. package/dist/admin/src/components/bookings/BookingsGridCanvas.d.ts +20 -0
  30. package/dist/admin/src/components/bookings/QuickCreateBookingModal.d.ts +11 -0
  31. package/dist/admin/src/index.d.ts +24 -0
  32. package/dist/admin/src/pages/App.d.ts +3 -0
  33. package/dist/admin/src/pages/CalendarPage.d.ts +3 -0
  34. package/dist/admin/src/pages/SettingsPage.d.ts +3 -0
  35. package/dist/admin/src/permissions.d.ts +29 -0
  36. package/dist/admin/src/pluginId.d.ts +1 -0
  37. package/dist/admin/src/translations/cmLabels.d.ts +1 -0
  38. package/dist/admin/src/translations/cmPlaceholders.d.ts +1 -0
  39. package/dist/admin/src/utils/getTranslation.d.ts +2 -0
  40. package/dist/admin/tr-_nhc9hk6.mjs +339 -0
  41. package/dist/admin/tr-r17l5F2K.js +339 -0
  42. package/dist/admin/ur-8edBd0Qo.mjs +339 -0
  43. package/dist/admin/ur-Dw_TAOZ3.js +339 -0
  44. package/dist/admin/zh-CeR0swEm.mjs +339 -0
  45. package/dist/admin/zh-D0z5sxxN.js +339 -0
  46. package/dist/server/index.js +3547 -0
  47. package/dist/server/index.mjs +3545 -0
  48. package/dist/server/src/bootstrap.d.ts +6 -0
  49. package/dist/server/src/config/index.d.ts +6 -0
  50. package/dist/server/src/content-types/booking/schema.json.d.ts +117 -0
  51. package/dist/server/src/content-types/index.d.ts +265 -0
  52. package/dist/server/src/content-types/resource/schema.json.d.ts +147 -0
  53. package/dist/server/src/controllers/admin.d.ts +30 -0
  54. package/dist/server/src/controllers/content-api.d.ts +32 -0
  55. package/dist/server/src/controllers/index.d.ts +28 -0
  56. package/dist/server/src/destroy.d.ts +5 -0
  57. package/dist/server/src/errors.d.ts +18 -0
  58. package/dist/server/src/index.d.ts +347 -0
  59. package/dist/server/src/register.d.ts +5 -0
  60. package/dist/server/src/routes/admin.d.ts +14 -0
  61. package/dist/server/src/routes/content-api.d.ts +9 -0
  62. package/dist/server/src/routes/index.d.ts +30 -0
  63. package/dist/server/src/services/availability.d.ts +8 -0
  64. package/dist/server/src/services/index.d.ts +12 -0
  65. package/dist/server/src/services/reservation.d.ts +6 -0
  66. package/dist/server/src/services/reservationHelpers.d.ts +41 -0
  67. package/dist/server/src/services/reservationHostCapacity.d.ts +16 -0
  68. package/dist/server/src/services/reservationMutations.d.ts +32 -0
  69. package/dist/server/src/services/reservationSources.d.ts +4 -0
  70. package/dist/server/src/services/reservationValidators.d.ts +27 -0
  71. package/dist/server/src/services/settings.d.ts +8 -0
  72. package/dist/server/src/types.d.ts +99 -0
  73. package/dist/shared/calendarSystems.d.ts +3 -0
  74. package/dist/shared/icalAndCsv.d.ts +16 -0
  75. package/dist/shared/index.d.ts +6 -0
  76. package/dist/shared/index.js +752 -0
  77. package/dist/shared/index.mjs +729 -0
  78. package/dist/shared/pluginId.d.ts +2 -0
  79. package/dist/shared/slotEngine.d.ts +19 -0
  80. package/dist/shared/slotTimezone.d.ts +45 -0
  81. package/dist/shared/types.d.ts +245 -0
  82. package/package.json +111 -3
@@ -0,0 +1,339 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const listTitle = "Reservations & Bookings Ledger";
4
+ const empty = "No bookings found for the selected filters.";
5
+ const inspect = "Inspect";
6
+ const en = {
7
+ "settings.theme.breeze.label": "Breeze (Sky & Slate — Default)",
8
+ "bookings.settings.theme.breeze.label": "Breeze (Sky & Slate — Default)",
9
+ "settings.theme.breeze.description": "High-contrast sky-blue & crisp slate grid with warm amber Hijri badges",
10
+ "bookings.settings.theme.breeze.description": "High-contrast sky-blue & crisp slate grid with warm amber Hijri badges",
11
+ "settings.theme.emerald.label": "Emerald Mosque (Teal & Gold)",
12
+ "bookings.settings.theme.emerald.label": "Emerald Mosque (Teal & Gold)",
13
+ "settings.theme.emerald.description": "Islamic emerald-teal headers with warm gold secondary calendar highlights",
14
+ "bookings.settings.theme.emerald.description": "Islamic emerald-teal headers with warm gold secondary calendar highlights",
15
+ "settings.theme.sandstone.label": "Andalusian Sandstone (Warm Earth)",
16
+ "bookings.settings.theme.sandstone.label": "Andalusian Sandstone (Warm Earth)",
17
+ "settings.theme.sandstone.description": "Warm terracotta and parchment tones inspired by Andalusian courtyards",
18
+ "bookings.settings.theme.sandstone.description": "Warm terracotta and parchment tones inspired by Andalusian courtyards",
19
+ "settings.theme.midnight.label": "Midnight Observatory (Dark Slate)",
20
+ "bookings.settings.theme.midnight.label": "Midnight Observatory (Dark Slate)",
21
+ "settings.theme.midnight.description": "Deep slate dark-mode canvas with luminous cyan and gold accents",
22
+ "bookings.settings.theme.midnight.description": "Deep slate dark-mode canvas with luminous cyan and gold accents",
23
+ "settings.theme.royal.label": "Royal Indigo (Classic Admin)",
24
+ "bookings.settings.theme.royal.label": "Royal Indigo (Classic Admin)",
25
+ "settings.theme.royal.description": "Strapi-native indigo palette with crisp neutral borders",
26
+ "bookings.settings.theme.royal.description": "Strapi-native indigo palette with crisp neutral borders",
27
+ "panel.close": "Close",
28
+ "bookings.panel.close": "Close",
29
+ "panel.partySize": "Party Size",
30
+ "bookings.panel.partySize": "Party Size",
31
+ "panel.language": "Lang",
32
+ "bookings.panel.language": "Lang",
33
+ "panel.schedule": "Schedule",
34
+ "bookings.panel.schedule": "Schedule",
35
+ "panel.slotLabel": "Slot",
36
+ "bookings.panel.slotLabel": "Slot",
37
+ "panel.customer": "Customer Details",
38
+ "bookings.panel.customer": "Customer Details",
39
+ "panel.status": "Booking Status",
40
+ "bookings.panel.status": "Booking Status",
41
+ "placeholder.select_booking_status": "Select booking status",
42
+ "bookings.placeholder.select_booking_status": "Select booking status",
43
+ "panel.assignedHost": "Assigned Staff / Host",
44
+ "bookings.panel.assignedHost": "Assigned Staff / Host",
45
+ "placeholder.assign_guide_or_host": "Assign guide or host...",
46
+ "bookings.placeholder.assign_guide_or_host": "Assign guide or host...",
47
+ "panel.internalNotes": "Internal Notes",
48
+ "bookings.panel.internalNotes": "Internal Notes",
49
+ "placeholder.internal_staff_notes": "Internal staff notes...",
50
+ "bookings.placeholder.internal_staff_notes": "Internal staff notes...",
51
+ "panel.save": "Save Changes",
52
+ "bookings.panel.save": "Save Changes",
53
+ "panel.openEntry": "Open in Content Manager",
54
+ "bookings.panel.openEntry": "Open in Content Manager",
55
+ "bookings.listTitle": "Reservations & Bookings Ledger",
56
+ "bookings.empty": "No bookings found for the selected filters.",
57
+ "bookings.inspect": "Inspect",
58
+ "nav.prev": "Prev",
59
+ "bookings.nav.prev": "Prev",
60
+ "nav.today": "Today",
61
+ "bookings.nav.today": "Today",
62
+ "nav.next": "Next",
63
+ "bookings.nav.next": "Next",
64
+ "modal.createTitle": "New Reservation / Booking",
65
+ "bookings.modal.createTitle": "New Reservation / Booking",
66
+ "modal.createSubtitle": "Enter visitor or group details to schedule a confirmed or pending slot",
67
+ "bookings.modal.createSubtitle": "Enter visitor or group details to schedule a confirmed or pending slot",
68
+ "modal.resource": "Bookable Resource / Service",
69
+ "bookings.modal.resource": "Bookable Resource / Service",
70
+ "placeholder.select_bookable_resource": "Select bookable resource",
71
+ "bookings.placeholder.select_bookable_resource": "Select bookable resource",
72
+ "modal.customerName": "Visitor / Customer Name *",
73
+ "bookings.modal.customerName": "Visitor / Customer Name *",
74
+ "placeholder.e_g_prof_carlos_m_ndez": "e.g., Prof. Carlos Méndez",
75
+ "bookings.placeholder.e_g_prof_carlos_m_ndez": "e.g., Prof. Carlos Méndez",
76
+ "modal.customerEmail": "Customer Email *",
77
+ "bookings.modal.customerEmail": "Customer Email *",
78
+ "placeholder.visitor_example_org": "visitor@example.org",
79
+ "bookings.placeholder.visitor_example_org": "visitor@example.org",
80
+ "modal.customerPhone": "Phone / WhatsApp",
81
+ "bookings.modal.customerPhone": "Phone / WhatsApp",
82
+ "placeholder.57_300_000_0000": "+57 300 000 0000",
83
+ "bookings.placeholder.57_300_000_0000": "+57 300 000 0000",
84
+ "modal.organization": "Organization / School / University",
85
+ "bookings.modal.organization": "Organization / School / University",
86
+ "placeholder.e_g_universidad_nacional": "e.g., Universidad Nacional",
87
+ "bookings.placeholder.e_g_universidad_nacional": "e.g., Universidad Nacional",
88
+ "modal.bookingDate": "Preferred Date *",
89
+ "bookings.modal.bookingDate": "Preferred Date *",
90
+ "placeholder.yyyy_mm_dd": "YYYY-MM-DD",
91
+ "bookings.placeholder.yyyy_mm_dd": "YYYY-MM-DD",
92
+ "modal.bookingTime": "Start Time",
93
+ "bookings.modal.bookingTime": "Start Time",
94
+ "placeholder.09_00": "09:00",
95
+ "bookings.placeholder.09_00": "09:00",
96
+ "modal.partySize": "Group / Party Size",
97
+ "bookings.modal.partySize": "Group / Party Size",
98
+ "placeholder.1": "1",
99
+ "bookings.placeholder.1": "1",
100
+ "modal.preferredLanguage": "Preferred Guide Language",
101
+ "bookings.modal.preferredLanguage": "Preferred Guide Language",
102
+ "placeholder.select_preferred_language": "Select preferred language",
103
+ "bookings.placeholder.select_preferred_language": "Select preferred language",
104
+ "modal.assignedHost": "Assigned Host / Staff",
105
+ "bookings.modal.assignedHost": "Assigned Host / Staff",
106
+ "placeholder.e_g_sheikh_ahmad_guide_team": "e.g., Sheikh Ahmad / Guide Team",
107
+ "bookings.placeholder.e_g_sheikh_ahmad_guide_team": "e.g., Sheikh Ahmad / Guide Team",
108
+ "modal.notes": "Visitor Notes & Special Requests",
109
+ "bookings.modal.notes": "Visitor Notes & Special Requests",
110
+ "placeholder.academic_group_visit_accessibility_needs_or_topi": "Academic group visit, accessibility needs, or topic requests...",
111
+ "bookings.placeholder.academic_group_visit_accessibility_needs_or_topi": "Academic group visit, accessibility needs, or topic requests...",
112
+ "modal.cancel": "Cancel",
113
+ "bookings.modal.cancel": "Cancel",
114
+ "modal.create": "Create Booking",
115
+ "bookings.modal.create": "Create Booking",
116
+ "notifications.loadError": "Failed to load bookings calendar",
117
+ "bookings.notifications.loadError": "Failed to load bookings calendar",
118
+ "notifications.updated": "Booking updated",
119
+ "bookings.notifications.updated": "Booking updated",
120
+ "notifications.updateError": "Failed to update booking",
121
+ "bookings.notifications.updateError": "Failed to update booking",
122
+ "notifications.rescheduled": "Booking rescheduled",
123
+ "bookings.notifications.rescheduled": "Booking rescheduled",
124
+ "notifications.rescheduleError": "Failed to reschedule booking (slot may be full or blacked out)",
125
+ "bookings.notifications.rescheduleError": "Failed to reschedule booking (slot may be full or blacked out)",
126
+ "notifications.created": "Booking created",
127
+ "bookings.notifications.created": "Booking created",
128
+ "notifications.createError": "Failed to create booking",
129
+ "bookings.notifications.createError": "Failed to create booking",
130
+ "plugin.title": "Bookings & Slot Availability",
131
+ "bookings.plugin.title": "Bookings & Slot Availability",
132
+ "plugin.subtitle": "Manage bookable resources, time-slot availability, staff assignment, and reservations",
133
+ "bookings.plugin.subtitle": "Manage bookable resources, time-slot availability, staff assignment, and reservations",
134
+ "actions.settings": "Settings",
135
+ "bookings.actions.settings": "Settings",
136
+ "actions.exportCsv": "Export CSV",
137
+ "bookings.actions.exportCsv": "Export CSV",
138
+ "actions.newBooking": "New Booking",
139
+ "bookings.actions.newBooking": "New Booking",
140
+ "stats.total": "Total Bookings",
141
+ "bookings.stats.total": "Total Bookings",
142
+ "stats.confirmed": "Confirmed",
143
+ "bookings.stats.confirmed": "Confirmed",
144
+ "stats.pending": "Pending Approval",
145
+ "bookings.stats.pending": "Pending Approval",
146
+ "stats.guests": "Total Guests / Seats",
147
+ "bookings.stats.guests": "Total Guests / Seats",
148
+ "stats.resources": "Active Resources",
149
+ "bookings.stats.resources": "Active Resources",
150
+ "filters.resource": "Bookable Resource",
151
+ "bookings.filters.resource": "Bookable Resource",
152
+ "placeholder.all_resources": "All Resources",
153
+ "bookings.placeholder.all_resources": "All Resources",
154
+ "filters.allResources": "All Resources",
155
+ "bookings.filters.allResources": "All Resources",
156
+ "filters.status": "Booking Status",
157
+ "bookings.filters.status": "Booking Status",
158
+ "placeholder.all_statuses": "All Statuses",
159
+ "bookings.placeholder.all_statuses": "All Statuses",
160
+ "filters.allStatuses": "All Statuses",
161
+ "bookings.filters.allStatuses": "All Statuses",
162
+ "page.ui.pending": "PENDING",
163
+ "bookings.page.ui.pending": "PENDING",
164
+ "page.ui.confirmed": "CONFIRMED",
165
+ "bookings.page.ui.confirmed": "CONFIRMED",
166
+ "page.ui.completed": "COMPLETED",
167
+ "bookings.page.ui.completed": "COMPLETED",
168
+ "page.ui.cancelled": "CANCELLED",
169
+ "bookings.page.ui.cancelled": "CANCELLED",
170
+ "page.ui.no_show": "NO SHOW",
171
+ "bookings.page.ui.no_show": "NO SHOW",
172
+ "filters.search": "Search Reservations",
173
+ "bookings.filters.search": "Search Reservations",
174
+ "filters.searchPlaceholder": "Code, customer, host, org...",
175
+ "bookings.filters.searchPlaceholder": "Code, customer, host, org...",
176
+ "filters.language": "Calendar Language",
177
+ "bookings.filters.language": "Calendar Language",
178
+ "placeholder.select_calendar_language": "Select calendar language",
179
+ "bookings.placeholder.select_calendar_language": "Select calendar language",
180
+ "page.ui.espa_ol_local_es": "Español (Local — ES)",
181
+ "bookings.page.ui.espa_ol_local_es": "Español (Local — ES)",
182
+ "page.ui.english_en": "English (EN)",
183
+ "bookings.page.ui.english_en": "English (EN)",
184
+ "page.ui.arabic_ar": "العربية (Arabic — AR)",
185
+ "bookings.page.ui.arabic_ar": "العربية (Arabic — AR)",
186
+ "page.ui.t_rk_e_turkish_tr": "Türkçe (Turkish — TR)",
187
+ "bookings.page.ui.t_rk_e_turkish_tr": "Türkçe (Turkish — TR)",
188
+ "filters.hijriMode": "Hijri / Secondary Calendar",
189
+ "bookings.filters.hijriMode": "Hijri / Secondary Calendar",
190
+ "placeholder.select_hijri_display_mode": "Select Hijri display mode",
191
+ "bookings.placeholder.select_hijri_display_mode": "Select Hijri display mode",
192
+ "page.ui.hijri_in_local_language": "Hijri in Local Language",
193
+ "bookings.page.ui.hijri_in_local_language": "Hijri in Local Language",
194
+ "page.ui.hijri_in_arabic": "Hijri in Arabic (العربية)",
195
+ "bookings.page.ui.hijri_in_arabic": "Hijri in Arabic (العربية)",
196
+ "page.ui.off_gregorian_only": "Off (Gregorian Only)",
197
+ "bookings.page.ui.off_gregorian_only": "Off (Gregorian Only)",
198
+ "filters.theme": "Calendar Theme",
199
+ "bookings.filters.theme": "Calendar Theme",
200
+ "placeholder.select_calendar_theme": "Select calendar theme",
201
+ "bookings.placeholder.select_calendar_theme": "Select calendar theme",
202
+ "settings.saved": "Bookings settings saved successfully",
203
+ "bookings.settings.saved": "Bookings settings saved successfully",
204
+ "settings.saveError": "Failed to save bookings settings",
205
+ "bookings.settings.saveError": "Failed to save bookings settings",
206
+ "settings.title": "Bookings & Availability Settings",
207
+ "bookings.settings.title": "Bookings & Availability Settings",
208
+ "settings.subtitle": "Configure default slot durations, capacity limits, buffer times, lead times, and reservation approval rules. Visual calendar themes and secondary calendars are managed centrally in Calendar Settings.",
209
+ "bookings.settings.subtitle": "Configure default slot durations, capacity limits, buffer times, lead times, and reservation approval rules. Visual calendar themes and secondary calendars are managed centrally in Calendar Settings.",
210
+ "settings.save": "Save Settings",
211
+ "bookings.settings.save": "Save Settings",
212
+ "settings.themeHeading": "Bookings Calendar Theme & Language",
213
+ "bookings.settings.themeHeading": "Bookings Calendar Theme & Language",
214
+ "settings.themeSubtitle": 'Select the visual theme ("Breeze" default), primary calendar language, and optional Arabic/Hijri secondary date display.',
215
+ "bookings.settings.themeSubtitle": 'Select the visual theme ("Breeze" default), primary calendar language, and optional Arabic/Hijri secondary date display.',
216
+ "settings.defaultLocale": "Primary Calendar Language",
217
+ "bookings.settings.defaultLocale": "Primary Calendar Language",
218
+ "settings.defaultLocale.placeholder": "Select primary language",
219
+ "bookings.settings.defaultLocale.placeholder": "Select primary language",
220
+ "settings.locale.es": "Español — Spanish (ES)",
221
+ "bookings.settings.locale.es": "Español — Spanish (ES)",
222
+ "settings.locale.en": "English (EN)",
223
+ "bookings.settings.locale.en": "English (EN)",
224
+ "settings.locale.ar": "العربية — Arabic (AR)",
225
+ "bookings.settings.locale.ar": "العربية — Arabic (AR)",
226
+ "settings.locale.tr": "Türkçe — Turkish (TR)",
227
+ "bookings.settings.locale.tr": "Türkçe — Turkish (TR)",
228
+ "settings.defaultLocaleHint": "Default language for the Bookings calendar interface.",
229
+ "bookings.settings.defaultLocaleHint": "Default language for the Bookings calendar interface.",
230
+ "settings.secondaryCalendarLanguage": "Hijri / Secondary Calendar Display",
231
+ "bookings.settings.secondaryCalendarLanguage": "Hijri / Secondary Calendar Display",
232
+ "settings.secondaryCalendarLanguage.placeholder": "Select secondary calendar display",
233
+ "bookings.settings.secondaryCalendarLanguage.placeholder": "Select secondary calendar display",
234
+ "settings.secondaryCalendarLanguage.local": "Local Language (e.g. 16 Rabiʻ II)",
235
+ "bookings.settings.secondaryCalendarLanguage.local": "Local Language (e.g. 16 Rabiʻ II)",
236
+ "settings.secondaryCalendarLanguage.ar": "Arabic Script — العربية (e.g. ١٦ ربيع الآخر)",
237
+ "bookings.settings.secondaryCalendarLanguage.ar": "Arabic Script — العربية (e.g. ١٦ ربيع الآخر)",
238
+ "settings.secondaryCalendarLanguage.off": "Off (Gregorian Calendar Only)",
239
+ "bookings.settings.secondaryCalendarLanguage.off": "Off (Gregorian Calendar Only)",
240
+ "settings.secondaryCalendarLanguageHint": "Controls how Hijri dates are rendered on booking slots.",
241
+ "bookings.settings.secondaryCalendarLanguageHint": "Controls how Hijri dates are rendered on booking slots.",
242
+ "settings.defaultTimezone": "Operating Hours Timezone (IANA)",
243
+ "bookings.settings.defaultTimezone": "Operating Hours Timezone (IANA)",
244
+ "settings.defaultTimezone.placeholder": "e.g., America/Bogota",
245
+ "bookings.settings.defaultTimezone.placeholder": "e.g., America/Bogota",
246
+ "settings.defaultTimezoneHint": "IANA timezone used to evaluate daily operating windows.",
247
+ "bookings.settings.defaultTimezoneHint": "IANA timezone used to evaluate daily operating windows.",
248
+ "settings.defaultsHeading": "Default Slot & Scheduling Rules",
249
+ "bookings.settings.defaultsHeading": "Default Slot & Scheduling Rules",
250
+ "settings.defaultSlotDurationMinutes": "Slot Duration (Minutes)",
251
+ "bookings.settings.defaultSlotDurationMinutes": "Slot Duration (Minutes)",
252
+ "settings.defaultSlotDurationMinutes.placeholder": "e.g., 60",
253
+ "bookings.settings.defaultSlotDurationMinutes.placeholder": "e.g., 60",
254
+ "settings.defaultSlotDurationMinutesHint": "Standard length of each bookable appointment slot.",
255
+ "bookings.settings.defaultSlotDurationMinutesHint": "Standard length of each bookable appointment slot.",
256
+ "settings.defaultCapacityPerSlot": "Default Capacity Per Slot",
257
+ "bookings.settings.defaultCapacityPerSlot": "Default Capacity Per Slot",
258
+ "settings.defaultCapacityPerSlot.placeholder": "e.g., 1",
259
+ "bookings.settings.defaultCapacityPerSlot.placeholder": "e.g., 1",
260
+ "settings.defaultCapacityPerSlotHint": "Concurrent reservations allowed per time slot.",
261
+ "bookings.settings.defaultCapacityPerSlotHint": "Concurrent reservations allowed per time slot.",
262
+ "settings.defaultBufferBeforeMinutes": "Buffer Before (Minutes)",
263
+ "bookings.settings.defaultBufferBeforeMinutes": "Buffer Before (Minutes)",
264
+ "settings.defaultBufferBeforeMinutes.placeholder": "e.g., 0",
265
+ "bookings.settings.defaultBufferBeforeMinutes.placeholder": "e.g., 0",
266
+ "settings.defaultBufferBeforeMinutesHint": "Preparation gap blocked before each booking starts.",
267
+ "bookings.settings.defaultBufferBeforeMinutesHint": "Preparation gap blocked before each booking starts.",
268
+ "settings.defaultBufferAfterMinutes": "Buffer After (Minutes)",
269
+ "bookings.settings.defaultBufferAfterMinutes": "Buffer After (Minutes)",
270
+ "settings.defaultBufferAfterMinutes.placeholder": "e.g., 0",
271
+ "bookings.settings.defaultBufferAfterMinutes.placeholder": "e.g., 0",
272
+ "settings.defaultBufferAfterMinutesHint": "Cooldown gap blocked after each booking ends.",
273
+ "bookings.settings.defaultBufferAfterMinutesHint": "Cooldown gap blocked after each booking ends.",
274
+ "settings.defaultMinLeadTimeHours": "Minimum Lead Time (Hours)",
275
+ "bookings.settings.defaultMinLeadTimeHours": "Minimum Lead Time (Hours)",
276
+ "settings.defaultMinLeadTimeHours.placeholder": "e.g., 2",
277
+ "bookings.settings.defaultMinLeadTimeHours.placeholder": "e.g., 2",
278
+ "settings.defaultMinLeadTimeHoursHint": "Minimum notice required before a slot can be booked.",
279
+ "bookings.settings.defaultMinLeadTimeHoursHint": "Minimum notice required before a slot can be booked.",
280
+ "settings.defaultMaxAdvanceDays": "Max Advance Horizon (Days)",
281
+ "bookings.settings.defaultMaxAdvanceDays": "Max Advance Horizon (Days)",
282
+ "settings.defaultMaxAdvanceDays.placeholder": "e.g., 90",
283
+ "bookings.settings.defaultMaxAdvanceDays.placeholder": "e.g., 90",
284
+ "settings.defaultMaxAdvanceDaysHint": "How far in advance visitors may schedule bookings.",
285
+ "bookings.settings.defaultMaxAdvanceDaysHint": "How far in advance visitors may schedule bookings.",
286
+ "settings.requiresApproval": "Require Manual Admin Approval",
287
+ "bookings.settings.requiresApproval": "Require Manual Admin Approval",
288
+ "settings.requiresApprovalHintPrefix": "Places new visitor reservations in",
289
+ "bookings.settings.requiresApprovalHintPrefix": "Places new visitor reservations in",
290
+ "settings.requiresApprovalHintSuffix": "status until confirmed by staff.",
291
+ "bookings.settings.requiresApprovalHintSuffix": "status until confirmed by staff.",
292
+ "settings.sendEmailNotifications": "Send Confirmation & Status Update Emails",
293
+ "bookings.settings.sendEmailNotifications": "Send Confirmation & Status Update Emails",
294
+ "settings.sendEmailNotificationsHint": "Automatically notifies visitors when their booking is created, approved, or rescheduled.",
295
+ "bookings.settings.sendEmailNotificationsHint": "Automatically notifies visitors when their booking is created, approved, or rescheduled.",
296
+ "settings.secondaryCalendarsHeading": "Enabled Secondary Calendar Systems",
297
+ "bookings.settings.secondaryCalendarsHeading": "Enabled Secondary Calendar Systems",
298
+ listTitle,
299
+ empty,
300
+ inspect,
301
+ "plugin.name": "Bookings",
302
+ "bookings.plugin.name": "Bookings",
303
+ "views.month": "Month",
304
+ "bookings.views.month": "Month",
305
+ "views.week": "Week",
306
+ "bookings.views.week": "Week",
307
+ "views.day": "Day",
308
+ "bookings.views.day": "Day",
309
+ "views.agenda": "Agenda",
310
+ "bookings.views.agenda": "Agenda",
311
+ "views.list": "Ledger",
312
+ "bookings.views.list": "Ledger",
313
+ "modal.startDate": "Start Date & Time (ISO)",
314
+ "bookings.modal.startDate": "Start Date & Time (ISO)",
315
+ "settings.section": "Bookings & Availability",
316
+ "bookings.settings.section": "Bookings & Availability",
317
+ "settings.link": "Bookings & Availability",
318
+ "bookings.settings.link": "Bookings & Availability",
319
+ "settings.approvalsHeading": "Approval Workflow & Email Notifications",
320
+ "bookings.settings.approvalsHeading": "Approval Workflow & Email Notifications",
321
+ "actions.openUnifiedCalendar": "Open in Calendar",
322
+ "bookings.actions.openUnifiedCalendar": "Open in Calendar",
323
+ "modal.langEs": "Español (ES)",
324
+ "bookings.modal.langEs": "Español (ES)",
325
+ "modal.langEn": "English (EN)",
326
+ "bookings.modal.langEn": "English (EN)",
327
+ "modal.langAr": "العربية — Arabic (AR)",
328
+ "bookings.modal.langAr": "العربية — Arabic (AR)",
329
+ "modal.langTr": "Türkçe — Turkish (TR)",
330
+ "bookings.modal.langTr": "Türkçe — Turkish (TR)",
331
+ "notifications.exportError": "Failed to export CSV",
332
+ "bookings.notifications.exportError": "Failed to export CSV",
333
+ "settings.loadError": "Failed to load bookings settings",
334
+ "bookings.settings.loadError": "Failed to load bookings settings"
335
+ };
336
+ exports.default = en;
337
+ exports.empty = empty;
338
+ exports.inspect = inspect;
339
+ exports.listTitle = listTitle;