@blazeo.com/calendar-client 1.0.1 → 1.0.3

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/dist/index.d.mts DELETED
@@ -1,741 +0,0 @@
1
- import * as mobx_state_tree_dist_internal from 'mobx-state-tree/dist/internal';
2
- import * as mobx_state_tree from 'mobx-state-tree';
3
- import { Instance } from 'mobx-state-tree';
4
-
5
- /**
6
- * Types aligned with the Appointment Backend API.
7
- * Use these for responses and when you need to match the backend exactly.
8
- */
9
- interface ApiResponse<T = unknown> {
10
- status: 'success' | 'failure';
11
- message?: string;
12
- data?: T;
13
- }
14
- /** Backend Event (matches C# Models.Appointment.Event) */
15
- interface Event {
16
- id?: number;
17
- eventId: string;
18
- calendarId: string;
19
- participantId?: string | null;
20
- title?: string;
21
- description?: string;
22
- isRecurring?: boolean;
23
- recurringFrequency?: number;
24
- startDate: string;
25
- endDate: string;
26
- startHour: number;
27
- startMinute: number;
28
- endHour: number;
29
- endMinute: number;
30
- visitorName?: string;
31
- visitorEmail?: string;
32
- visitorPhone?: string;
33
- createdOn?: string;
34
- modifiedOn?: string;
35
- externalEventId?: string;
36
- attendeeStatus?: number;
37
- rescheduleLink?: string;
38
- cancelLink?: string;
39
- timeZone?: string;
40
- offset?: number;
41
- }
42
- /** Backend TimeSlot (matches C# Models.Appointment.TimeSlot) */
43
- interface TimeSlot {
44
- startHour: number;
45
- startMinute: number;
46
- endHour: number;
47
- endMinute: number;
48
- startDate: string;
49
- endDate: string;
50
- participantId?: string;
51
- }
52
- /** Backend Calendar (matches C# Models.Appointment.Calendar) */
53
- interface Calendar {
54
- id?: number;
55
- companyKey?: string;
56
- calendarId: string;
57
- name?: string;
58
- location?: string;
59
- timeZoneId?: string;
60
- purpose?: string;
61
- description?: string;
62
- assignmentMethod?: number;
63
- duration?: number;
64
- durationUnit?: number;
65
- minimumBookingNotice?: number;
66
- minimumBookingNoticeUnit?: number;
67
- minimumCancelationNotice?: number;
68
- minimumCancelationNoticeUnit?: number;
69
- futureLimit?: number;
70
- futureLimitUnit?: number;
71
- bufferTime?: number;
72
- bufferTimeUnit?: number;
73
- bookingLimit?: number;
74
- createdOn?: string;
75
- modifiedOn?: string;
76
- }
77
- /** Backend CalendarParticipant */
78
- interface CalendarParticipant {
79
- id?: number;
80
- calendarParticipantId?: string;
81
- participantId: string;
82
- calendarId: string;
83
- createdOn?: string;
84
- modifiedOn?: string;
85
- }
86
- /** Consumer input for creating an event – flexible keys, mapped to Event */
87
- interface CreateEventInput {
88
- calendarId: string;
89
- participantId?: string | null;
90
- /** Visitor display name */
91
- visitorName?: string;
92
- visitor_name?: string;
93
- /** Required for create */
94
- visitorEmail?: string;
95
- visitor_email?: string;
96
- visitorPhone?: string;
97
- visitor_phone?: string;
98
- /** Start: date (YYYY-MM-DD) or full ISO; time can be in startHour/startMinute or startTime */
99
- startDate?: string;
100
- start_date?: string;
101
- startTime?: string;
102
- startHour?: number;
103
- start_hour?: number;
104
- startMinute?: number;
105
- start_minute?: number;
106
- endDate?: string;
107
- end_date?: string;
108
- endHour?: number;
109
- end_hour?: number;
110
- endMinute?: number;
111
- end_minute?: number;
112
- title?: string;
113
- description?: string;
114
- [key: string]: unknown;
115
- }
116
- /** Params for get event: by event_id OR by externalevent_id */
117
- interface GetEventParams {
118
- eventId?: string;
119
- event_id?: string;
120
- externalEventId?: string;
121
- externalevent_id?: string;
122
- }
123
- /** Params for availability – calendar_id required; participant_id optional */
124
- interface GetAvailabilityParams {
125
- calendarId: string;
126
- calendar_id?: string;
127
- participantId?: string | null;
128
- participant_id?: string | null;
129
- year: number;
130
- month: number;
131
- day: number;
132
- /** Client UTC offset in minutes (e.g. -300 for EST) */
133
- offset: number;
134
- }
135
- /** Params for day selectable – same as availability + optional participant */
136
- interface GetDaySelectableParams {
137
- calendarId: string;
138
- calendar_id?: string;
139
- participantId?: string | null;
140
- participant_id?: string | null;
141
- year: number;
142
- month: number;
143
- day: number;
144
- offset: number;
145
- }
146
- /** Params for earliest available days */
147
- interface GetEarliestAvailableParams {
148
- calendarId: string;
149
- calendar_id?: string;
150
- count: number;
151
- offset: number;
152
- year?: number;
153
- month?: number;
154
- day?: number;
155
- }
156
- /** Params for existing events by visitor email */
157
- interface GetExistingByVisitorEmailParams {
158
- email: string;
159
- companyKey?: string;
160
- company_key?: string;
161
- calendarId?: string;
162
- calendar_id?: string;
163
- offset: number;
164
- }
165
- /** Params for existing events by visitor phone */
166
- interface GetExistingByVisitorPhoneParams {
167
- phone: string;
168
- companyKey?: string;
169
- company_key?: string;
170
- calendarId?: string;
171
- calendar_id?: string;
172
- offset: number;
173
- }
174
- /** API surface required by MST models (AppointmentClient implements this). */
175
- interface IAppointmentClient {
176
- getCalendar(calendarId: string): Promise<ApiResponse<Calendar>>;
177
- createCalendar(payload: Partial<Calendar> & {
178
- calendarId: string;
179
- }): Promise<ApiResponse<Calendar>>;
180
- removeCalendar(calendarId: string): Promise<ApiResponse<unknown>>;
181
- getEvent(params: GetEventParams): Promise<ApiResponse<Event>>;
182
- createEvent(payload: CreateEventInput, offsetMinutes?: number): Promise<ApiResponse<Event>>;
183
- cancelEvent(eventId: string): Promise<ApiResponse<unknown>>;
184
- getCancellable(eventId: string): Promise<ApiResponse<unknown>>;
185
- getAvailability(params: GetAvailabilityParams): Promise<ApiResponse<{
186
- timeSlots: TimeSlot[];
187
- calendar?: Calendar;
188
- }>>;
189
- setEventReminder(eventId: string): Promise<ApiResponse<unknown>>;
190
- }
191
-
192
- /**
193
- * HTTP client for the Appointment Backend API.
194
- * All methods return ApiResponse<T>; check response.status and response.data.
195
- */
196
-
197
- interface AppointmentClientConfig {
198
- baseUrl: string;
199
- /** Optional: getTimezoneOffset in minutes (e.g. from new Date().getTimezoneOffset()) */
200
- getDefaultOffset?: () => number;
201
- /** Optional fetch (for Node or custom) */
202
- fetch?: typeof fetch;
203
- }
204
- declare class AppointmentClient {
205
- private readonly baseUrl;
206
- private readonly getDefaultOffset;
207
- private readonly fetchFn;
208
- constructor(config: AppointmentClientConfig);
209
- private request;
210
- /** GET /event/get – by event_id or externalevent_id */
211
- getEvent(params: GetEventParams): Promise<ApiResponse<Event>>;
212
- /** GET /event/availability/get – slots for a day. Optional participant_id. */
213
- getAvailability(params: GetAvailabilityParams): Promise<ApiResponse<TimeSlot[]>>;
214
- /** GET /event/day/selectable/get – whether the day has any slots. Optional participant_id. */
215
- getDaySelectable(params: GetDaySelectableParams): Promise<ApiResponse<boolean>>;
216
- /** GET /event/days/available/get – list of next N available days (yyyy-MM-dd). */
217
- getEarliestAvailableDays(params: GetEarliestAvailableParams): Promise<ApiResponse<string[]>>;
218
- /** GET /event/existing/getbyvisitoremail – by company_key or calendar_id */
219
- getExistingEventsByVisitorEmail(params: GetExistingByVisitorEmailParams): Promise<ApiResponse<Event[]>>;
220
- /** GET /event/existing/getbyvisitorphone – by company_key or calendar_id */
221
- getExistingEventsByVisitorPhone(params: GetExistingByVisitorPhoneParams): Promise<ApiResponse<Event[]>>;
222
- /** POST /event/create – create event. Accepts flexible input; maps to backend shape. */
223
- createEvent(input: CreateEventInput, offsetMinutes?: number): Promise<ApiResponse<Event>>;
224
- /** GET /event/cancel – cancel by event_id */
225
- cancelEvent(eventId: string): Promise<ApiResponse<unknown>>;
226
- /** GET /event/cancellable – check if event can be cancelled */
227
- getCancellable(eventId: string): Promise<ApiResponse<boolean>>;
228
- /** GET /event/participant/roundrobin/get – get assignable participant for calendar */
229
- getRoundRobinParticipant(calendarId: string): Promise<ApiResponse<CalendarParticipant>>;
230
- /** GET /event/attendeeStatus – set attendee status (route: /event/{eventId}/{attendeeStatus}) */
231
- setAttendeeStatus(eventId: string, attendeeStatus: string): Promise<ApiResponse<unknown>>;
232
- /** GET /event/seteventreminder/{event_id} */
233
- setEventReminder(eventId: string): Promise<ApiResponse<unknown>>;
234
- /** GET Calendar/Get – get calendar by calendar_id */
235
- getCalendar(calendarId: string): Promise<ApiResponse<Calendar>>;
236
- /** GET Calendar/All – calendars by company_key */
237
- getCalendarsByCompany(companyKey: string): Promise<ApiResponse<Calendar[]>>;
238
- /** GET Calendar/TimeZones/Get */
239
- getTimeZones(): Promise<ApiResponse<unknown>>;
240
- /** GET Calendar/TimeZone/Get – display name for timezone_id */
241
- getTimeZone(timezoneId: string): Promise<ApiResponse<string>>;
242
- /** POST Calendar/Create – create or update calendar */
243
- createCalendar(payload: Partial<Calendar>): Promise<ApiResponse<Calendar>>;
244
- /** GET Calendar/Remove */
245
- removeCalendar(calendarId: string): Promise<ApiResponse<unknown>>;
246
- }
247
-
248
- /**
249
- * Maps consumer-friendly input to backend (API) structure.
250
- * Handles snake_case vs camelCase and optional/alternate fields.
251
- */
252
-
253
- /** Map CreateEventInput to backend Event shape (for POST /event/create) */
254
- declare function mapCreateEventInputToEvent(input: CreateEventInput): Omit<Event, 'eventId'> & {
255
- eventId?: string;
256
- };
257
-
258
- declare const CalendarModel: mobx_state_tree.IModelType<{
259
- id: mobx_state_tree.IMaybeNull<mobx_state_tree.ISimpleType<number>>;
260
- companyKey: mobx_state_tree.IMaybeNull<mobx_state_tree.ISimpleType<string>>;
261
- calendarId: mobx_state_tree.ISimpleType<string>;
262
- name: mobx_state_tree.IMaybeNull<mobx_state_tree.ISimpleType<string>>;
263
- location: mobx_state_tree.IMaybeNull<mobx_state_tree.ISimpleType<string>>;
264
- timeZoneId: mobx_state_tree.IMaybeNull<mobx_state_tree.ISimpleType<string>>;
265
- purpose: mobx_state_tree.IOptionalIType<mobx_state_tree.ISimpleType<string>, [undefined]>;
266
- description: mobx_state_tree.IMaybeNull<mobx_state_tree.ISimpleType<string>>;
267
- assignmentMethod: mobx_state_tree.IOptionalIType<mobx_state_tree.ISimpleType<number>, [undefined]>;
268
- duration: mobx_state_tree.IOptionalIType<mobx_state_tree.ISimpleType<number>, [undefined]>;
269
- durationUnit: mobx_state_tree.IOptionalIType<mobx_state_tree.ISimpleType<number>, [undefined]>;
270
- minimumBookingNotice: mobx_state_tree.IOptionalIType<mobx_state_tree.ISimpleType<number>, [undefined]>;
271
- minimumBookingNoticeUnit: mobx_state_tree.IOptionalIType<mobx_state_tree.ISimpleType<number>, [undefined]>;
272
- minimumCancelationNotice: mobx_state_tree.IOptionalIType<mobx_state_tree.ISimpleType<number>, [undefined]>;
273
- minimumCancelationNoticeUnit: mobx_state_tree.IOptionalIType<mobx_state_tree.ISimpleType<number>, [undefined]>;
274
- futureLimit: mobx_state_tree.IOptionalIType<mobx_state_tree.ISimpleType<number>, [undefined]>;
275
- futureLimitUnit: mobx_state_tree.IOptionalIType<mobx_state_tree.ISimpleType<number>, [undefined]>;
276
- bufferTime: mobx_state_tree.IOptionalIType<mobx_state_tree.ISimpleType<number>, [undefined]>;
277
- bufferTimeUnit: mobx_state_tree.IOptionalIType<mobx_state_tree.ISimpleType<number>, [undefined]>;
278
- bookingLimit: mobx_state_tree.IOptionalIType<mobx_state_tree.ISimpleType<number>, [undefined]>;
279
- createdOn: mobx_state_tree.IMaybeNull<mobx_state_tree.ISimpleType<string>>;
280
- modifiedOn: mobx_state_tree.IMaybeNull<mobx_state_tree.ISimpleType<string>>;
281
- }, {
282
- create(): Promise<ApiResponse<Calendar>>;
283
- get(): Promise<ApiResponse<Calendar>>;
284
- remove(): Promise<ApiResponse<unknown>>;
285
- }, mobx_state_tree._NotCustomized, mobx_state_tree._NotCustomized>;
286
-
287
- type ICalendar = Instance<typeof CalendarModel>;
288
-
289
- declare const EventModel: mobx_state_tree.IModelType<{
290
- id: mobx_state_tree.IMaybeNull<mobx_state_tree.ISimpleType<number>>;
291
- eventId: mobx_state_tree.ISimpleType<string>;
292
- calendarId: mobx_state_tree.ISimpleType<string>;
293
- participantId: mobx_state_tree.IMaybeNull<mobx_state_tree.ISimpleType<string>>;
294
- title: mobx_state_tree.IMaybeNull<mobx_state_tree.ISimpleType<string>>;
295
- description: mobx_state_tree.IMaybeNull<mobx_state_tree.ISimpleType<string>>;
296
- isRecurring: mobx_state_tree.IOptionalIType<mobx_state_tree.ISimpleType<boolean>, [undefined]>;
297
- recurringFrequency: mobx_state_tree.IOptionalIType<mobx_state_tree.ISimpleType<number>, [undefined]>;
298
- startDate: mobx_state_tree.ISimpleType<string>;
299
- endDate: mobx_state_tree.ISimpleType<string>;
300
- startHour: mobx_state_tree.IOptionalIType<mobx_state_tree.ISimpleType<number>, [undefined]>;
301
- startMinute: mobx_state_tree.IOptionalIType<mobx_state_tree.ISimpleType<number>, [undefined]>;
302
- endHour: mobx_state_tree.IOptionalIType<mobx_state_tree.ISimpleType<number>, [undefined]>;
303
- endMinute: mobx_state_tree.IOptionalIType<mobx_state_tree.ISimpleType<number>, [undefined]>;
304
- visitorName: mobx_state_tree.IMaybeNull<mobx_state_tree.ISimpleType<string>>;
305
- visitorEmail: mobx_state_tree.IMaybeNull<mobx_state_tree.ISimpleType<string>>;
306
- visitorPhone: mobx_state_tree.IMaybeNull<mobx_state_tree.ISimpleType<string>>;
307
- createdOn: mobx_state_tree.IMaybeNull<mobx_state_tree.ISimpleType<string>>;
308
- modifiedOn: mobx_state_tree.IMaybeNull<mobx_state_tree.ISimpleType<string>>;
309
- externalEventId: mobx_state_tree.IMaybeNull<mobx_state_tree.ISimpleType<string>>;
310
- attendeeStatus: mobx_state_tree.IOptionalIType<mobx_state_tree.ISimpleType<number>, [undefined]>;
311
- rescheduleLink: mobx_state_tree.IMaybeNull<mobx_state_tree.ISimpleType<string>>;
312
- cancelLink: mobx_state_tree.IMaybeNull<mobx_state_tree.ISimpleType<string>>;
313
- timeZone: mobx_state_tree.IMaybeNull<mobx_state_tree.ISimpleType<string>>;
314
- offset: mobx_state_tree.IOptionalIType<mobx_state_tree.ISimpleType<number>, [undefined]>;
315
- }, {
316
- get(params: {
317
- eventId?: string;
318
- externalEventId?: string;
319
- }): Promise<ApiResponse<Event>>;
320
- create(offsetMinutes?: number): Promise<ApiResponse<Event>>;
321
- cancel(): Promise<ApiResponse<unknown>>;
322
- getCancellable(): Promise<ApiResponse<unknown>>;
323
- getAvailability(params: {
324
- year: number;
325
- month: number;
326
- day: number;
327
- offset: number;
328
- participantId?: string;
329
- }): Promise<ApiResponse<{
330
- timeSlots: TimeSlot[];
331
- calendar?: Calendar;
332
- }>>;
333
- setReminder(): Promise<ApiResponse<unknown>>;
334
- }, mobx_state_tree._NotCustomized, mobx_state_tree._NotCustomized>;
335
-
336
- type IEvent = Instance<typeof EventModel>;
337
-
338
- declare const AvailabilityModel: mobx_state_tree.IModelType<{
339
- id: mobx_state_tree.IMaybeNull<mobx_state_tree.ISimpleType<number>>;
340
- availabilityId: mobx_state_tree.ISimpleType<string>;
341
- calendarId: mobx_state_tree.ISimpleType<string>;
342
- participantId: mobx_state_tree.ISimpleType<string>;
343
- createdOn: mobx_state_tree.IMaybeNull<mobx_state_tree.ISimpleType<string>>;
344
- modifiedOn: mobx_state_tree.IMaybeNull<mobx_state_tree.ISimpleType<string>>;
345
- }, {}, mobx_state_tree._NotCustomized, mobx_state_tree._NotCustomized>;
346
-
347
- type IAvailability = Instance<typeof AvailabilityModel>;
348
-
349
- declare const AvailabilityDetailModel: mobx_state_tree.IModelType<{
350
- id: mobx_state_tree.IMaybeNull<mobx_state_tree.ISimpleType<number>>;
351
- availabilityId: mobx_state_tree.ISimpleType<string>;
352
- sunday: mobx_state_tree.IOptionalIType<mobx_state_tree.ISimpleType<boolean>, [undefined]>;
353
- monday: mobx_state_tree.IOptionalIType<mobx_state_tree.ISimpleType<boolean>, [undefined]>;
354
- tuesday: mobx_state_tree.IOptionalIType<mobx_state_tree.ISimpleType<boolean>, [undefined]>;
355
- wednesday: mobx_state_tree.IOptionalIType<mobx_state_tree.ISimpleType<boolean>, [undefined]>;
356
- thursday: mobx_state_tree.IOptionalIType<mobx_state_tree.ISimpleType<boolean>, [undefined]>;
357
- friday: mobx_state_tree.IOptionalIType<mobx_state_tree.ISimpleType<boolean>, [undefined]>;
358
- saturday: mobx_state_tree.IOptionalIType<mobx_state_tree.ISimpleType<boolean>, [undefined]>;
359
- startHour: mobx_state_tree.IOptionalIType<mobx_state_tree.ISimpleType<number>, [undefined]>;
360
- startMinute: mobx_state_tree.IOptionalIType<mobx_state_tree.ISimpleType<number>, [undefined]>;
361
- endHour: mobx_state_tree.IOptionalIType<mobx_state_tree.ISimpleType<number>, [undefined]>;
362
- endMinute: mobx_state_tree.IOptionalIType<mobx_state_tree.ISimpleType<number>, [undefined]>;
363
- createdOn: mobx_state_tree.IMaybeNull<mobx_state_tree.ISimpleType<string>>;
364
- modifiedOn: mobx_state_tree.IMaybeNull<mobx_state_tree.ISimpleType<string>>;
365
- }, {}, mobx_state_tree._NotCustomized, mobx_state_tree._NotCustomized>;
366
-
367
- type IAvailabilityDetail = Instance<typeof AvailabilityDetailModel>;
368
-
369
- declare const CalendarParticipantModel: mobx_state_tree.IModelType<{
370
- id: mobx_state_tree.IMaybeNull<mobx_state_tree.ISimpleType<number>>;
371
- calendarParticipantId: mobx_state_tree.IOptionalIType<mobx_state_tree.ISimpleType<string>, [undefined]>;
372
- participantId: mobx_state_tree.ISimpleType<string>;
373
- calendarId: mobx_state_tree.ISimpleType<string>;
374
- createdOn: mobx_state_tree.IMaybeNull<mobx_state_tree.ISimpleType<string>>;
375
- modifiedOn: mobx_state_tree.IMaybeNull<mobx_state_tree.ISimpleType<string>>;
376
- }, {}, mobx_state_tree._NotCustomized, mobx_state_tree._NotCustomized>;
377
-
378
- type ICalendarParticipant = Instance<typeof CalendarParticipantModel>;
379
-
380
- declare const ParticipantModel: mobx_state_tree.IModelType<{
381
- id: mobx_state_tree.IMaybeNull<mobx_state_tree.ISimpleType<number>>;
382
- participantId: mobx_state_tree.ISimpleType<string>;
383
- companyKey: mobx_state_tree.IMaybeNull<mobx_state_tree.ISimpleType<string>>;
384
- alias: mobx_state_tree.IOptionalIType<mobx_state_tree.ISimpleType<string>, [undefined]>;
385
- email: mobx_state_tree.IOptionalIType<mobx_state_tree.ISimpleType<string>, [undefined]>;
386
- isApproved: mobx_state_tree.IOptionalIType<mobx_state_tree.ISimpleType<boolean>, [undefined]>;
387
- isAvailable: mobx_state_tree.IOptionalIType<mobx_state_tree.ISimpleType<boolean>, [undefined]>;
388
- provider: mobx_state_tree.IOptionalIType<mobx_state_tree.ISimpleType<number>, [undefined]>;
389
- createdOn: mobx_state_tree.IMaybeNull<mobx_state_tree.ISimpleType<string>>;
390
- modifiedOn: mobx_state_tree.IMaybeNull<mobx_state_tree.ISimpleType<string>>;
391
- isDeleted: mobx_state_tree.IOptionalIType<mobx_state_tree.ISimpleType<boolean>, [undefined]>;
392
- }, {}, mobx_state_tree._NotCustomized, mobx_state_tree._NotCustomized>;
393
-
394
- type IParticipant = Instance<typeof ParticipantModel>;
395
-
396
- declare const OpeningHourModel: mobx_state_tree.IModelType<{
397
- id: mobx_state_tree.IMaybeNull<mobx_state_tree.ISimpleType<number>>;
398
- openingHourId: mobx_state_tree.IOptionalIType<mobx_state_tree.ISimpleType<string>, [undefined]>;
399
- calendarId: mobx_state_tree.ISimpleType<string>;
400
- participantId: mobx_state_tree.ISimpleType<string>;
401
- day: mobx_state_tree.IOptionalIType<mobx_state_tree.ISimpleType<number>, [undefined]>;
402
- startHour: mobx_state_tree.IOptionalIType<mobx_state_tree.ISimpleType<number>, [undefined]>;
403
- startMinute: mobx_state_tree.IOptionalIType<mobx_state_tree.ISimpleType<number>, [undefined]>;
404
- endHour: mobx_state_tree.IOptionalIType<mobx_state_tree.ISimpleType<number>, [undefined]>;
405
- endMinute: mobx_state_tree.IOptionalIType<mobx_state_tree.ISimpleType<number>, [undefined]>;
406
- off: mobx_state_tree.IOptionalIType<mobx_state_tree.ISimpleType<boolean>, [undefined]>;
407
- createdOn: mobx_state_tree.IMaybeNull<mobx_state_tree.ISimpleType<string>>;
408
- modifiedOn: mobx_state_tree.IMaybeNull<mobx_state_tree.ISimpleType<string>>;
409
- }, {}, mobx_state_tree._NotCustomized, mobx_state_tree._NotCustomized>;
410
-
411
- type IOpeningHour = Instance<typeof OpeningHourModel>;
412
-
413
- declare const TimeSlotModel: mobx_state_tree.IModelType<{
414
- startHour: mobx_state_tree.IOptionalIType<mobx_state_tree.ISimpleType<number>, [undefined]>;
415
- startMinute: mobx_state_tree.IOptionalIType<mobx_state_tree.ISimpleType<number>, [undefined]>;
416
- endHour: mobx_state_tree.IOptionalIType<mobx_state_tree.ISimpleType<number>, [undefined]>;
417
- endMinute: mobx_state_tree.IOptionalIType<mobx_state_tree.ISimpleType<number>, [undefined]>;
418
- startDate: mobx_state_tree.ISimpleType<string>;
419
- endDate: mobx_state_tree.ISimpleType<string>;
420
- participantId: mobx_state_tree.IMaybeNull<mobx_state_tree.ISimpleType<string>>;
421
- }, {
422
- setWithOffset(offsetMinutes: number): void;
423
- }, mobx_state_tree._NotCustomized, mobx_state_tree._NotCustomized>;
424
-
425
- type ITimeSlot = Instance<typeof TimeSlotModel>;
426
-
427
- declare const TimeFrameModel: mobx_state_tree.IModelType<{
428
- start: mobx_state_tree.ISimpleType<string>;
429
- end: mobx_state_tree.ISimpleType<string>;
430
- }, {
431
- buffer(bufferMinutes: number, unit: number): void;
432
- conflicts(start: Date, end: Date): boolean;
433
- breakIntoSlots(slotDurationMinutes: number): Array<{
434
- startHour: number;
435
- startMinute: number;
436
- endHour: number;
437
- endMinute: number;
438
- startDate: string;
439
- endDate: string;
440
- }>;
441
- }, mobx_state_tree._NotCustomized, mobx_state_tree._NotCustomized>;
442
-
443
- type ITimeFrame = Instance<typeof TimeFrameModel>;
444
-
445
- declare const SettingModel: mobx_state_tree.IModelType<{
446
- id: mobx_state_tree.IMaybeNull<mobx_state_tree.ISimpleType<number>>;
447
- settingsId: mobx_state_tree.IOptionalIType<mobx_state_tree.ISimpleType<string>, [undefined]>;
448
- calendarId: mobx_state_tree.ISimpleType<string>;
449
- logo: mobx_state_tree.IMaybeNull<mobx_state_tree.ISimpleType<string>>;
450
- theme: mobx_state_tree.IMaybeNull<mobx_state_tree.ISimpleType<string>>;
451
- schedulingButtonText: mobx_state_tree.IMaybeNull<mobx_state_tree.ISimpleType<string>>;
452
- scheduledMessage: mobx_state_tree.IMaybeNull<mobx_state_tree.ISimpleType<string>>;
453
- }, {}, mobx_state_tree._NotCustomized, mobx_state_tree._NotCustomized>;
454
-
455
- type ISetting = Instance<typeof SettingModel>;
456
-
457
- /**
458
- * Enums aligned with backend Models.Appointment.
459
- */
460
- declare const Unit: {
461
- readonly Minutes: 1;
462
- readonly Hours: 2;
463
- readonly Days: 3;
464
- readonly Months: 4;
465
- readonly Year: 5;
466
- readonly Week: 6;
467
- };
468
- type Unit = (typeof Unit)[keyof typeof Unit];
469
- declare const AssignmentMethod: {
470
- readonly RoundRobin: 1;
471
- readonly MaximizeAvailability: 2;
472
- };
473
- type AssignmentMethod = (typeof AssignmentMethod)[keyof typeof AssignmentMethod];
474
- declare const AttendeeStatus: {
475
- readonly None: 0;
476
- readonly Accepted: 1;
477
- readonly Declined: 2;
478
- readonly Tentative: 3;
479
- readonly NeedsAction: 4;
480
- readonly Canceled: 5;
481
- };
482
- type AttendeeStatus = (typeof AttendeeStatus)[keyof typeof AttendeeStatus];
483
- declare const RecurringFrequency: {
484
- readonly None: 0;
485
- readonly Daily: 1;
486
- readonly Weekly: 2;
487
- readonly Monthly: 3;
488
- readonly Yearly: 4;
489
- };
490
- type RecurringFrequency = (typeof RecurringFrequency)[keyof typeof RecurringFrequency];
491
- declare const DayOfWeek: {
492
- readonly Sunday: 0;
493
- readonly Monday: 1;
494
- readonly Tuesday: 2;
495
- readonly Wednesday: 3;
496
- readonly Thursday: 4;
497
- readonly Friday: 5;
498
- readonly Saturday: 6;
499
- };
500
- type DayOfWeek = (typeof DayOfWeek)[keyof typeof DayOfWeek];
501
-
502
- interface AppointmentEnv {
503
- api: IAppointmentClient;
504
- }
505
- /** Root store: calendars and events. Create with env: { api: yourAppointmentClient }. */
506
- declare const RootStore: mobx_state_tree.IModelType<{
507
- calendars: mobx_state_tree.IOptionalIType<mobx_state_tree.IMapType<mobx_state_tree.IModelType<{
508
- id: mobx_state_tree.IMaybeNull<mobx_state_tree.ISimpleType<number>>;
509
- companyKey: mobx_state_tree.IMaybeNull<mobx_state_tree.ISimpleType<string>>;
510
- calendarId: mobx_state_tree.ISimpleType<string>;
511
- name: mobx_state_tree.IMaybeNull<mobx_state_tree.ISimpleType<string>>;
512
- location: mobx_state_tree.IMaybeNull<mobx_state_tree.ISimpleType<string>>;
513
- timeZoneId: mobx_state_tree.IMaybeNull<mobx_state_tree.ISimpleType<string>>;
514
- purpose: mobx_state_tree.IOptionalIType<mobx_state_tree.ISimpleType<string>, [undefined]>;
515
- description: mobx_state_tree.IMaybeNull<mobx_state_tree.ISimpleType<string>>;
516
- assignmentMethod: mobx_state_tree.IOptionalIType<mobx_state_tree.ISimpleType<number>, [undefined]>;
517
- duration: mobx_state_tree.IOptionalIType<mobx_state_tree.ISimpleType<number>, [undefined]>;
518
- durationUnit: mobx_state_tree.IOptionalIType<mobx_state_tree.ISimpleType<number>, [undefined]>;
519
- minimumBookingNotice: mobx_state_tree.IOptionalIType<mobx_state_tree.ISimpleType<number>, [undefined]>;
520
- minimumBookingNoticeUnit: mobx_state_tree.IOptionalIType<mobx_state_tree.ISimpleType<number>, [undefined]>;
521
- minimumCancelationNotice: mobx_state_tree.IOptionalIType<mobx_state_tree.ISimpleType<number>, [undefined]>;
522
- minimumCancelationNoticeUnit: mobx_state_tree.IOptionalIType<mobx_state_tree.ISimpleType<number>, [undefined]>;
523
- futureLimit: mobx_state_tree.IOptionalIType<mobx_state_tree.ISimpleType<number>, [undefined]>;
524
- futureLimitUnit: mobx_state_tree.IOptionalIType<mobx_state_tree.ISimpleType<number>, [undefined]>;
525
- bufferTime: mobx_state_tree.IOptionalIType<mobx_state_tree.ISimpleType<number>, [undefined]>;
526
- bufferTimeUnit: mobx_state_tree.IOptionalIType<mobx_state_tree.ISimpleType<number>, [undefined]>;
527
- bookingLimit: mobx_state_tree.IOptionalIType<mobx_state_tree.ISimpleType<number>, [undefined]>;
528
- createdOn: mobx_state_tree.IMaybeNull<mobx_state_tree.ISimpleType<string>>;
529
- modifiedOn: mobx_state_tree.IMaybeNull<mobx_state_tree.ISimpleType<string>>;
530
- }, {
531
- create(): Promise<ApiResponse<Calendar>>;
532
- get(): Promise<ApiResponse<Calendar>>;
533
- remove(): Promise<ApiResponse<unknown>>;
534
- }, mobx_state_tree._NotCustomized, mobx_state_tree._NotCustomized>>, [undefined]>;
535
- events: mobx_state_tree.IOptionalIType<mobx_state_tree.IMapType<mobx_state_tree.IModelType<{
536
- id: mobx_state_tree.IMaybeNull<mobx_state_tree.ISimpleType<number>>;
537
- eventId: mobx_state_tree.ISimpleType<string>;
538
- calendarId: mobx_state_tree.ISimpleType<string>;
539
- participantId: mobx_state_tree.IMaybeNull<mobx_state_tree.ISimpleType<string>>;
540
- title: mobx_state_tree.IMaybeNull<mobx_state_tree.ISimpleType<string>>;
541
- description: mobx_state_tree.IMaybeNull<mobx_state_tree.ISimpleType<string>>;
542
- isRecurring: mobx_state_tree.IOptionalIType<mobx_state_tree.ISimpleType<boolean>, [undefined]>;
543
- recurringFrequency: mobx_state_tree.IOptionalIType<mobx_state_tree.ISimpleType<number>, [undefined]>;
544
- startDate: mobx_state_tree.ISimpleType<string>;
545
- endDate: mobx_state_tree.ISimpleType<string>;
546
- startHour: mobx_state_tree.IOptionalIType<mobx_state_tree.ISimpleType<number>, [undefined]>;
547
- startMinute: mobx_state_tree.IOptionalIType<mobx_state_tree.ISimpleType<number>, [undefined]>;
548
- endHour: mobx_state_tree.IOptionalIType<mobx_state_tree.ISimpleType<number>, [undefined]>;
549
- endMinute: mobx_state_tree.IOptionalIType<mobx_state_tree.ISimpleType<number>, [undefined]>;
550
- visitorName: mobx_state_tree.IMaybeNull<mobx_state_tree.ISimpleType<string>>;
551
- visitorEmail: mobx_state_tree.IMaybeNull<mobx_state_tree.ISimpleType<string>>;
552
- visitorPhone: mobx_state_tree.IMaybeNull<mobx_state_tree.ISimpleType<string>>;
553
- createdOn: mobx_state_tree.IMaybeNull<mobx_state_tree.ISimpleType<string>>;
554
- modifiedOn: mobx_state_tree.IMaybeNull<mobx_state_tree.ISimpleType<string>>;
555
- externalEventId: mobx_state_tree.IMaybeNull<mobx_state_tree.ISimpleType<string>>;
556
- attendeeStatus: mobx_state_tree.IOptionalIType<mobx_state_tree.ISimpleType<number>, [undefined]>;
557
- rescheduleLink: mobx_state_tree.IMaybeNull<mobx_state_tree.ISimpleType<string>>;
558
- cancelLink: mobx_state_tree.IMaybeNull<mobx_state_tree.ISimpleType<string>>;
559
- timeZone: mobx_state_tree.IMaybeNull<mobx_state_tree.ISimpleType<string>>;
560
- offset: mobx_state_tree.IOptionalIType<mobx_state_tree.ISimpleType<number>, [undefined]>;
561
- }, {
562
- get(params: {
563
- eventId?: string;
564
- externalEventId?: string;
565
- }): Promise<ApiResponse<Event>>;
566
- create(offsetMinutes?: number): Promise<ApiResponse<Event>>;
567
- cancel(): Promise<ApiResponse<unknown>>;
568
- getCancellable(): Promise<ApiResponse<unknown>>;
569
- getAvailability(params: {
570
- year: number;
571
- month: number;
572
- day: number;
573
- offset: number;
574
- participantId?: string;
575
- }): Promise<ApiResponse<{
576
- timeSlots: TimeSlot[];
577
- calendar?: Calendar;
578
- }>>;
579
- setReminder(): Promise<ApiResponse<unknown>>;
580
- }, mobx_state_tree._NotCustomized, mobx_state_tree._NotCustomized>>, [undefined]>;
581
- }, {
582
- getApi(): IAppointmentClient;
583
- addCalendar(snapshot: {
584
- calendarId: string;
585
- [k: string]: unknown;
586
- }): {
587
- id: number | null;
588
- companyKey: string | null;
589
- calendarId: string;
590
- name: string | null;
591
- location: string | null;
592
- timeZoneId: string | null;
593
- purpose: string;
594
- description: string | null;
595
- assignmentMethod: number;
596
- duration: number;
597
- durationUnit: number;
598
- minimumBookingNotice: number;
599
- minimumBookingNoticeUnit: number;
600
- minimumCancelationNotice: number;
601
- minimumCancelationNoticeUnit: number;
602
- futureLimit: number;
603
- futureLimitUnit: number;
604
- bufferTime: number;
605
- bufferTimeUnit: number;
606
- bookingLimit: number;
607
- createdOn: string | null;
608
- modifiedOn: string | null;
609
- } & mobx_state_tree_dist_internal.NonEmptyObject & {
610
- create(): Promise<ApiResponse<Calendar>>;
611
- get(): Promise<ApiResponse<Calendar>>;
612
- remove(): Promise<ApiResponse<unknown>>;
613
- } & mobx_state_tree.IStateTreeNode<mobx_state_tree.IModelType<{
614
- id: mobx_state_tree.IMaybeNull<mobx_state_tree.ISimpleType<number>>;
615
- companyKey: mobx_state_tree.IMaybeNull<mobx_state_tree.ISimpleType<string>>;
616
- calendarId: mobx_state_tree.ISimpleType<string>;
617
- name: mobx_state_tree.IMaybeNull<mobx_state_tree.ISimpleType<string>>;
618
- location: mobx_state_tree.IMaybeNull<mobx_state_tree.ISimpleType<string>>;
619
- timeZoneId: mobx_state_tree.IMaybeNull<mobx_state_tree.ISimpleType<string>>;
620
- purpose: mobx_state_tree.IOptionalIType<mobx_state_tree.ISimpleType<string>, [undefined]>;
621
- description: mobx_state_tree.IMaybeNull<mobx_state_tree.ISimpleType<string>>;
622
- assignmentMethod: mobx_state_tree.IOptionalIType<mobx_state_tree.ISimpleType<number>, [undefined]>;
623
- duration: mobx_state_tree.IOptionalIType<mobx_state_tree.ISimpleType<number>, [undefined]>;
624
- durationUnit: mobx_state_tree.IOptionalIType<mobx_state_tree.ISimpleType<number>, [undefined]>;
625
- minimumBookingNotice: mobx_state_tree.IOptionalIType<mobx_state_tree.ISimpleType<number>, [undefined]>;
626
- minimumBookingNoticeUnit: mobx_state_tree.IOptionalIType<mobx_state_tree.ISimpleType<number>, [undefined]>;
627
- minimumCancelationNotice: mobx_state_tree.IOptionalIType<mobx_state_tree.ISimpleType<number>, [undefined]>;
628
- minimumCancelationNoticeUnit: mobx_state_tree.IOptionalIType<mobx_state_tree.ISimpleType<number>, [undefined]>;
629
- futureLimit: mobx_state_tree.IOptionalIType<mobx_state_tree.ISimpleType<number>, [undefined]>;
630
- futureLimitUnit: mobx_state_tree.IOptionalIType<mobx_state_tree.ISimpleType<number>, [undefined]>;
631
- bufferTime: mobx_state_tree.IOptionalIType<mobx_state_tree.ISimpleType<number>, [undefined]>;
632
- bufferTimeUnit: mobx_state_tree.IOptionalIType<mobx_state_tree.ISimpleType<number>, [undefined]>;
633
- bookingLimit: mobx_state_tree.IOptionalIType<mobx_state_tree.ISimpleType<number>, [undefined]>;
634
- createdOn: mobx_state_tree.IMaybeNull<mobx_state_tree.ISimpleType<string>>;
635
- modifiedOn: mobx_state_tree.IMaybeNull<mobx_state_tree.ISimpleType<string>>;
636
- }, {
637
- create(): Promise<ApiResponse<Calendar>>;
638
- get(): Promise<ApiResponse<Calendar>>;
639
- remove(): Promise<ApiResponse<unknown>>;
640
- }, mobx_state_tree._NotCustomized, mobx_state_tree._NotCustomized>>;
641
- addEvent(snapshot: {
642
- eventId: string;
643
- calendarId: string;
644
- startDate: string;
645
- endDate: string;
646
- [k: string]: unknown;
647
- }): {
648
- id: number | null;
649
- eventId: string;
650
- calendarId: string;
651
- participantId: string | null;
652
- title: string | null;
653
- description: string | null;
654
- isRecurring: boolean;
655
- recurringFrequency: number;
656
- startDate: string;
657
- endDate: string;
658
- startHour: number;
659
- startMinute: number;
660
- endHour: number;
661
- endMinute: number;
662
- visitorName: string | null;
663
- visitorEmail: string | null;
664
- visitorPhone: string | null;
665
- createdOn: string | null;
666
- modifiedOn: string | null;
667
- externalEventId: string | null;
668
- attendeeStatus: number;
669
- rescheduleLink: string | null;
670
- cancelLink: string | null;
671
- timeZone: string | null;
672
- offset: number;
673
- } & mobx_state_tree_dist_internal.NonEmptyObject & {
674
- get(params: {
675
- eventId?: string;
676
- externalEventId?: string;
677
- }): Promise<ApiResponse<Event>>;
678
- create(offsetMinutes?: number): Promise<ApiResponse<Event>>;
679
- cancel(): Promise<ApiResponse<unknown>>;
680
- getCancellable(): Promise<ApiResponse<unknown>>;
681
- getAvailability(params: {
682
- year: number;
683
- month: number;
684
- day: number;
685
- offset: number;
686
- participantId?: string;
687
- }): Promise<ApiResponse<{
688
- timeSlots: TimeSlot[];
689
- calendar?: Calendar;
690
- }>>;
691
- setReminder(): Promise<ApiResponse<unknown>>;
692
- } & mobx_state_tree.IStateTreeNode<mobx_state_tree.IModelType<{
693
- id: mobx_state_tree.IMaybeNull<mobx_state_tree.ISimpleType<number>>;
694
- eventId: mobx_state_tree.ISimpleType<string>;
695
- calendarId: mobx_state_tree.ISimpleType<string>;
696
- participantId: mobx_state_tree.IMaybeNull<mobx_state_tree.ISimpleType<string>>;
697
- title: mobx_state_tree.IMaybeNull<mobx_state_tree.ISimpleType<string>>;
698
- description: mobx_state_tree.IMaybeNull<mobx_state_tree.ISimpleType<string>>;
699
- isRecurring: mobx_state_tree.IOptionalIType<mobx_state_tree.ISimpleType<boolean>, [undefined]>;
700
- recurringFrequency: mobx_state_tree.IOptionalIType<mobx_state_tree.ISimpleType<number>, [undefined]>;
701
- startDate: mobx_state_tree.ISimpleType<string>;
702
- endDate: mobx_state_tree.ISimpleType<string>;
703
- startHour: mobx_state_tree.IOptionalIType<mobx_state_tree.ISimpleType<number>, [undefined]>;
704
- startMinute: mobx_state_tree.IOptionalIType<mobx_state_tree.ISimpleType<number>, [undefined]>;
705
- endHour: mobx_state_tree.IOptionalIType<mobx_state_tree.ISimpleType<number>, [undefined]>;
706
- endMinute: mobx_state_tree.IOptionalIType<mobx_state_tree.ISimpleType<number>, [undefined]>;
707
- visitorName: mobx_state_tree.IMaybeNull<mobx_state_tree.ISimpleType<string>>;
708
- visitorEmail: mobx_state_tree.IMaybeNull<mobx_state_tree.ISimpleType<string>>;
709
- visitorPhone: mobx_state_tree.IMaybeNull<mobx_state_tree.ISimpleType<string>>;
710
- createdOn: mobx_state_tree.IMaybeNull<mobx_state_tree.ISimpleType<string>>;
711
- modifiedOn: mobx_state_tree.IMaybeNull<mobx_state_tree.ISimpleType<string>>;
712
- externalEventId: mobx_state_tree.IMaybeNull<mobx_state_tree.ISimpleType<string>>;
713
- attendeeStatus: mobx_state_tree.IOptionalIType<mobx_state_tree.ISimpleType<number>, [undefined]>;
714
- rescheduleLink: mobx_state_tree.IMaybeNull<mobx_state_tree.ISimpleType<string>>;
715
- cancelLink: mobx_state_tree.IMaybeNull<mobx_state_tree.ISimpleType<string>>;
716
- timeZone: mobx_state_tree.IMaybeNull<mobx_state_tree.ISimpleType<string>>;
717
- offset: mobx_state_tree.IOptionalIType<mobx_state_tree.ISimpleType<number>, [undefined]>;
718
- }, {
719
- get(params: {
720
- eventId?: string;
721
- externalEventId?: string;
722
- }): Promise<ApiResponse<Event>>;
723
- create(offsetMinutes?: number): Promise<ApiResponse<Event>>;
724
- cancel(): Promise<ApiResponse<unknown>>;
725
- getCancellable(): Promise<ApiResponse<unknown>>;
726
- getAvailability(params: {
727
- year: number;
728
- month: number;
729
- day: number;
730
- offset: number;
731
- participantId?: string;
732
- }): Promise<ApiResponse<{
733
- timeSlots: TimeSlot[];
734
- calendar?: Calendar;
735
- }>>;
736
- setReminder(): Promise<ApiResponse<unknown>>;
737
- }, mobx_state_tree._NotCustomized, mobx_state_tree._NotCustomized>>;
738
- }, mobx_state_tree._NotCustomized, mobx_state_tree._NotCustomized>;
739
- type IRootStore = Instance<typeof RootStore>;
740
-
741
- export { type ApiResponse, AppointmentClient, type AppointmentClientConfig, type AppointmentEnv, AssignmentMethod, AttendeeStatus, AvailabilityDetailModel, AvailabilityModel, type Calendar, CalendarModel, type CalendarParticipant, CalendarParticipantModel, type CreateEventInput, DayOfWeek, type Event, EventModel, type GetAvailabilityParams, type GetDaySelectableParams, type GetEarliestAvailableParams, type GetEventParams, type GetExistingByVisitorEmailParams, type GetExistingByVisitorPhoneParams, type IAppointmentClient, type IAvailability, type IAvailabilityDetail, type ICalendar, type ICalendarParticipant, type IEvent, type IOpeningHour, type IParticipant, type IRootStore, type ISetting, type ITimeFrame, type ITimeSlot, OpeningHourModel, ParticipantModel, RecurringFrequency, RootStore, SettingModel, TimeFrameModel, type TimeSlot, TimeSlotModel, Unit, mapCreateEventInputToEvent };