1#![allow(
6 missing_docs,
7 clippy::doc_lazy_continuation,
8 clippy::doc_overindented_list_items
9)]
10
11use serde::{Deserialize, Serialize};
12
13#[derive(Debug, Clone, Default, Serialize, Deserialize)]
15pub struct AllGroupsSuccessfulResponseDTO {
16 #[serde(default, skip_serializing_if = "Vec::is_empty")]
17 pub groups: Vec<GroupDTO>,
18}
19
20#[derive(Debug, Clone, Default, Serialize, Deserialize)]
22pub struct AppointmentCreateSchema {
23 #[serde(default, skip_serializing_if = "Option::is_none")]
25 pub title: Option<String>,
26 #[serde(
30 rename = "meetingLocationType",
31 default,
32 skip_serializing_if = "Option::is_none"
33 )]
34 pub meeting_location_type: Option<String>,
35 #[serde(
38 rename = "meetingLocationId",
39 default,
40 skip_serializing_if = "Option::is_none"
41 )]
42 pub meeting_location_id: Option<String>,
43 #[serde(
46 rename = "overrideLocationConfig",
47 default,
48 skip_serializing_if = "Option::is_none"
49 )]
50 pub override_location_config: Option<bool>,
51 #[serde(
53 rename = "appointmentStatus",
54 default,
55 skip_serializing_if = "Option::is_none"
56 )]
57 pub appointment_status: Option<String>,
58 #[serde(
60 rename = "assignedUserId",
61 default,
62 skip_serializing_if = "Option::is_none"
63 )]
64 pub assigned_user_id: Option<String>,
65 #[serde(default, skip_serializing_if = "Option::is_none")]
67 pub description: Option<String>,
68 #[serde(default, skip_serializing_if = "Option::is_none")]
70 pub address: Option<String>,
71 #[serde(
73 rename = "ignoreDateRange",
74 default,
75 skip_serializing_if = "Option::is_none"
76 )]
77 pub ignore_date_range: Option<bool>,
78 #[serde(rename = "toNotify", default, skip_serializing_if = "Option::is_none")]
80 pub to_notify: Option<bool>,
81 #[serde(
84 rename = "ignoreFreeSlotValidation",
85 default,
86 skip_serializing_if = "Option::is_none"
87 )]
88 pub ignore_free_slot_validation: Option<bool>,
89 #[serde(default, skip_serializing_if = "Option::is_none")]
93 pub rrule: Option<String>,
94 #[serde(rename = "calendarId")]
97 pub calendar_id: String,
98 #[serde(rename = "locationId")]
101 pub location_id: String,
102 #[serde(rename = "contactId")]
105 pub contact_id: String,
106 #[serde(rename = "startTime")]
109 pub start_time: String,
110 #[serde(rename = "endTime", default, skip_serializing_if = "Option::is_none")]
112 pub end_time: Option<String>,
113}
114
115#[derive(Debug, Clone, Default, Serialize, Deserialize)]
117pub struct AppointmentEditSchema {
118 #[serde(default, skip_serializing_if = "Option::is_none")]
120 pub title: Option<String>,
121 #[serde(
125 rename = "meetingLocationType",
126 default,
127 skip_serializing_if = "Option::is_none"
128 )]
129 pub meeting_location_type: Option<String>,
130 #[serde(
133 rename = "meetingLocationId",
134 default,
135 skip_serializing_if = "Option::is_none"
136 )]
137 pub meeting_location_id: Option<String>,
138 #[serde(
141 rename = "overrideLocationConfig",
142 default,
143 skip_serializing_if = "Option::is_none"
144 )]
145 pub override_location_config: Option<bool>,
146 #[serde(
148 rename = "appointmentStatus",
149 default,
150 skip_serializing_if = "Option::is_none"
151 )]
152 pub appointment_status: Option<String>,
153 #[serde(
155 rename = "assignedUserId",
156 default,
157 skip_serializing_if = "Option::is_none"
158 )]
159 pub assigned_user_id: Option<String>,
160 #[serde(default, skip_serializing_if = "Option::is_none")]
162 pub description: Option<String>,
163 #[serde(default, skip_serializing_if = "Option::is_none")]
165 pub address: Option<String>,
166 #[serde(
168 rename = "ignoreDateRange",
169 default,
170 skip_serializing_if = "Option::is_none"
171 )]
172 pub ignore_date_range: Option<bool>,
173 #[serde(rename = "toNotify", default, skip_serializing_if = "Option::is_none")]
175 pub to_notify: Option<bool>,
176 #[serde(
179 rename = "ignoreFreeSlotValidation",
180 default,
181 skip_serializing_if = "Option::is_none"
182 )]
183 pub ignore_free_slot_validation: Option<bool>,
184 #[serde(default, skip_serializing_if = "Option::is_none")]
188 pub rrule: Option<String>,
189 #[serde(
191 rename = "calendarId",
192 default,
193 skip_serializing_if = "Option::is_none"
194 )]
195 pub calendar_id: Option<String>,
196 #[serde(rename = "startTime", default, skip_serializing_if = "Option::is_none")]
198 pub start_time: Option<String>,
199 #[serde(rename = "endTime", default, skip_serializing_if = "Option::is_none")]
201 pub end_time: Option<String>,
202}
203
204#[derive(Debug, Clone, Default, Serialize, Deserialize)]
206pub struct AppointmentSchemaResponse {
207 #[serde(rename = "calendarId")]
210 pub calendar_id: String,
211 #[serde(rename = "locationId")]
214 pub location_id: String,
215 #[serde(rename = "contactId")]
218 pub contact_id: String,
219 #[serde(rename = "startTime", default, skip_serializing_if = "Option::is_none")]
221 pub start_time: Option<String>,
222 #[serde(rename = "endTime", default, skip_serializing_if = "Option::is_none")]
224 pub end_time: Option<String>,
225 #[serde(default, skip_serializing_if = "Option::is_none")]
227 pub title: Option<String>,
228 #[serde(
230 rename = "meetingLocationType",
231 default,
232 skip_serializing_if = "Option::is_none"
233 )]
234 pub meeting_location_type: Option<String>,
235 #[serde(
238 rename = "appointmentStatus",
239 default,
240 skip_serializing_if = "Option::is_none"
241 )]
242 pub appointment_status: Option<String>,
243 #[serde(
245 rename = "assignedUserId",
246 default,
247 skip_serializing_if = "Option::is_none"
248 )]
249 pub assigned_user_id: Option<String>,
250 #[serde(default, skip_serializing_if = "Option::is_none")]
252 pub address: Option<String>,
253 #[serde(
255 rename = "isRecurring",
256 default,
257 skip_serializing_if = "Option::is_none"
258 )]
259 pub is_recurring: Option<bool>,
260 #[serde(default, skip_serializing_if = "Option::is_none")]
262 pub rrule: Option<String>,
263 pub id: String,
266}
267
268#[derive(Debug, Clone, Default, Serialize, Deserialize)]
270pub struct Availability {
271 pub date: String,
275 #[serde(default, skip_serializing_if = "Vec::is_empty")]
277 pub hours: Vec<Hour>,
278 #[serde(default, skip_serializing_if = "Option::is_none")]
279 pub deleted: Option<bool>,
280}
281
282#[derive(Debug, Clone, Default, Serialize, Deserialize)]
284pub struct BlockSlotCreateRequestDTO {
285 #[serde(default, skip_serializing_if = "Option::is_none")]
287 pub title: Option<String>,
288 #[serde(rename = "calendarId")]
291 pub calendar_id: String,
292 #[serde(
294 rename = "assignedUserId",
295 default,
296 skip_serializing_if = "Option::is_none"
297 )]
298 pub assigned_user_id: Option<String>,
299 #[serde(rename = "locationId")]
302 pub location_id: String,
303 #[serde(rename = "startTime", default, skip_serializing_if = "Option::is_none")]
305 pub start_time: Option<String>,
306 #[serde(rename = "endTime", default, skip_serializing_if = "Option::is_none")]
308 pub end_time: Option<String>,
309}
310
311#[derive(Debug, Clone, Default, Serialize, Deserialize)]
313pub struct BlockSlotEditRequestDTO {
314 #[serde(default, skip_serializing_if = "Option::is_none")]
316 pub title: Option<String>,
317 #[serde(rename = "calendarId")]
320 pub calendar_id: String,
321 #[serde(
323 rename = "assignedUserId",
324 default,
325 skip_serializing_if = "Option::is_none"
326 )]
327 pub assigned_user_id: Option<String>,
328 #[serde(rename = "locationId")]
331 pub location_id: String,
332 #[serde(rename = "startTime", default, skip_serializing_if = "Option::is_none")]
334 pub start_time: Option<String>,
335 #[serde(rename = "endTime", default, skip_serializing_if = "Option::is_none")]
337 pub end_time: Option<String>,
338}
339
340#[derive(Debug, Clone, Default, Serialize, Deserialize)]
342pub struct BlockedSlotSuccessfulResponseDto {
343 pub id: String,
346 #[serde(rename = "locationId")]
349 pub location_id: String,
350 pub title: String,
353 #[serde(rename = "startTime")]
356 pub start_time: serde_json::Value,
357 #[serde(rename = "endTime")]
360 pub end_time: serde_json::Value,
361 #[serde(
363 rename = "calendarId",
364 default,
365 skip_serializing_if = "Option::is_none"
366 )]
367 pub calendar_id: Option<String>,
368 #[serde(
370 rename = "assignedUserId",
371 default,
372 skip_serializing_if = "Option::is_none"
373 )]
374 pub assigned_user_id: Option<String>,
375}
376
377#[derive(Debug, Clone, Default, Serialize, Deserialize)]
379pub struct CalendarByIdSuccessfulResponseDTO {
380 pub calendar: CalendarDTO,
382}
383
384#[derive(Debug, Clone, Default, Serialize, Deserialize)]
386pub struct CalendarCreateDTO {
387 #[serde(rename = "isActive", default, skip_serializing_if = "Option::is_none")]
389 pub is_active: Option<bool>,
390 #[serde(default, skip_serializing_if = "Vec::is_empty")]
392 pub notifications: Vec<CalendarNotification>,
393 #[serde(rename = "locationId")]
395 pub location_id: String,
396 #[serde(rename = "groupId", default, skip_serializing_if = "Option::is_none")]
398 pub group_id: Option<String>,
399 #[serde(rename = "teamMembers", default, skip_serializing_if = "Vec::is_empty")]
402 pub team_members: Vec<TeamMember>,
403 #[serde(rename = "eventType", default, skip_serializing_if = "Option::is_none")]
406 pub event_type: Option<String>,
407 pub name: String,
409 #[serde(default, skip_serializing_if = "Option::is_none")]
410 pub description: Option<String>,
411 #[serde(default, skip_serializing_if = "Option::is_none")]
412 pub slug: Option<String>,
413 #[serde(
414 rename = "widgetSlug",
415 default,
416 skip_serializing_if = "Option::is_none"
417 )]
418 pub widget_slug: Option<String>,
419 #[serde(
422 rename = "calendarType",
423 default,
424 skip_serializing_if = "Option::is_none"
425 )]
426 pub calendar_type: Option<String>,
427 #[serde(
430 rename = "widgetType",
431 default,
432 skip_serializing_if = "Option::is_none"
433 )]
434 pub widget_type: Option<String>,
435 #[serde(
436 rename = "eventTitle",
437 default,
438 skip_serializing_if = "Option::is_none"
439 )]
440 pub event_title: Option<String>,
441 #[serde(
442 rename = "eventColor",
443 default,
444 skip_serializing_if = "Option::is_none"
445 )]
446 pub event_color: Option<String>,
447 #[serde(
450 rename = "meetingLocation",
451 default,
452 skip_serializing_if = "Option::is_none"
453 )]
454 pub meeting_location: Option<String>,
455 #[serde(
457 rename = "locationConfigurations",
458 default,
459 skip_serializing_if = "Vec::is_empty"
460 )]
461 pub location_configurations: Vec<LocationConfiguration>,
462 #[serde(
464 rename = "slotDuration",
465 default,
466 skip_serializing_if = "Option::is_none"
467 )]
468 pub slot_duration: Option<f64>,
469 #[serde(
472 rename = "slotDurationUnit",
473 default,
474 skip_serializing_if = "Option::is_none"
475 )]
476 pub slot_duration_unit: Option<String>,
477 #[serde(
480 rename = "slotInterval",
481 default,
482 skip_serializing_if = "Option::is_none"
483 )]
484 pub slot_interval: Option<f64>,
485 #[serde(
488 rename = "slotIntervalUnit",
489 default,
490 skip_serializing_if = "Option::is_none"
491 )]
492 pub slot_interval_unit: Option<String>,
493 #[serde(
496 rename = "slotBuffer",
497 default,
498 skip_serializing_if = "Option::is_none"
499 )]
500 pub slot_buffer: Option<f64>,
501 #[serde(
504 rename = "slotBufferUnit",
505 default,
506 skip_serializing_if = "Option::is_none"
507 )]
508 pub slot_buffer_unit: Option<String>,
509 #[serde(rename = "preBuffer", default, skip_serializing_if = "Option::is_none")]
512 pub pre_buffer: Option<f64>,
513 #[serde(
516 rename = "preBufferUnit",
517 default,
518 skip_serializing_if = "Option::is_none"
519 )]
520 pub pre_buffer_unit: Option<String>,
521 #[serde(
524 rename = "appoinmentPerSlot",
525 default,
526 skip_serializing_if = "Option::is_none"
527 )]
528 pub appoinment_per_slot: Option<f64>,
529 #[serde(
531 rename = "appoinmentPerDay",
532 default,
533 skip_serializing_if = "Option::is_none"
534 )]
535 pub appoinment_per_day: Option<f64>,
536 #[serde(
538 rename = "allowBookingAfter",
539 default,
540 skip_serializing_if = "Option::is_none"
541 )]
542 pub allow_booking_after: Option<f64>,
543 #[serde(
546 rename = "allowBookingAfterUnit",
547 default,
548 skip_serializing_if = "Option::is_none"
549 )]
550 pub allow_booking_after_unit: Option<String>,
551 #[serde(
553 rename = "allowBookingFor",
554 default,
555 skip_serializing_if = "Option::is_none"
556 )]
557 pub allow_booking_for: Option<f64>,
558 #[serde(
561 rename = "allowBookingForUnit",
562 default,
563 skip_serializing_if = "Option::is_none"
564 )]
565 pub allow_booking_for_unit: Option<String>,
566 #[serde(rename = "openHours", default, skip_serializing_if = "Vec::is_empty")]
569 pub open_hours: Vec<OpenHour>,
570 #[serde(
573 rename = "enableRecurring",
574 default,
575 skip_serializing_if = "Option::is_none"
576 )]
577 pub enable_recurring: Option<bool>,
578 #[serde(default, skip_serializing_if = "Option::is_none")]
579 pub recurring: Option<Recurring>,
580 #[serde(rename = "formId", default, skip_serializing_if = "Option::is_none")]
581 pub form_id: Option<String>,
582 #[serde(
583 rename = "stickyContact",
584 default,
585 skip_serializing_if = "Option::is_none"
586 )]
587 pub sticky_contact: Option<bool>,
588 #[serde(
589 rename = "isLivePaymentMode",
590 default,
591 skip_serializing_if = "Option::is_none"
592 )]
593 pub is_live_payment_mode: Option<bool>,
594 #[serde(
595 rename = "autoConfirm",
596 default,
597 skip_serializing_if = "Option::is_none"
598 )]
599 pub auto_confirm: Option<bool>,
600 #[serde(
601 rename = "shouldSendAlertEmailsToAssignedMember",
602 default,
603 skip_serializing_if = "Option::is_none"
604 )]
605 pub should_send_alert_emails_to_assigned_member: Option<bool>,
606 #[serde(
607 rename = "alertEmail",
608 default,
609 skip_serializing_if = "Option::is_none"
610 )]
611 pub alert_email: Option<String>,
612 #[serde(
613 rename = "googleInvitationEmails",
614 default,
615 skip_serializing_if = "Option::is_none"
616 )]
617 pub google_invitation_emails: Option<bool>,
618 #[serde(
619 rename = "allowReschedule",
620 default,
621 skip_serializing_if = "Option::is_none"
622 )]
623 pub allow_reschedule: Option<bool>,
624 #[serde(
625 rename = "allowCancellation",
626 default,
627 skip_serializing_if = "Option::is_none"
628 )]
629 pub allow_cancellation: Option<bool>,
630 #[serde(
631 rename = "shouldAssignContactToTeamMember",
632 default,
633 skip_serializing_if = "Option::is_none"
634 )]
635 pub should_assign_contact_to_team_member: Option<bool>,
636 #[serde(
637 rename = "shouldSkipAssigningContactForExisting",
638 default,
639 skip_serializing_if = "Option::is_none"
640 )]
641 pub should_skip_assigning_contact_for_existing: Option<bool>,
642 #[serde(default, skip_serializing_if = "Option::is_none")]
643 pub notes: Option<String>,
644 #[serde(rename = "pixelId", default, skip_serializing_if = "Option::is_none")]
645 pub pixel_id: Option<String>,
646 #[serde(
648 rename = "formSubmitType",
649 default,
650 skip_serializing_if = "Option::is_none"
651 )]
652 pub form_submit_type: Option<String>,
653 #[serde(
654 rename = "formSubmitRedirectURL",
655 default,
656 skip_serializing_if = "Option::is_none"
657 )]
658 pub form_submit_redirect_url: Option<String>,
659 #[serde(
660 rename = "formSubmitThanksMessage",
661 default,
662 skip_serializing_if = "Option::is_none"
663 )]
664 pub form_submit_thanks_message: Option<String>,
665 #[serde(
670 rename = "availabilityType",
671 default,
672 skip_serializing_if = "Option::is_none"
673 )]
674 pub availability_type: Option<String>,
675 #[serde(default, skip_serializing_if = "Vec::is_empty")]
678 pub availabilities: Vec<Availability>,
679 #[serde(rename = "guestType", default, skip_serializing_if = "Option::is_none")]
681 pub guest_type: Option<String>,
682 #[serde(
683 rename = "consentLabel",
684 default,
685 skip_serializing_if = "Option::is_none"
686 )]
687 pub consent_label: Option<String>,
688 #[serde(
689 rename = "calendarCoverImage",
690 default,
691 skip_serializing_if = "Option::is_none"
692 )]
693 pub calendar_cover_image: Option<String>,
694 #[serde(
696 rename = "lookBusyConfig",
697 default,
698 skip_serializing_if = "Option::is_none"
699 )]
700 pub look_busy_config: Option<LookBusyConfiguration>,
701}
702
703#[derive(Debug, Clone, Default, Serialize, Deserialize)]
705pub struct CalendarDTO {
706 #[serde(rename = "isActive", default, skip_serializing_if = "Option::is_none")]
708 pub is_active: Option<bool>,
709 #[serde(default, skip_serializing_if = "Vec::is_empty")]
711 pub notifications: Vec<CalendarNotification>,
712 #[serde(rename = "locationId")]
714 pub location_id: String,
715 #[serde(rename = "groupId", default, skip_serializing_if = "Option::is_none")]
717 pub group_id: Option<String>,
718 #[serde(rename = "teamMembers", default, skip_serializing_if = "Vec::is_empty")]
721 pub team_members: Vec<TeamMemberResponse>,
722 #[serde(rename = "eventType", default, skip_serializing_if = "Option::is_none")]
725 pub event_type: Option<String>,
726 pub name: String,
728 #[serde(default, skip_serializing_if = "Option::is_none")]
729 pub description: Option<String>,
730 #[serde(default, skip_serializing_if = "Option::is_none")]
731 pub slug: Option<String>,
732 #[serde(
733 rename = "widgetSlug",
734 default,
735 skip_serializing_if = "Option::is_none"
736 )]
737 pub widget_slug: Option<String>,
738 #[serde(
741 rename = "calendarType",
742 default,
743 skip_serializing_if = "Option::is_none"
744 )]
745 pub calendar_type: Option<String>,
746 #[serde(
749 rename = "widgetType",
750 default,
751 skip_serializing_if = "Option::is_none"
752 )]
753 pub widget_type: Option<String>,
754 #[serde(
755 rename = "eventTitle",
756 default,
757 skip_serializing_if = "Option::is_none"
758 )]
759 pub event_title: Option<String>,
760 #[serde(
761 rename = "eventColor",
762 default,
763 skip_serializing_if = "Option::is_none"
764 )]
765 pub event_color: Option<String>,
766 #[serde(
769 rename = "meetingLocation",
770 default,
771 skip_serializing_if = "Option::is_none"
772 )]
773 pub meeting_location: Option<String>,
774 #[serde(
776 rename = "locationConfigurations",
777 default,
778 skip_serializing_if = "Vec::is_empty"
779 )]
780 pub location_configurations: Vec<LocationConfigurationResponse>,
781 #[serde(
783 rename = "slotDuration",
784 default,
785 skip_serializing_if = "Option::is_none"
786 )]
787 pub slot_duration: Option<f64>,
788 #[serde(
791 rename = "slotDurationUnit",
792 default,
793 skip_serializing_if = "Option::is_none"
794 )]
795 pub slot_duration_unit: Option<String>,
796 #[serde(
799 rename = "slotInterval",
800 default,
801 skip_serializing_if = "Option::is_none"
802 )]
803 pub slot_interval: Option<f64>,
804 #[serde(
807 rename = "slotIntervalUnit",
808 default,
809 skip_serializing_if = "Option::is_none"
810 )]
811 pub slot_interval_unit: Option<String>,
812 #[serde(
815 rename = "slotBuffer",
816 default,
817 skip_serializing_if = "Option::is_none"
818 )]
819 pub slot_buffer: Option<f64>,
820 #[serde(
823 rename = "slotBufferUnit",
824 default,
825 skip_serializing_if = "Option::is_none"
826 )]
827 pub slot_buffer_unit: Option<String>,
828 #[serde(rename = "preBuffer", default, skip_serializing_if = "Option::is_none")]
831 pub pre_buffer: Option<f64>,
832 #[serde(
835 rename = "preBufferUnit",
836 default,
837 skip_serializing_if = "Option::is_none"
838 )]
839 pub pre_buffer_unit: Option<String>,
840 #[serde(
843 rename = "appoinmentPerSlot",
844 default,
845 skip_serializing_if = "Option::is_none"
846 )]
847 pub appoinment_per_slot: Option<f64>,
848 #[serde(
850 rename = "appoinmentPerDay",
851 default,
852 skip_serializing_if = "Option::is_none"
853 )]
854 pub appoinment_per_day: Option<f64>,
855 #[serde(
857 rename = "allowBookingAfter",
858 default,
859 skip_serializing_if = "Option::is_none"
860 )]
861 pub allow_booking_after: Option<f64>,
862 #[serde(
865 rename = "allowBookingAfterUnit",
866 default,
867 skip_serializing_if = "Option::is_none"
868 )]
869 pub allow_booking_after_unit: Option<String>,
870 #[serde(
872 rename = "allowBookingFor",
873 default,
874 skip_serializing_if = "Option::is_none"
875 )]
876 pub allow_booking_for: Option<f64>,
877 #[serde(
880 rename = "allowBookingForUnit",
881 default,
882 skip_serializing_if = "Option::is_none"
883 )]
884 pub allow_booking_for_unit: Option<String>,
885 #[serde(rename = "openHours", default, skip_serializing_if = "Vec::is_empty")]
888 pub open_hours: Vec<OpenHour>,
889 #[serde(
892 rename = "enableRecurring",
893 default,
894 skip_serializing_if = "Option::is_none"
895 )]
896 pub enable_recurring: Option<bool>,
897 #[serde(default, skip_serializing_if = "Option::is_none")]
898 pub recurring: Option<Recurring>,
899 #[serde(rename = "formId", default, skip_serializing_if = "Option::is_none")]
900 pub form_id: Option<String>,
901 #[serde(
902 rename = "stickyContact",
903 default,
904 skip_serializing_if = "Option::is_none"
905 )]
906 pub sticky_contact: Option<bool>,
907 #[serde(
908 rename = "isLivePaymentMode",
909 default,
910 skip_serializing_if = "Option::is_none"
911 )]
912 pub is_live_payment_mode: Option<bool>,
913 #[serde(
914 rename = "autoConfirm",
915 default,
916 skip_serializing_if = "Option::is_none"
917 )]
918 pub auto_confirm: Option<bool>,
919 #[serde(
920 rename = "shouldSendAlertEmailsToAssignedMember",
921 default,
922 skip_serializing_if = "Option::is_none"
923 )]
924 pub should_send_alert_emails_to_assigned_member: Option<bool>,
925 #[serde(
926 rename = "alertEmail",
927 default,
928 skip_serializing_if = "Option::is_none"
929 )]
930 pub alert_email: Option<String>,
931 #[serde(
932 rename = "googleInvitationEmails",
933 default,
934 skip_serializing_if = "Option::is_none"
935 )]
936 pub google_invitation_emails: Option<bool>,
937 #[serde(
938 rename = "allowReschedule",
939 default,
940 skip_serializing_if = "Option::is_none"
941 )]
942 pub allow_reschedule: Option<bool>,
943 #[serde(
944 rename = "allowCancellation",
945 default,
946 skip_serializing_if = "Option::is_none"
947 )]
948 pub allow_cancellation: Option<bool>,
949 #[serde(
950 rename = "shouldAssignContactToTeamMember",
951 default,
952 skip_serializing_if = "Option::is_none"
953 )]
954 pub should_assign_contact_to_team_member: Option<bool>,
955 #[serde(
956 rename = "shouldSkipAssigningContactForExisting",
957 default,
958 skip_serializing_if = "Option::is_none"
959 )]
960 pub should_skip_assigning_contact_for_existing: Option<bool>,
961 #[serde(default, skip_serializing_if = "Option::is_none")]
962 pub notes: Option<String>,
963 #[serde(rename = "pixelId", default, skip_serializing_if = "Option::is_none")]
964 pub pixel_id: Option<String>,
965 #[serde(
967 rename = "formSubmitType",
968 default,
969 skip_serializing_if = "Option::is_none"
970 )]
971 pub form_submit_type: Option<String>,
972 #[serde(
973 rename = "formSubmitRedirectURL",
974 default,
975 skip_serializing_if = "Option::is_none"
976 )]
977 pub form_submit_redirect_url: Option<String>,
978 #[serde(
979 rename = "formSubmitThanksMessage",
980 default,
981 skip_serializing_if = "Option::is_none"
982 )]
983 pub form_submit_thanks_message: Option<String>,
984 #[serde(
989 rename = "availabilityType",
990 default,
991 skip_serializing_if = "Option::is_none"
992 )]
993 pub availability_type: Option<String>,
994 #[serde(default, skip_serializing_if = "Vec::is_empty")]
997 pub availabilities: Vec<Availability>,
998 #[serde(rename = "guestType", default, skip_serializing_if = "Option::is_none")]
1000 pub guest_type: Option<String>,
1001 #[serde(
1002 rename = "consentLabel",
1003 default,
1004 skip_serializing_if = "Option::is_none"
1005 )]
1006 pub consent_label: Option<String>,
1007 #[serde(
1008 rename = "calendarCoverImage",
1009 default,
1010 skip_serializing_if = "Option::is_none"
1011 )]
1012 pub calendar_cover_image: Option<String>,
1013 #[serde(
1015 rename = "lookBusyConfig",
1016 default,
1017 skip_serializing_if = "Option::is_none"
1018 )]
1019 pub look_busy_config: Option<LookBusyConfiguration>,
1020 pub id: String,
1022}
1023
1024#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1026pub struct CalendarDeleteSuccessfulResponseDTO {
1027 pub success: bool,
1030}
1031
1032#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1034pub struct CalendarEventDTO {
1035 pub id: String,
1038 #[serde(default, skip_serializing_if = "Option::is_none")]
1040 pub address: Option<String>,
1041 pub title: String,
1044 #[serde(rename = "calendarId")]
1047 pub calendar_id: String,
1048 #[serde(rename = "locationId")]
1051 pub location_id: String,
1052 #[serde(rename = "contactId")]
1055 pub contact_id: String,
1056 #[serde(rename = "groupId")]
1059 pub group_id: String,
1060 #[serde(rename = "appointmentStatus")]
1063 pub appointment_status: String,
1064 #[serde(rename = "assignedUserId")]
1067 pub assigned_user_id: String,
1068 #[serde(default, skip_serializing_if = "Vec::is_empty")]
1071 pub users: Vec<String>,
1072 #[serde(default, skip_serializing_if = "Option::is_none")]
1074 pub notes: Option<String>,
1075 #[serde(default, skip_serializing_if = "Option::is_none")]
1077 pub description: Option<String>,
1078 #[serde(
1080 rename = "isRecurring",
1081 default,
1082 skip_serializing_if = "Option::is_none"
1083 )]
1084 pub is_recurring: Option<bool>,
1085 #[serde(default, skip_serializing_if = "Option::is_none")]
1088 pub rrule: Option<String>,
1089 #[serde(rename = "startTime")]
1092 pub start_time: serde_json::Value,
1093 #[serde(rename = "endTime")]
1096 pub end_time: serde_json::Value,
1097 #[serde(rename = "dateAdded")]
1100 pub date_added: serde_json::Value,
1101 #[serde(rename = "dateUpdated")]
1104 pub date_updated: serde_json::Value,
1105 #[serde(
1107 rename = "assignedResources",
1108 default,
1109 skip_serializing_if = "Vec::is_empty"
1110 )]
1111 pub assigned_resources: Vec<String>,
1112 #[serde(rename = "createdBy", default, skip_serializing_if = "Option::is_none")]
1114 pub created_by: Option<CreatedOrUpdatedBy>,
1115 #[serde(
1117 rename = "masterEventId",
1118 default,
1119 skip_serializing_if = "Option::is_none"
1120 )]
1121 pub master_event_id: Option<String>,
1122}
1123
1124#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1126pub struct CalendarNotification {
1127 #[serde(rename = "type", default, skip_serializing_if = "Option::is_none")]
1130 pub type_: Option<String>,
1131 #[serde(rename = "shouldSendToContact")]
1133 pub should_send_to_contact: bool,
1134 #[serde(rename = "shouldSendToGuest")]
1136 pub should_send_to_guest: bool,
1137 #[serde(rename = "shouldSendToUser")]
1139 pub should_send_to_user: bool,
1140 #[serde(rename = "shouldSendToSelectedUsers")]
1142 pub should_send_to_selected_users: bool,
1143 #[serde(rename = "selectedUsers")]
1146 pub selected_users: String,
1147}
1148
1149#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1151pub struct CalendarNotificationDeleteResponseDTO {
1152 pub message: String,
1155}
1156
1157#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1159pub struct CalendarNotificationResponseDTO {
1160 #[serde(rename = "_id", default, skip_serializing_if = "Option::is_none")]
1162 pub id: Option<String>,
1163 #[serde(
1166 rename = "receiverType",
1167 default,
1168 skip_serializing_if = "Option::is_none"
1169 )]
1170 pub receiver_type: Option<String>,
1171 #[serde(
1172 rename = "additionalEmailIds",
1173 default,
1174 skip_serializing_if = "Vec::is_empty"
1175 )]
1176 pub additional_email_ids: Vec<String>,
1177 #[serde(
1178 rename = "additionalPhoneNumbers",
1179 default,
1180 skip_serializing_if = "Vec::is_empty"
1181 )]
1182 pub additional_phone_numbers: Vec<String>,
1183 #[serde(default, skip_serializing_if = "Option::is_none")]
1185 pub channel: Option<String>,
1186 #[serde(
1189 rename = "notificationType",
1190 default,
1191 skip_serializing_if = "Option::is_none"
1192 )]
1193 pub notification_type: Option<String>,
1194 #[serde(rename = "isActive", default, skip_serializing_if = "Option::is_none")]
1195 pub is_active: Option<bool>,
1196 #[serde(
1197 rename = "additionalWhatsappNumbers",
1198 default,
1199 skip_serializing_if = "Vec::is_empty"
1200 )]
1201 pub additional_whatsapp_numbers: Vec<String>,
1202 #[serde(
1203 rename = "templateId",
1204 default,
1205 skip_serializing_if = "Option::is_none"
1206 )]
1207 pub template_id: Option<String>,
1208 #[serde(default, skip_serializing_if = "Option::is_none")]
1209 pub body: Option<String>,
1210 #[serde(default, skip_serializing_if = "Option::is_none")]
1211 pub subject: Option<String>,
1212 #[serde(rename = "afterTime", default, skip_serializing_if = "Vec::is_empty")]
1213 pub after_time: Vec<SchedulesDTO>,
1214 #[serde(rename = "beforeTime", default, skip_serializing_if = "Vec::is_empty")]
1215 pub before_time: Vec<SchedulesDTO>,
1216 #[serde(
1217 rename = "selectedUsers",
1218 default,
1219 skip_serializing_if = "Vec::is_empty"
1220 )]
1221 pub selected_users: Vec<String>,
1222 #[serde(default, skip_serializing_if = "Option::is_none")]
1223 pub deleted: Option<bool>,
1224}
1225
1226#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1228pub struct CalendarResourceByIdResponseDTO {
1229 #[serde(rename = "locationId")]
1232 pub location_id: String,
1233 pub name: String,
1236 #[serde(rename = "resourceType")]
1239 pub resource_type: String,
1240 #[serde(rename = "isActive")]
1243 pub is_active: bool,
1244 #[serde(default, skip_serializing_if = "Option::is_none")]
1246 pub description: Option<String>,
1247 #[serde(default, skip_serializing_if = "Option::is_none")]
1249 pub quantity: Option<f64>,
1250 #[serde(
1252 rename = "outOfService",
1253 default,
1254 skip_serializing_if = "Option::is_none"
1255 )]
1256 pub out_of_service: Option<f64>,
1257 #[serde(default, skip_serializing_if = "Option::is_none")]
1259 pub capacity: Option<f64>,
1260 #[serde(rename = "calendarIds", default, skip_serializing_if = "Vec::is_empty")]
1263 pub calendar_ids: Vec<String>,
1264}
1265
1266#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1268pub struct CalendarResourceResponseDTO {
1269 #[serde(rename = "locationId")]
1272 pub location_id: String,
1273 pub name: String,
1276 #[serde(rename = "resourceType")]
1279 pub resource_type: String,
1280 #[serde(rename = "isActive")]
1283 pub is_active: bool,
1284 #[serde(default, skip_serializing_if = "Option::is_none")]
1286 pub description: Option<String>,
1287 #[serde(default, skip_serializing_if = "Option::is_none")]
1289 pub quantity: Option<f64>,
1290 #[serde(
1292 rename = "outOfService",
1293 default,
1294 skip_serializing_if = "Option::is_none"
1295 )]
1296 pub out_of_service: Option<f64>,
1297 #[serde(default, skip_serializing_if = "Option::is_none")]
1299 pub capacity: Option<f64>,
1300}
1301
1302#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1304pub struct CalendarUpdateDTO {
1305 #[serde(default, skip_serializing_if = "Vec::is_empty")]
1307 pub notifications: Vec<CalendarNotification>,
1308 #[serde(rename = "groupId", default, skip_serializing_if = "Option::is_none")]
1310 pub group_id: Option<String>,
1311 #[serde(rename = "teamMembers", default, skip_serializing_if = "Vec::is_empty")]
1314 pub team_members: Vec<TeamMember>,
1315 #[serde(rename = "eventType", default, skip_serializing_if = "Option::is_none")]
1318 pub event_type: Option<String>,
1319 #[serde(default, skip_serializing_if = "Option::is_none")]
1320 pub name: Option<String>,
1321 #[serde(default, skip_serializing_if = "Option::is_none")]
1322 pub description: Option<String>,
1323 #[serde(default, skip_serializing_if = "Option::is_none")]
1324 pub slug: Option<String>,
1325 #[serde(
1326 rename = "widgetSlug",
1327 default,
1328 skip_serializing_if = "Option::is_none"
1329 )]
1330 pub widget_slug: Option<String>,
1331 #[serde(
1334 rename = "widgetType",
1335 default,
1336 skip_serializing_if = "Option::is_none"
1337 )]
1338 pub widget_type: Option<String>,
1339 #[serde(
1340 rename = "eventTitle",
1341 default,
1342 skip_serializing_if = "Option::is_none"
1343 )]
1344 pub event_title: Option<String>,
1345 #[serde(
1346 rename = "eventColor",
1347 default,
1348 skip_serializing_if = "Option::is_none"
1349 )]
1350 pub event_color: Option<String>,
1351 #[serde(
1353 rename = "locationConfigurations",
1354 default,
1355 skip_serializing_if = "Vec::is_empty"
1356 )]
1357 pub location_configurations: Vec<LocationConfiguration>,
1358 #[serde(
1361 rename = "meetingLocation",
1362 default,
1363 skip_serializing_if = "Option::is_none"
1364 )]
1365 pub meeting_location: Option<String>,
1366 #[serde(
1368 rename = "slotDuration",
1369 default,
1370 skip_serializing_if = "Option::is_none"
1371 )]
1372 pub slot_duration: Option<f64>,
1373 #[serde(
1376 rename = "slotDurationUnit",
1377 default,
1378 skip_serializing_if = "Option::is_none"
1379 )]
1380 pub slot_duration_unit: Option<String>,
1381 #[serde(
1384 rename = "preBufferUnit",
1385 default,
1386 skip_serializing_if = "Option::is_none"
1387 )]
1388 pub pre_buffer_unit: Option<String>,
1389 #[serde(
1392 rename = "slotInterval",
1393 default,
1394 skip_serializing_if = "Option::is_none"
1395 )]
1396 pub slot_interval: Option<f64>,
1397 #[serde(
1400 rename = "slotIntervalUnit",
1401 default,
1402 skip_serializing_if = "Option::is_none"
1403 )]
1404 pub slot_interval_unit: Option<String>,
1405 #[serde(
1408 rename = "slotBuffer",
1409 default,
1410 skip_serializing_if = "Option::is_none"
1411 )]
1412 pub slot_buffer: Option<f64>,
1413 #[serde(rename = "preBuffer", default, skip_serializing_if = "Option::is_none")]
1416 pub pre_buffer: Option<f64>,
1417 #[serde(
1418 rename = "appoinmentPerSlot",
1419 default,
1420 skip_serializing_if = "Option::is_none"
1421 )]
1422 pub appoinment_per_slot: Option<f64>,
1423 #[serde(
1425 rename = "appoinmentPerDay",
1426 default,
1427 skip_serializing_if = "Option::is_none"
1428 )]
1429 pub appoinment_per_day: Option<f64>,
1430 #[serde(
1432 rename = "allowBookingAfter",
1433 default,
1434 skip_serializing_if = "Option::is_none"
1435 )]
1436 pub allow_booking_after: Option<f64>,
1437 #[serde(
1440 rename = "allowBookingAfterUnit",
1441 default,
1442 skip_serializing_if = "Option::is_none"
1443 )]
1444 pub allow_booking_after_unit: Option<String>,
1445 #[serde(
1447 rename = "allowBookingFor",
1448 default,
1449 skip_serializing_if = "Option::is_none"
1450 )]
1451 pub allow_booking_for: Option<f64>,
1452 #[serde(
1455 rename = "allowBookingForUnit",
1456 default,
1457 skip_serializing_if = "Option::is_none"
1458 )]
1459 pub allow_booking_for_unit: Option<String>,
1460 #[serde(rename = "openHours", default, skip_serializing_if = "Vec::is_empty")]
1461 pub open_hours: Vec<OpenHour>,
1462 #[serde(
1465 rename = "enableRecurring",
1466 default,
1467 skip_serializing_if = "Option::is_none"
1468 )]
1469 pub enable_recurring: Option<bool>,
1470 #[serde(default, skip_serializing_if = "Option::is_none")]
1471 pub recurring: Option<Recurring>,
1472 #[serde(rename = "formId", default, skip_serializing_if = "Option::is_none")]
1473 pub form_id: Option<String>,
1474 #[serde(
1475 rename = "stickyContact",
1476 default,
1477 skip_serializing_if = "Option::is_none"
1478 )]
1479 pub sticky_contact: Option<bool>,
1480 #[serde(
1481 rename = "isLivePaymentMode",
1482 default,
1483 skip_serializing_if = "Option::is_none"
1484 )]
1485 pub is_live_payment_mode: Option<bool>,
1486 #[serde(
1487 rename = "autoConfirm",
1488 default,
1489 skip_serializing_if = "Option::is_none"
1490 )]
1491 pub auto_confirm: Option<bool>,
1492 #[serde(
1493 rename = "shouldSendAlertEmailsToAssignedMember",
1494 default,
1495 skip_serializing_if = "Option::is_none"
1496 )]
1497 pub should_send_alert_emails_to_assigned_member: Option<bool>,
1498 #[serde(
1499 rename = "alertEmail",
1500 default,
1501 skip_serializing_if = "Option::is_none"
1502 )]
1503 pub alert_email: Option<String>,
1504 #[serde(
1505 rename = "googleInvitationEmails",
1506 default,
1507 skip_serializing_if = "Option::is_none"
1508 )]
1509 pub google_invitation_emails: Option<bool>,
1510 #[serde(
1511 rename = "allowReschedule",
1512 default,
1513 skip_serializing_if = "Option::is_none"
1514 )]
1515 pub allow_reschedule: Option<bool>,
1516 #[serde(
1517 rename = "allowCancellation",
1518 default,
1519 skip_serializing_if = "Option::is_none"
1520 )]
1521 pub allow_cancellation: Option<bool>,
1522 #[serde(
1523 rename = "shouldAssignContactToTeamMember",
1524 default,
1525 skip_serializing_if = "Option::is_none"
1526 )]
1527 pub should_assign_contact_to_team_member: Option<bool>,
1528 #[serde(
1529 rename = "shouldSkipAssigningContactForExisting",
1530 default,
1531 skip_serializing_if = "Option::is_none"
1532 )]
1533 pub should_skip_assigning_contact_for_existing: Option<bool>,
1534 #[serde(default, skip_serializing_if = "Option::is_none")]
1535 pub notes: Option<String>,
1536 #[serde(rename = "pixelId", default, skip_serializing_if = "Option::is_none")]
1537 pub pixel_id: Option<String>,
1538 #[serde(
1540 rename = "formSubmitType",
1541 default,
1542 skip_serializing_if = "Option::is_none"
1543 )]
1544 pub form_submit_type: Option<String>,
1545 #[serde(
1546 rename = "formSubmitRedirectURL",
1547 default,
1548 skip_serializing_if = "Option::is_none"
1549 )]
1550 pub form_submit_redirect_url: Option<String>,
1551 #[serde(
1552 rename = "formSubmitThanksMessage",
1553 default,
1554 skip_serializing_if = "Option::is_none"
1555 )]
1556 pub form_submit_thanks_message: Option<String>,
1557 #[serde(
1562 rename = "availabilityType",
1563 default,
1564 skip_serializing_if = "Option::is_none"
1565 )]
1566 pub availability_type: Option<String>,
1567 #[serde(default, skip_serializing_if = "Vec::is_empty")]
1570 pub availabilities: Vec<UpdateAvailability>,
1571 #[serde(rename = "guestType", default, skip_serializing_if = "Option::is_none")]
1573 pub guest_type: Option<String>,
1574 #[serde(
1575 rename = "consentLabel",
1576 default,
1577 skip_serializing_if = "Option::is_none"
1578 )]
1579 pub consent_label: Option<String>,
1580 #[serde(
1581 rename = "calendarCoverImage",
1582 default,
1583 skip_serializing_if = "Option::is_none"
1584 )]
1585 pub calendar_cover_image: Option<String>,
1586 #[serde(
1588 rename = "lookBusyConfig",
1589 default,
1590 skip_serializing_if = "Option::is_none"
1591 )]
1592 pub look_busy_config: Option<LookBusyConfiguration>,
1593 #[serde(rename = "isActive", default, skip_serializing_if = "Option::is_none")]
1594 pub is_active: Option<bool>,
1595}
1596
1597#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1599pub struct CalendarsGetSuccessfulResponseDTO {
1600 #[serde(default, skip_serializing_if = "Vec::is_empty")]
1601 pub calendars: Vec<CalendarDTO>,
1602}
1603
1604#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1606pub struct CreateCalendarNotificationDTO {
1607 #[serde(rename = "receiverType")]
1612 pub receiver_type: String,
1613 pub channel: String,
1617 #[serde(rename = "notificationType")]
1622 pub notification_type: String,
1623 #[serde(rename = "isActive", default, skip_serializing_if = "Option::is_none")]
1625 pub is_active: Option<bool>,
1626 #[serde(
1628 rename = "templateId",
1629 default,
1630 skip_serializing_if = "Option::is_none"
1631 )]
1632 pub template_id: Option<String>,
1633 #[serde(default, skip_serializing_if = "Option::is_none")]
1635 pub body: Option<String>,
1636 #[serde(default, skip_serializing_if = "Option::is_none")]
1638 pub subject: Option<String>,
1639 #[serde(rename = "afterTime", default, skip_serializing_if = "Vec::is_empty")]
1642 pub after_time: Vec<SchedulesDTO>,
1643 #[serde(rename = "beforeTime", default, skip_serializing_if = "Vec::is_empty")]
1646 pub before_time: Vec<SchedulesDTO>,
1647 #[serde(
1649 rename = "additionalEmailIds",
1650 default,
1651 skip_serializing_if = "Vec::is_empty"
1652 )]
1653 pub additional_email_ids: Vec<String>,
1654 #[serde(
1656 rename = "additionalPhoneNumbers",
1657 default,
1658 skip_serializing_if = "Vec::is_empty"
1659 )]
1660 pub additional_phone_numbers: Vec<String>,
1661 #[serde(
1664 rename = "selectedUsers",
1665 default,
1666 skip_serializing_if = "Vec::is_empty"
1667 )]
1668 pub selected_users: Vec<String>,
1669 #[serde(
1671 rename = "fromAddress",
1672 default,
1673 skip_serializing_if = "Option::is_none"
1674 )]
1675 pub from_address: Option<String>,
1676 #[serde(rename = "fromName", default, skip_serializing_if = "Option::is_none")]
1678 pub from_name: Option<String>,
1679 #[serde(
1681 rename = "fromNumber",
1682 default,
1683 skip_serializing_if = "Option::is_none"
1684 )]
1685 pub from_number: Option<String>,
1686}
1687
1688#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1690pub struct CreateCalendarResourceDTO {
1691 #[serde(rename = "locationId")]
1693 pub location_id: String,
1694 pub name: String,
1696 pub description: String,
1698 pub quantity: f64,
1701 #[serde(rename = "outOfService")]
1704 pub out_of_service: f64,
1705 pub capacity: f64,
1708 #[serde(rename = "calendarIds", default, skip_serializing_if = "Vec::is_empty")]
1712 pub calendar_ids: Vec<String>,
1713}
1714
1715#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1717pub struct CreateScheduleDTO {
1718 #[serde(default, skip_serializing_if = "Vec::is_empty")]
1720 pub rules: Vec<ScheduleRuleDTO>,
1721 pub timezone: String,
1724 #[serde(rename = "locationId")]
1727 pub location_id: String,
1728 pub name: String,
1731 #[serde(rename = "userId")]
1734 pub user_id: String,
1735 #[serde(rename = "calendarIds", default, skip_serializing_if = "Vec::is_empty")]
1737 pub calendar_ids: Vec<String>,
1738}
1739
1740#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1742pub struct CreatedOrUpdatedBy {
1743 #[serde(rename = "userId", default, skip_serializing_if = "Option::is_none")]
1745 pub user_id: Option<String>,
1746 pub source: String,
1749}
1750
1751#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1753pub struct DeleteAppointmentSchema {
1754 #[serde(flatten)]
1756 pub extra: serde_json::Map<String, serde_json::Value>,
1757}
1758
1759#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1761pub struct DeleteEventSuccessfulResponseDto {
1762 #[serde(default, skip_serializing_if = "Option::is_none")]
1763 pub succeeded: Option<bool>,
1764}
1765
1766#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1768pub struct DeleteNoteSuccessfulResponseDto {
1769 #[serde(default, skip_serializing_if = "Option::is_none")]
1770 pub success: Option<bool>,
1771}
1772
1773#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1775pub struct GetAllSchedulesResponseDTO {
1776 #[serde(default, skip_serializing_if = "Vec::is_empty")]
1779 pub schedules: Vec<ScheduleObjectResponseDTO>,
1780}
1781
1782#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1784pub struct GetCalendarEventSuccessfulResponseDTO {
1785 #[serde(default, skip_serializing_if = "Option::is_none")]
1786 pub event: Option<CalendarEventDTO>,
1787}
1788
1789#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1791pub struct GetCalendarEventsSuccessfulResponseDTO {
1792 #[serde(default, skip_serializing_if = "Vec::is_empty")]
1793 pub events: Vec<CalendarEventDTO>,
1794}
1795
1796#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1798pub struct GetCreateUpdateNoteSuccessfulResponseDto {
1799 #[serde(default, skip_serializing_if = "Option::is_none")]
1800 pub note: Option<GetNoteSchema>,
1801}
1802
1803#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1805pub struct GetNoteSchema {
1806 #[serde(default, skip_serializing_if = "Option::is_none")]
1807 pub id: Option<String>,
1808 #[serde(default, skip_serializing_if = "Option::is_none")]
1809 pub body: Option<String>,
1810 #[serde(rename = "userId", default, skip_serializing_if = "Option::is_none")]
1811 pub user_id: Option<String>,
1812 #[serde(rename = "dateAdded", default, skip_serializing_if = "Option::is_none")]
1813 pub date_added: Option<String>,
1814 #[serde(rename = "contactId", default, skip_serializing_if = "Option::is_none")]
1815 pub contact_id: Option<String>,
1816 #[serde(rename = "createdBy", default, skip_serializing_if = "Option::is_none")]
1817 pub created_by: Option<NoteCreatedBySchema>,
1818}
1819
1820#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1822pub struct GetNotesListSuccessfulResponseDto {
1823 #[serde(default, skip_serializing_if = "Vec::is_empty")]
1824 pub notes: Vec<GetNoteSchema>,
1825 #[serde(rename = "hasMore", default, skip_serializing_if = "Option::is_none")]
1826 pub has_more: Option<bool>,
1827}
1828
1829#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1831pub struct GroupCreateDTO {
1832 #[serde(rename = "locationId")]
1834 pub location_id: String,
1835 pub name: String,
1837 pub description: String,
1839 pub slug: String,
1841 #[serde(rename = "isActive", default, skip_serializing_if = "Option::is_none")]
1842 pub is_active: Option<bool>,
1843}
1844
1845#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1847pub struct GroupCreateSuccessfulResponseDTO {
1848 #[serde(default, skip_serializing_if = "Option::is_none")]
1849 pub group: Option<GroupDTO>,
1850}
1851
1852#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1854pub struct GroupDTO {
1855 #[serde(rename = "locationId")]
1857 pub location_id: String,
1858 pub name: String,
1860 pub description: String,
1862 pub slug: String,
1864 #[serde(rename = "isActive", default, skip_serializing_if = "Option::is_none")]
1865 pub is_active: Option<bool>,
1866 #[serde(default, skip_serializing_if = "Option::is_none")]
1867 pub id: Option<String>,
1868}
1869
1870#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1872pub struct GroupStatusUpdateParams {
1873 #[serde(rename = "isActive")]
1876 pub is_active: bool,
1877}
1878
1879#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1881pub struct GroupSuccessfulResponseDTO {
1882 #[serde(default, skip_serializing_if = "Option::is_none")]
1884 pub success: Option<bool>,
1885}
1886
1887#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1889pub struct GroupUpdateDTO {
1890 pub name: String,
1892 pub description: String,
1894 pub slug: String,
1896}
1897
1898#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1900pub struct Hour {
1901 #[serde(rename = "openHour")]
1903 pub open_hour: f64,
1904 #[serde(rename = "openMinute")]
1906 pub open_minute: f64,
1907 #[serde(rename = "closeHour")]
1909 pub close_hour: f64,
1910 #[serde(rename = "closeMinute")]
1912 pub close_minute: f64,
1913}
1914
1915#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1917pub struct LocationConfiguration {
1918 pub kind: String,
1924 #[serde(default, skip_serializing_if = "Option::is_none")]
1927 pub location: Option<String>,
1928}
1929
1930#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1932pub struct LocationConfigurationResponse {
1933 pub kind: String,
1939 #[serde(default, skip_serializing_if = "Option::is_none")]
1942 pub location: Option<String>,
1943 #[serde(rename = "meetingId", default, skip_serializing_if = "Option::is_none")]
1945 pub meeting_id: Option<String>,
1946}
1947
1948#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1950pub struct LookBusyConfiguration {
1951 pub enabled: bool,
1954 #[serde(rename = "LookBusyPercentage")]
1957 pub look_busy_percentage: f64,
1958}
1959
1960#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1962pub struct NoteCreatedBySchema {
1963 #[serde(default, skip_serializing_if = "Option::is_none")]
1964 pub id: Option<String>,
1965 #[serde(default, skip_serializing_if = "Option::is_none")]
1966 pub name: Option<String>,
1967}
1968
1969#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1971pub struct NotesDTO {
1972 #[serde(rename = "userId", default, skip_serializing_if = "Option::is_none")]
1973 pub user_id: Option<String>,
1974 pub body: String,
1977}
1978
1979#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1981pub struct OpenHour {
1982 #[serde(
1984 rename = "daysOfTheWeek",
1985 default,
1986 skip_serializing_if = "Vec::is_empty"
1987 )]
1988 pub days_of_the_week: Vec<f64>,
1989 #[serde(default, skip_serializing_if = "Vec::is_empty")]
1991 pub hours: Vec<Hour>,
1992}
1993
1994#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1996pub struct Recurring {
1997 #[serde(default, skip_serializing_if = "Option::is_none")]
1999 pub freq: Option<String>,
2000 #[serde(default, skip_serializing_if = "Option::is_none")]
2002 pub count: Option<f64>,
2003 #[serde(
2006 rename = "bookingOption",
2007 default,
2008 skip_serializing_if = "Option::is_none"
2009 )]
2010 pub booking_option: Option<String>,
2011 #[serde(
2014 rename = "bookingOverlapDefaultStatus",
2015 default,
2016 skip_serializing_if = "Option::is_none"
2017 )]
2018 pub booking_overlap_default_status: Option<String>,
2019}
2020
2021#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2023pub struct ResourceDeleteResponseDTO {
2024 #[serde(default, skip_serializing_if = "Option::is_none")]
2026 pub success: Option<bool>,
2027}
2028
2029#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2031pub struct ScheduleIntervalDTO {
2032 #[serde(rename = "from")]
2035 pub from_: String,
2036 pub to: String,
2039}
2040
2041#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2043pub struct ScheduleObjectResponseDTO {
2044 pub id: String,
2047 pub name: String,
2050 #[serde(rename = "locationId")]
2053 pub location_id: String,
2054 #[serde(default, skip_serializing_if = "Vec::is_empty")]
2057 pub rules: Vec<ScheduleRuleDTO>,
2058 pub timezone: String,
2061 #[serde(rename = "dateAdded")]
2064 pub date_added: String,
2065 #[serde(rename = "dateUpdated")]
2068 pub date_updated: String,
2069 #[serde(rename = "userId")]
2072 pub user_id: String,
2073 #[serde(rename = "calendarIds", default, skip_serializing_if = "Vec::is_empty")]
2075 pub calendar_ids: Vec<String>,
2076 pub deleted: bool,
2079}
2080
2081#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2083pub struct ScheduleResponseDTO {
2084 pub schedule: ScheduleObjectResponseDTO,
2087}
2088
2089#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2091pub struct ScheduleRuleDTO {
2092 #[serde(rename = "type")]
2096 pub type_: String,
2097 #[serde(default, skip_serializing_if = "Vec::is_empty")]
2100 pub intervals: Vec<ScheduleIntervalDTO>,
2101 #[serde(default, skip_serializing_if = "Option::is_none")]
2103 pub date: Option<String>,
2104 #[serde(default, skip_serializing_if = "Option::is_none")]
2108 pub day: Option<String>,
2109}
2110
2111#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2113pub struct SchedulesDTO {
2114 #[serde(
2115 rename = "timeOffset",
2116 default,
2117 skip_serializing_if = "Option::is_none"
2118 )]
2119 pub time_offset: Option<f64>,
2120 #[serde(default, skip_serializing_if = "Option::is_none")]
2121 pub unit: Option<String>,
2122}
2123
2124#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2126pub struct SlotsSchema {
2127 #[serde(default, skip_serializing_if = "Vec::is_empty")]
2129 pub slots: Vec<String>,
2130}
2131
2132#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2134pub struct TeamMember {
2135 #[serde(rename = "userId")]
2137 pub user_id: String,
2138 #[serde(default, skip_serializing_if = "Option::is_none")]
2140 pub priority: Option<String>,
2141 #[serde(
2144 rename = "meetingLocationType",
2145 default,
2146 skip_serializing_if = "Option::is_none"
2147 )]
2148 pub meeting_location_type: Option<String>,
2149 #[serde(
2151 rename = "meetingLocation",
2152 default,
2153 skip_serializing_if = "Option::is_none"
2154 )]
2155 pub meeting_location: Option<String>,
2156 #[serde(rename = "isPrimary", default, skip_serializing_if = "Option::is_none")]
2159 pub is_primary: Option<bool>,
2160 #[serde(
2164 rename = "locationConfigurations",
2165 default,
2166 skip_serializing_if = "Vec::is_empty"
2167 )]
2168 pub location_configurations: Vec<LocationConfiguration>,
2169}
2170
2171#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2173pub struct TeamMemberResponse {
2174 #[serde(rename = "userId")]
2176 pub user_id: String,
2177 #[serde(default, skip_serializing_if = "Option::is_none")]
2179 pub priority: Option<String>,
2180 #[serde(
2183 rename = "meetingLocationType",
2184 default,
2185 skip_serializing_if = "Option::is_none"
2186 )]
2187 pub meeting_location_type: Option<String>,
2188 #[serde(
2190 rename = "meetingLocation",
2191 default,
2192 skip_serializing_if = "Option::is_none"
2193 )]
2194 pub meeting_location: Option<String>,
2195 #[serde(rename = "isPrimary", default, skip_serializing_if = "Option::is_none")]
2198 pub is_primary: Option<bool>,
2199 #[serde(
2201 rename = "locationConfigurations",
2202 default,
2203 skip_serializing_if = "Vec::is_empty"
2204 )]
2205 pub location_configurations: Vec<LocationConfigurationResponse>,
2206}
2207
2208#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2210pub struct UpdateAvailability {
2211 pub date: String,
2215 #[serde(default, skip_serializing_if = "Vec::is_empty")]
2217 pub hours: Vec<Hour>,
2218 #[serde(default, skip_serializing_if = "Option::is_none")]
2219 pub deleted: Option<bool>,
2220 #[serde(default, skip_serializing_if = "Option::is_none")]
2223 pub id: Option<String>,
2224}
2225
2226#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2228pub struct UpdateCalendarNotificationsDTO {
2229 #[serde(
2233 rename = "receiverType",
2234 default,
2235 skip_serializing_if = "Option::is_none"
2236 )]
2237 pub receiver_type: Option<String>,
2238 #[serde(
2240 rename = "additionalEmailIds",
2241 default,
2242 skip_serializing_if = "Vec::is_empty"
2243 )]
2244 pub additional_email_ids: Vec<String>,
2245 #[serde(
2247 rename = "additionalPhoneNumbers",
2248 default,
2249 skip_serializing_if = "Vec::is_empty"
2250 )]
2251 pub additional_phone_numbers: Vec<String>,
2252 #[serde(
2255 rename = "selectedUsers",
2256 default,
2257 skip_serializing_if = "Vec::is_empty"
2258 )]
2259 pub selected_users: Vec<String>,
2260 #[serde(default, skip_serializing_if = "Option::is_none")]
2263 pub channel: Option<String>,
2264 #[serde(
2268 rename = "notificationType",
2269 default,
2270 skip_serializing_if = "Option::is_none"
2271 )]
2272 pub notification_type: Option<String>,
2273 #[serde(rename = "isActive", default, skip_serializing_if = "Option::is_none")]
2275 pub is_active: Option<bool>,
2276 #[serde(default, skip_serializing_if = "Option::is_none")]
2278 pub deleted: Option<bool>,
2279 #[serde(
2281 rename = "templateId",
2282 default,
2283 skip_serializing_if = "Option::is_none"
2284 )]
2285 pub template_id: Option<String>,
2286 #[serde(default, skip_serializing_if = "Option::is_none")]
2288 pub body: Option<String>,
2289 #[serde(default, skip_serializing_if = "Option::is_none")]
2291 pub subject: Option<String>,
2292 #[serde(rename = "afterTime", default, skip_serializing_if = "Vec::is_empty")]
2295 pub after_time: Vec<SchedulesDTO>,
2296 #[serde(rename = "beforeTime", default, skip_serializing_if = "Vec::is_empty")]
2299 pub before_time: Vec<SchedulesDTO>,
2300 #[serde(
2302 rename = "fromAddress",
2303 default,
2304 skip_serializing_if = "Option::is_none"
2305 )]
2306 pub from_address: Option<String>,
2307 #[serde(
2309 rename = "fromNumber",
2310 default,
2311 skip_serializing_if = "Option::is_none"
2312 )]
2313 pub from_number: Option<String>,
2314 #[serde(rename = "fromName", default, skip_serializing_if = "Option::is_none")]
2316 pub from_name: Option<String>,
2317}
2318
2319#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2321pub struct UpdateCalendarResourceDTO {
2322 #[serde(
2323 rename = "locationId",
2324 default,
2325 skip_serializing_if = "Option::is_none"
2326 )]
2327 pub location_id: Option<String>,
2328 #[serde(default, skip_serializing_if = "Option::is_none")]
2329 pub name: Option<String>,
2330 #[serde(default, skip_serializing_if = "Option::is_none")]
2331 pub description: Option<String>,
2332 #[serde(default, skip_serializing_if = "Option::is_none")]
2334 pub quantity: Option<f64>,
2335 #[serde(
2337 rename = "outOfService",
2338 default,
2339 skip_serializing_if = "Option::is_none"
2340 )]
2341 pub out_of_service: Option<f64>,
2342 #[serde(default, skip_serializing_if = "Option::is_none")]
2344 pub capacity: Option<f64>,
2345 #[serde(rename = "calendarIds", default, skip_serializing_if = "Vec::is_empty")]
2348 pub calendar_ids: Vec<String>,
2349 #[serde(rename = "isActive", default, skip_serializing_if = "Option::is_none")]
2350 pub is_active: Option<bool>,
2351}
2352
2353#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2355pub struct UpdateScheduleDTO {
2356 #[serde(default, skip_serializing_if = "Option::is_none")]
2358 pub name: Option<String>,
2359 #[serde(default, skip_serializing_if = "Vec::is_empty")]
2361 pub rules: Vec<ScheduleRuleDTO>,
2362 #[serde(default, skip_serializing_if = "Option::is_none")]
2364 pub timezone: Option<String>,
2365}
2366
2367#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2369pub struct ValidateGroupSlugPostBody {
2370 #[serde(rename = "locationId")]
2373 pub location_id: String,
2374 pub slug: String,
2377}
2378
2379#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2381pub struct ValidateGroupSlugSuccessResponseDTO {
2382 pub available: bool,
2384}