1#![allow(
14 missing_docs,
15 clippy::doc_lazy_continuation,
16 clippy::doc_overindented_list_items
17)]
18
19use serde::{Deserialize, Serialize};
20
21#[derive(Debug, Clone, Default, Serialize, Deserialize)]
23pub struct AllGroupsSuccessfulResponseDTO {
24 #[serde(default, skip_serializing_if = "Vec::is_empty")]
25 pub groups: Vec<GroupDTO>,
26}
27
28#[derive(Debug, Clone, Default, Serialize, Deserialize)]
30pub struct AppointmentCreateSchema {
31 #[serde(default, skip_serializing_if = "Option::is_none")]
33 pub title: Option<String>,
34 #[serde(
38 rename = "meetingLocationType",
39 default,
40 skip_serializing_if = "Option::is_none"
41 )]
42 pub meeting_location_type: Option<String>,
43 #[serde(
46 rename = "meetingLocationId",
47 default,
48 skip_serializing_if = "Option::is_none"
49 )]
50 pub meeting_location_id: Option<String>,
51 #[serde(
54 rename = "overrideLocationConfig",
55 default,
56 skip_serializing_if = "Option::is_none"
57 )]
58 pub override_location_config: Option<bool>,
59 #[serde(
61 rename = "appointmentStatus",
62 default,
63 skip_serializing_if = "Option::is_none"
64 )]
65 pub appointment_status: Option<String>,
66 #[serde(
68 rename = "assignedUserId",
69 default,
70 skip_serializing_if = "Option::is_none"
71 )]
72 pub assigned_user_id: Option<String>,
73 #[serde(default, skip_serializing_if = "Option::is_none")]
75 pub description: Option<String>,
76 #[serde(default, skip_serializing_if = "Option::is_none")]
78 pub address: Option<String>,
79 #[serde(
81 rename = "ignoreDateRange",
82 default,
83 skip_serializing_if = "Option::is_none"
84 )]
85 pub ignore_date_range: Option<bool>,
86 #[serde(rename = "toNotify", default, skip_serializing_if = "Option::is_none")]
88 pub to_notify: Option<bool>,
89 #[serde(
92 rename = "ignoreFreeSlotValidation",
93 default,
94 skip_serializing_if = "Option::is_none"
95 )]
96 pub ignore_free_slot_validation: Option<bool>,
97 #[serde(default, skip_serializing_if = "Option::is_none")]
101 pub rrule: Option<String>,
102 #[serde(rename = "calendarId")]
105 pub calendar_id: String,
106 #[serde(rename = "locationId")]
109 pub location_id: String,
110 #[serde(rename = "contactId")]
113 pub contact_id: String,
114 #[serde(rename = "startTime")]
117 pub start_time: String,
118 #[serde(rename = "endTime", default, skip_serializing_if = "Option::is_none")]
120 pub end_time: Option<String>,
121}
122
123#[derive(Debug, Clone, Default, Serialize, Deserialize)]
125pub struct AppointmentEditSchema {
126 #[serde(default, skip_serializing_if = "Option::is_none")]
128 pub title: Option<String>,
129 #[serde(
133 rename = "meetingLocationType",
134 default,
135 skip_serializing_if = "Option::is_none"
136 )]
137 pub meeting_location_type: Option<String>,
138 #[serde(
141 rename = "meetingLocationId",
142 default,
143 skip_serializing_if = "Option::is_none"
144 )]
145 pub meeting_location_id: Option<String>,
146 #[serde(
149 rename = "overrideLocationConfig",
150 default,
151 skip_serializing_if = "Option::is_none"
152 )]
153 pub override_location_config: Option<bool>,
154 #[serde(
156 rename = "appointmentStatus",
157 default,
158 skip_serializing_if = "Option::is_none"
159 )]
160 pub appointment_status: Option<String>,
161 #[serde(
163 rename = "assignedUserId",
164 default,
165 skip_serializing_if = "Option::is_none"
166 )]
167 pub assigned_user_id: Option<String>,
168 #[serde(default, skip_serializing_if = "Option::is_none")]
170 pub description: Option<String>,
171 #[serde(default, skip_serializing_if = "Option::is_none")]
173 pub address: Option<String>,
174 #[serde(
176 rename = "ignoreDateRange",
177 default,
178 skip_serializing_if = "Option::is_none"
179 )]
180 pub ignore_date_range: Option<bool>,
181 #[serde(rename = "toNotify", default, skip_serializing_if = "Option::is_none")]
183 pub to_notify: Option<bool>,
184 #[serde(
187 rename = "ignoreFreeSlotValidation",
188 default,
189 skip_serializing_if = "Option::is_none"
190 )]
191 pub ignore_free_slot_validation: Option<bool>,
192 #[serde(default, skip_serializing_if = "Option::is_none")]
196 pub rrule: Option<String>,
197 #[serde(
199 rename = "calendarId",
200 default,
201 skip_serializing_if = "Option::is_none"
202 )]
203 pub calendar_id: Option<String>,
204 #[serde(rename = "startTime", default, skip_serializing_if = "Option::is_none")]
206 pub start_time: Option<String>,
207 #[serde(rename = "endTime", default, skip_serializing_if = "Option::is_none")]
209 pub end_time: Option<String>,
210}
211
212#[derive(Debug, Clone, Default, Serialize, Deserialize)]
214pub struct AppointmentSchemaResponse {
215 #[serde(rename = "calendarId")]
218 pub calendar_id: String,
219 #[serde(rename = "locationId")]
222 pub location_id: String,
223 #[serde(rename = "contactId")]
226 pub contact_id: String,
227 #[serde(rename = "startTime", default, skip_serializing_if = "Option::is_none")]
229 pub start_time: Option<String>,
230 #[serde(rename = "endTime", default, skip_serializing_if = "Option::is_none")]
232 pub end_time: Option<String>,
233 #[serde(default, skip_serializing_if = "Option::is_none")]
235 pub title: Option<String>,
236 #[serde(
238 rename = "meetingLocationType",
239 default,
240 skip_serializing_if = "Option::is_none"
241 )]
242 pub meeting_location_type: Option<String>,
243 #[serde(
246 rename = "appointmentStatus",
247 default,
248 skip_serializing_if = "Option::is_none"
249 )]
250 pub appointment_status: Option<String>,
251 #[serde(
253 rename = "assignedUserId",
254 default,
255 skip_serializing_if = "Option::is_none"
256 )]
257 pub assigned_user_id: Option<String>,
258 #[serde(default, skip_serializing_if = "Option::is_none")]
260 pub address: Option<String>,
261 #[serde(
263 rename = "isRecurring",
264 default,
265 skip_serializing_if = "Option::is_none"
266 )]
267 pub is_recurring: Option<bool>,
268 #[serde(default, skip_serializing_if = "Option::is_none")]
270 pub rrule: Option<String>,
271 pub id: String,
274}
275
276#[derive(Debug, Clone, Default, Serialize, Deserialize)]
278pub struct Availability {
279 pub date: String,
283 #[serde(default, skip_serializing_if = "Vec::is_empty")]
285 pub hours: Vec<Hour>,
286 #[serde(default, skip_serializing_if = "Option::is_none")]
287 pub deleted: Option<bool>,
288}
289
290#[derive(Debug, Clone, Default, Serialize, Deserialize)]
292pub struct BlockSlotCreateRequestDTO {
293 #[serde(default, skip_serializing_if = "Option::is_none")]
295 pub title: Option<String>,
296 #[serde(rename = "calendarId")]
299 pub calendar_id: String,
300 #[serde(
302 rename = "assignedUserId",
303 default,
304 skip_serializing_if = "Option::is_none"
305 )]
306 pub assigned_user_id: Option<String>,
307 #[serde(rename = "locationId")]
310 pub location_id: String,
311 #[serde(rename = "startTime", default, skip_serializing_if = "Option::is_none")]
313 pub start_time: Option<String>,
314 #[serde(rename = "endTime", default, skip_serializing_if = "Option::is_none")]
316 pub end_time: Option<String>,
317}
318
319#[derive(Debug, Clone, Default, Serialize, Deserialize)]
321pub struct BlockSlotEditRequestDTO {
322 #[serde(default, skip_serializing_if = "Option::is_none")]
324 pub title: Option<String>,
325 #[serde(rename = "calendarId")]
328 pub calendar_id: String,
329 #[serde(
331 rename = "assignedUserId",
332 default,
333 skip_serializing_if = "Option::is_none"
334 )]
335 pub assigned_user_id: Option<String>,
336 #[serde(rename = "locationId")]
339 pub location_id: String,
340 #[serde(rename = "startTime", default, skip_serializing_if = "Option::is_none")]
342 pub start_time: Option<String>,
343 #[serde(rename = "endTime", default, skip_serializing_if = "Option::is_none")]
345 pub end_time: Option<String>,
346}
347
348#[derive(Debug, Clone, Default, Serialize, Deserialize)]
350pub struct BlockedSlotSuccessfulResponseDto {
351 pub id: String,
354 #[serde(rename = "locationId")]
357 pub location_id: String,
358 pub title: String,
361 #[serde(rename = "startTime")]
364 pub start_time: serde_json::Value,
365 #[serde(rename = "endTime")]
368 pub end_time: serde_json::Value,
369 #[serde(
371 rename = "calendarId",
372 default,
373 skip_serializing_if = "Option::is_none"
374 )]
375 pub calendar_id: Option<String>,
376 #[serde(
378 rename = "assignedUserId",
379 default,
380 skip_serializing_if = "Option::is_none"
381 )]
382 pub assigned_user_id: Option<String>,
383}
384
385#[derive(Debug, Clone, Default, Serialize, Deserialize)]
387pub struct CalendarByIdSuccessfulResponseDTO {
388 pub calendar: CalendarDTO,
390}
391
392#[derive(Debug, Clone, Default, Serialize, Deserialize)]
394pub struct CalendarCreateDTO {
395 #[serde(rename = "isActive", default, skip_serializing_if = "Option::is_none")]
397 pub is_active: Option<bool>,
398 #[serde(default, skip_serializing_if = "Vec::is_empty")]
400 pub notifications: Vec<CalendarNotification>,
401 #[serde(rename = "locationId")]
403 pub location_id: String,
404 #[serde(rename = "groupId", default, skip_serializing_if = "Option::is_none")]
406 pub group_id: Option<String>,
407 #[serde(rename = "teamMembers", default, skip_serializing_if = "Vec::is_empty")]
410 pub team_members: Vec<TeamMember>,
411 #[serde(rename = "eventType", default, skip_serializing_if = "Option::is_none")]
414 pub event_type: Option<String>,
415 pub name: String,
417 #[serde(default, skip_serializing_if = "Option::is_none")]
418 pub description: Option<String>,
419 #[serde(default, skip_serializing_if = "Option::is_none")]
420 pub slug: Option<String>,
421 #[serde(
422 rename = "widgetSlug",
423 default,
424 skip_serializing_if = "Option::is_none"
425 )]
426 pub widget_slug: Option<String>,
427 #[serde(
430 rename = "calendarType",
431 default,
432 skip_serializing_if = "Option::is_none"
433 )]
434 pub calendar_type: Option<String>,
435 #[serde(
438 rename = "widgetType",
439 default,
440 skip_serializing_if = "Option::is_none"
441 )]
442 pub widget_type: Option<String>,
443 #[serde(
444 rename = "eventTitle",
445 default,
446 skip_serializing_if = "Option::is_none"
447 )]
448 pub event_title: Option<String>,
449 #[serde(
450 rename = "eventColor",
451 default,
452 skip_serializing_if = "Option::is_none"
453 )]
454 pub event_color: Option<String>,
455 #[serde(
458 rename = "meetingLocation",
459 default,
460 skip_serializing_if = "Option::is_none"
461 )]
462 pub meeting_location: Option<String>,
463 #[serde(
465 rename = "locationConfigurations",
466 default,
467 skip_serializing_if = "Vec::is_empty"
468 )]
469 pub location_configurations: Vec<LocationConfiguration>,
470 #[serde(
472 rename = "slotDuration",
473 default,
474 skip_serializing_if = "Option::is_none"
475 )]
476 pub slot_duration: Option<f64>,
477 #[serde(
480 rename = "slotDurationUnit",
481 default,
482 skip_serializing_if = "Option::is_none"
483 )]
484 pub slot_duration_unit: Option<String>,
485 #[serde(
488 rename = "slotInterval",
489 default,
490 skip_serializing_if = "Option::is_none"
491 )]
492 pub slot_interval: Option<f64>,
493 #[serde(
496 rename = "slotIntervalUnit",
497 default,
498 skip_serializing_if = "Option::is_none"
499 )]
500 pub slot_interval_unit: Option<String>,
501 #[serde(
504 rename = "slotBuffer",
505 default,
506 skip_serializing_if = "Option::is_none"
507 )]
508 pub slot_buffer: Option<f64>,
509 #[serde(
512 rename = "slotBufferUnit",
513 default,
514 skip_serializing_if = "Option::is_none"
515 )]
516 pub slot_buffer_unit: Option<String>,
517 #[serde(rename = "preBuffer", default, skip_serializing_if = "Option::is_none")]
520 pub pre_buffer: Option<f64>,
521 #[serde(
524 rename = "preBufferUnit",
525 default,
526 skip_serializing_if = "Option::is_none"
527 )]
528 pub pre_buffer_unit: Option<String>,
529 #[serde(
532 rename = "appoinmentPerSlot",
533 default,
534 skip_serializing_if = "Option::is_none"
535 )]
536 pub appoinment_per_slot: Option<f64>,
537 #[serde(
539 rename = "appoinmentPerDay",
540 default,
541 skip_serializing_if = "Option::is_none"
542 )]
543 pub appoinment_per_day: Option<f64>,
544 #[serde(
546 rename = "allowBookingAfter",
547 default,
548 skip_serializing_if = "Option::is_none"
549 )]
550 pub allow_booking_after: Option<f64>,
551 #[serde(
554 rename = "allowBookingAfterUnit",
555 default,
556 skip_serializing_if = "Option::is_none"
557 )]
558 pub allow_booking_after_unit: Option<String>,
559 #[serde(
561 rename = "allowBookingFor",
562 default,
563 skip_serializing_if = "Option::is_none"
564 )]
565 pub allow_booking_for: Option<f64>,
566 #[serde(
569 rename = "allowBookingForUnit",
570 default,
571 skip_serializing_if = "Option::is_none"
572 )]
573 pub allow_booking_for_unit: Option<String>,
574 #[serde(rename = "openHours", default, skip_serializing_if = "Vec::is_empty")]
577 pub open_hours: Vec<OpenHour>,
578 #[serde(
581 rename = "enableRecurring",
582 default,
583 skip_serializing_if = "Option::is_none"
584 )]
585 pub enable_recurring: Option<bool>,
586 #[serde(default, skip_serializing_if = "Option::is_none")]
587 pub recurring: Option<Recurring>,
588 #[serde(rename = "formId", default, skip_serializing_if = "Option::is_none")]
589 pub form_id: Option<String>,
590 #[serde(
591 rename = "stickyContact",
592 default,
593 skip_serializing_if = "Option::is_none"
594 )]
595 pub sticky_contact: Option<bool>,
596 #[serde(
597 rename = "isLivePaymentMode",
598 default,
599 skip_serializing_if = "Option::is_none"
600 )]
601 pub is_live_payment_mode: Option<bool>,
602 #[serde(
603 rename = "autoConfirm",
604 default,
605 skip_serializing_if = "Option::is_none"
606 )]
607 pub auto_confirm: Option<bool>,
608 #[serde(
609 rename = "shouldSendAlertEmailsToAssignedMember",
610 default,
611 skip_serializing_if = "Option::is_none"
612 )]
613 pub should_send_alert_emails_to_assigned_member: Option<bool>,
614 #[serde(
615 rename = "alertEmail",
616 default,
617 skip_serializing_if = "Option::is_none"
618 )]
619 pub alert_email: Option<String>,
620 #[serde(
621 rename = "googleInvitationEmails",
622 default,
623 skip_serializing_if = "Option::is_none"
624 )]
625 pub google_invitation_emails: Option<bool>,
626 #[serde(
627 rename = "allowReschedule",
628 default,
629 skip_serializing_if = "Option::is_none"
630 )]
631 pub allow_reschedule: Option<bool>,
632 #[serde(
633 rename = "allowCancellation",
634 default,
635 skip_serializing_if = "Option::is_none"
636 )]
637 pub allow_cancellation: Option<bool>,
638 #[serde(
639 rename = "shouldAssignContactToTeamMember",
640 default,
641 skip_serializing_if = "Option::is_none"
642 )]
643 pub should_assign_contact_to_team_member: Option<bool>,
644 #[serde(
645 rename = "shouldSkipAssigningContactForExisting",
646 default,
647 skip_serializing_if = "Option::is_none"
648 )]
649 pub should_skip_assigning_contact_for_existing: Option<bool>,
650 #[serde(default, skip_serializing_if = "Option::is_none")]
651 pub notes: Option<String>,
652 #[serde(rename = "pixelId", default, skip_serializing_if = "Option::is_none")]
653 pub pixel_id: Option<String>,
654 #[serde(
656 rename = "formSubmitType",
657 default,
658 skip_serializing_if = "Option::is_none"
659 )]
660 pub form_submit_type: Option<String>,
661 #[serde(
662 rename = "formSubmitRedirectURL",
663 default,
664 skip_serializing_if = "Option::is_none"
665 )]
666 pub form_submit_redirect_url: Option<String>,
667 #[serde(
668 rename = "formSubmitThanksMessage",
669 default,
670 skip_serializing_if = "Option::is_none"
671 )]
672 pub form_submit_thanks_message: Option<String>,
673 #[serde(
678 rename = "availabilityType",
679 default,
680 skip_serializing_if = "Option::is_none"
681 )]
682 pub availability_type: Option<String>,
683 #[serde(default, skip_serializing_if = "Vec::is_empty")]
686 pub availabilities: Vec<Availability>,
687 #[serde(rename = "guestType", default, skip_serializing_if = "Option::is_none")]
689 pub guest_type: Option<String>,
690 #[serde(
691 rename = "consentLabel",
692 default,
693 skip_serializing_if = "Option::is_none"
694 )]
695 pub consent_label: Option<String>,
696 #[serde(
697 rename = "calendarCoverImage",
698 default,
699 skip_serializing_if = "Option::is_none"
700 )]
701 pub calendar_cover_image: Option<String>,
702 #[serde(
704 rename = "lookBusyConfig",
705 default,
706 skip_serializing_if = "Option::is_none"
707 )]
708 pub look_busy_config: Option<LookBusyConfiguration>,
709}
710
711#[derive(Debug, Clone, Default, Serialize, Deserialize)]
713pub struct CalendarDTO {
714 #[serde(rename = "isActive", default, skip_serializing_if = "Option::is_none")]
716 pub is_active: Option<bool>,
717 #[serde(default, skip_serializing_if = "Vec::is_empty")]
719 pub notifications: Vec<CalendarNotification>,
720 #[serde(rename = "locationId")]
722 pub location_id: String,
723 #[serde(rename = "groupId", default, skip_serializing_if = "Option::is_none")]
725 pub group_id: Option<String>,
726 #[serde(rename = "teamMembers", default, skip_serializing_if = "Vec::is_empty")]
729 pub team_members: Vec<TeamMemberResponse>,
730 #[serde(rename = "eventType", default, skip_serializing_if = "Option::is_none")]
733 pub event_type: Option<String>,
734 pub name: String,
736 #[serde(default, skip_serializing_if = "Option::is_none")]
737 pub description: Option<String>,
738 #[serde(default, skip_serializing_if = "Option::is_none")]
739 pub slug: Option<String>,
740 #[serde(
741 rename = "widgetSlug",
742 default,
743 skip_serializing_if = "Option::is_none"
744 )]
745 pub widget_slug: Option<String>,
746 #[serde(
749 rename = "calendarType",
750 default,
751 skip_serializing_if = "Option::is_none"
752 )]
753 pub calendar_type: Option<String>,
754 #[serde(
757 rename = "widgetType",
758 default,
759 skip_serializing_if = "Option::is_none"
760 )]
761 pub widget_type: Option<String>,
762 #[serde(
763 rename = "eventTitle",
764 default,
765 skip_serializing_if = "Option::is_none"
766 )]
767 pub event_title: Option<String>,
768 #[serde(
769 rename = "eventColor",
770 default,
771 skip_serializing_if = "Option::is_none"
772 )]
773 pub event_color: Option<String>,
774 #[serde(
777 rename = "meetingLocation",
778 default,
779 skip_serializing_if = "Option::is_none"
780 )]
781 pub meeting_location: Option<String>,
782 #[serde(
784 rename = "locationConfigurations",
785 default,
786 skip_serializing_if = "Vec::is_empty"
787 )]
788 pub location_configurations: Vec<LocationConfigurationResponse>,
789 #[serde(
791 rename = "slotDuration",
792 default,
793 skip_serializing_if = "Option::is_none"
794 )]
795 pub slot_duration: Option<f64>,
796 #[serde(
799 rename = "slotDurationUnit",
800 default,
801 skip_serializing_if = "Option::is_none"
802 )]
803 pub slot_duration_unit: Option<String>,
804 #[serde(
807 rename = "slotInterval",
808 default,
809 skip_serializing_if = "Option::is_none"
810 )]
811 pub slot_interval: Option<f64>,
812 #[serde(
815 rename = "slotIntervalUnit",
816 default,
817 skip_serializing_if = "Option::is_none"
818 )]
819 pub slot_interval_unit: Option<String>,
820 #[serde(
823 rename = "slotBuffer",
824 default,
825 skip_serializing_if = "Option::is_none"
826 )]
827 pub slot_buffer: Option<f64>,
828 #[serde(
831 rename = "slotBufferUnit",
832 default,
833 skip_serializing_if = "Option::is_none"
834 )]
835 pub slot_buffer_unit: Option<String>,
836 #[serde(rename = "preBuffer", default, skip_serializing_if = "Option::is_none")]
839 pub pre_buffer: Option<f64>,
840 #[serde(
843 rename = "preBufferUnit",
844 default,
845 skip_serializing_if = "Option::is_none"
846 )]
847 pub pre_buffer_unit: Option<String>,
848 #[serde(
851 rename = "appoinmentPerSlot",
852 default,
853 skip_serializing_if = "Option::is_none"
854 )]
855 pub appoinment_per_slot: Option<f64>,
856 #[serde(
858 rename = "appoinmentPerDay",
859 default,
860 skip_serializing_if = "Option::is_none"
861 )]
862 pub appoinment_per_day: Option<f64>,
863 #[serde(
865 rename = "allowBookingAfter",
866 default,
867 skip_serializing_if = "Option::is_none"
868 )]
869 pub allow_booking_after: Option<f64>,
870 #[serde(
873 rename = "allowBookingAfterUnit",
874 default,
875 skip_serializing_if = "Option::is_none"
876 )]
877 pub allow_booking_after_unit: Option<String>,
878 #[serde(
880 rename = "allowBookingFor",
881 default,
882 skip_serializing_if = "Option::is_none"
883 )]
884 pub allow_booking_for: Option<f64>,
885 #[serde(
888 rename = "allowBookingForUnit",
889 default,
890 skip_serializing_if = "Option::is_none"
891 )]
892 pub allow_booking_for_unit: Option<String>,
893 #[serde(rename = "openHours", default, skip_serializing_if = "Vec::is_empty")]
896 pub open_hours: Vec<OpenHour>,
897 #[serde(
900 rename = "enableRecurring",
901 default,
902 skip_serializing_if = "Option::is_none"
903 )]
904 pub enable_recurring: Option<bool>,
905 #[serde(default, skip_serializing_if = "Option::is_none")]
906 pub recurring: Option<Recurring>,
907 #[serde(rename = "formId", default, skip_serializing_if = "Option::is_none")]
908 pub form_id: Option<String>,
909 #[serde(
910 rename = "stickyContact",
911 default,
912 skip_serializing_if = "Option::is_none"
913 )]
914 pub sticky_contact: Option<bool>,
915 #[serde(
916 rename = "isLivePaymentMode",
917 default,
918 skip_serializing_if = "Option::is_none"
919 )]
920 pub is_live_payment_mode: Option<bool>,
921 #[serde(
922 rename = "autoConfirm",
923 default,
924 skip_serializing_if = "Option::is_none"
925 )]
926 pub auto_confirm: Option<bool>,
927 #[serde(
928 rename = "shouldSendAlertEmailsToAssignedMember",
929 default,
930 skip_serializing_if = "Option::is_none"
931 )]
932 pub should_send_alert_emails_to_assigned_member: Option<bool>,
933 #[serde(
934 rename = "alertEmail",
935 default,
936 skip_serializing_if = "Option::is_none"
937 )]
938 pub alert_email: Option<String>,
939 #[serde(
940 rename = "googleInvitationEmails",
941 default,
942 skip_serializing_if = "Option::is_none"
943 )]
944 pub google_invitation_emails: Option<bool>,
945 #[serde(
946 rename = "allowReschedule",
947 default,
948 skip_serializing_if = "Option::is_none"
949 )]
950 pub allow_reschedule: Option<bool>,
951 #[serde(
952 rename = "allowCancellation",
953 default,
954 skip_serializing_if = "Option::is_none"
955 )]
956 pub allow_cancellation: Option<bool>,
957 #[serde(
958 rename = "shouldAssignContactToTeamMember",
959 default,
960 skip_serializing_if = "Option::is_none"
961 )]
962 pub should_assign_contact_to_team_member: Option<bool>,
963 #[serde(
964 rename = "shouldSkipAssigningContactForExisting",
965 default,
966 skip_serializing_if = "Option::is_none"
967 )]
968 pub should_skip_assigning_contact_for_existing: Option<bool>,
969 #[serde(default, skip_serializing_if = "Option::is_none")]
970 pub notes: Option<String>,
971 #[serde(rename = "pixelId", default, skip_serializing_if = "Option::is_none")]
972 pub pixel_id: Option<String>,
973 #[serde(
975 rename = "formSubmitType",
976 default,
977 skip_serializing_if = "Option::is_none"
978 )]
979 pub form_submit_type: Option<String>,
980 #[serde(
981 rename = "formSubmitRedirectURL",
982 default,
983 skip_serializing_if = "Option::is_none"
984 )]
985 pub form_submit_redirect_url: Option<String>,
986 #[serde(
987 rename = "formSubmitThanksMessage",
988 default,
989 skip_serializing_if = "Option::is_none"
990 )]
991 pub form_submit_thanks_message: Option<String>,
992 #[serde(
997 rename = "availabilityType",
998 default,
999 skip_serializing_if = "Option::is_none"
1000 )]
1001 pub availability_type: Option<String>,
1002 #[serde(default, skip_serializing_if = "Vec::is_empty")]
1005 pub availabilities: Vec<Availability>,
1006 #[serde(rename = "guestType", default, skip_serializing_if = "Option::is_none")]
1008 pub guest_type: Option<String>,
1009 #[serde(
1010 rename = "consentLabel",
1011 default,
1012 skip_serializing_if = "Option::is_none"
1013 )]
1014 pub consent_label: Option<String>,
1015 #[serde(
1016 rename = "calendarCoverImage",
1017 default,
1018 skip_serializing_if = "Option::is_none"
1019 )]
1020 pub calendar_cover_image: Option<String>,
1021 #[serde(
1023 rename = "lookBusyConfig",
1024 default,
1025 skip_serializing_if = "Option::is_none"
1026 )]
1027 pub look_busy_config: Option<LookBusyConfiguration>,
1028 pub id: String,
1030}
1031
1032#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1034pub struct CalendarDeleteSuccessfulResponseDTO {
1035 pub success: bool,
1038}
1039
1040#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1042pub struct CalendarEventDTO {
1043 pub id: String,
1046 #[serde(default, skip_serializing_if = "Option::is_none")]
1048 pub address: Option<String>,
1049 pub title: String,
1052 #[serde(rename = "calendarId")]
1055 pub calendar_id: String,
1056 #[serde(rename = "locationId")]
1059 pub location_id: String,
1060 #[serde(rename = "contactId")]
1063 pub contact_id: String,
1064 #[serde(rename = "groupId")]
1067 pub group_id: String,
1068 #[serde(rename = "appointmentStatus")]
1071 pub appointment_status: String,
1072 #[serde(rename = "assignedUserId")]
1075 pub assigned_user_id: String,
1076 #[serde(default, skip_serializing_if = "Vec::is_empty")]
1079 pub users: Vec<String>,
1080 #[serde(default, skip_serializing_if = "Option::is_none")]
1082 pub notes: Option<String>,
1083 #[serde(default, skip_serializing_if = "Option::is_none")]
1085 pub description: Option<String>,
1086 #[serde(
1088 rename = "isRecurring",
1089 default,
1090 skip_serializing_if = "Option::is_none"
1091 )]
1092 pub is_recurring: Option<bool>,
1093 #[serde(default, skip_serializing_if = "Option::is_none")]
1096 pub rrule: Option<String>,
1097 #[serde(rename = "startTime")]
1100 pub start_time: serde_json::Value,
1101 #[serde(rename = "endTime")]
1104 pub end_time: serde_json::Value,
1105 #[serde(rename = "dateAdded")]
1108 pub date_added: serde_json::Value,
1109 #[serde(rename = "dateUpdated")]
1112 pub date_updated: serde_json::Value,
1113 #[serde(
1115 rename = "assignedResources",
1116 default,
1117 skip_serializing_if = "Vec::is_empty"
1118 )]
1119 pub assigned_resources: Vec<String>,
1120 #[serde(rename = "createdBy", default, skip_serializing_if = "Option::is_none")]
1122 pub created_by: Option<CreatedOrUpdatedBy>,
1123 #[serde(
1125 rename = "masterEventId",
1126 default,
1127 skip_serializing_if = "Option::is_none"
1128 )]
1129 pub master_event_id: Option<String>,
1130}
1131
1132#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1134pub struct CalendarNotification {
1135 #[serde(rename = "type", default, skip_serializing_if = "Option::is_none")]
1138 pub type_: Option<String>,
1139 #[serde(rename = "shouldSendToContact")]
1141 pub should_send_to_contact: bool,
1142 #[serde(rename = "shouldSendToGuest")]
1144 pub should_send_to_guest: bool,
1145 #[serde(rename = "shouldSendToUser")]
1147 pub should_send_to_user: bool,
1148 #[serde(rename = "shouldSendToSelectedUsers")]
1150 pub should_send_to_selected_users: bool,
1151 #[serde(rename = "selectedUsers")]
1154 pub selected_users: String,
1155}
1156
1157#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1159pub struct CalendarNotificationDeleteResponseDTO {
1160 pub message: String,
1163}
1164
1165#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1167pub struct CalendarNotificationResponseDTO {
1168 #[serde(rename = "_id", default, skip_serializing_if = "Option::is_none")]
1170 pub id: Option<String>,
1171 #[serde(
1174 rename = "receiverType",
1175 default,
1176 skip_serializing_if = "Option::is_none"
1177 )]
1178 pub receiver_type: Option<String>,
1179 #[serde(
1180 rename = "additionalEmailIds",
1181 default,
1182 skip_serializing_if = "Vec::is_empty"
1183 )]
1184 pub additional_email_ids: Vec<String>,
1185 #[serde(
1186 rename = "additionalPhoneNumbers",
1187 default,
1188 skip_serializing_if = "Vec::is_empty"
1189 )]
1190 pub additional_phone_numbers: Vec<String>,
1191 #[serde(default, skip_serializing_if = "Option::is_none")]
1193 pub channel: Option<String>,
1194 #[serde(
1197 rename = "notificationType",
1198 default,
1199 skip_serializing_if = "Option::is_none"
1200 )]
1201 pub notification_type: Option<String>,
1202 #[serde(rename = "isActive", default, skip_serializing_if = "Option::is_none")]
1203 pub is_active: Option<bool>,
1204 #[serde(
1205 rename = "additionalWhatsappNumbers",
1206 default,
1207 skip_serializing_if = "Vec::is_empty"
1208 )]
1209 pub additional_whatsapp_numbers: Vec<String>,
1210 #[serde(
1211 rename = "templateId",
1212 default,
1213 skip_serializing_if = "Option::is_none"
1214 )]
1215 pub template_id: Option<String>,
1216 #[serde(default, skip_serializing_if = "Option::is_none")]
1217 pub body: Option<String>,
1218 #[serde(default, skip_serializing_if = "Option::is_none")]
1219 pub subject: Option<String>,
1220 #[serde(rename = "afterTime", default, skip_serializing_if = "Vec::is_empty")]
1221 pub after_time: Vec<SchedulesDTO>,
1222 #[serde(rename = "beforeTime", default, skip_serializing_if = "Vec::is_empty")]
1223 pub before_time: Vec<SchedulesDTO>,
1224 #[serde(
1225 rename = "selectedUsers",
1226 default,
1227 skip_serializing_if = "Vec::is_empty"
1228 )]
1229 pub selected_users: Vec<String>,
1230 #[serde(default, skip_serializing_if = "Option::is_none")]
1231 pub deleted: Option<bool>,
1232}
1233
1234#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1236pub struct CalendarResourceByIdResponseDTO {
1237 #[serde(rename = "locationId")]
1240 pub location_id: String,
1241 pub name: String,
1244 #[serde(rename = "resourceType")]
1247 pub resource_type: String,
1248 #[serde(rename = "isActive")]
1251 pub is_active: bool,
1252 #[serde(default, skip_serializing_if = "Option::is_none")]
1254 pub description: Option<String>,
1255 #[serde(default, skip_serializing_if = "Option::is_none")]
1257 pub quantity: Option<f64>,
1258 #[serde(
1260 rename = "outOfService",
1261 default,
1262 skip_serializing_if = "Option::is_none"
1263 )]
1264 pub out_of_service: Option<f64>,
1265 #[serde(default, skip_serializing_if = "Option::is_none")]
1267 pub capacity: Option<f64>,
1268 #[serde(rename = "calendarIds", default, skip_serializing_if = "Vec::is_empty")]
1271 pub calendar_ids: Vec<String>,
1272}
1273
1274#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1276pub struct CalendarResourceResponseDTO {
1277 #[serde(rename = "locationId")]
1280 pub location_id: String,
1281 pub name: String,
1284 #[serde(rename = "resourceType")]
1287 pub resource_type: String,
1288 #[serde(rename = "isActive")]
1291 pub is_active: bool,
1292 #[serde(default, skip_serializing_if = "Option::is_none")]
1294 pub description: Option<String>,
1295 #[serde(default, skip_serializing_if = "Option::is_none")]
1297 pub quantity: Option<f64>,
1298 #[serde(
1300 rename = "outOfService",
1301 default,
1302 skip_serializing_if = "Option::is_none"
1303 )]
1304 pub out_of_service: Option<f64>,
1305 #[serde(default, skip_serializing_if = "Option::is_none")]
1307 pub capacity: Option<f64>,
1308}
1309
1310#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1312pub struct CalendarUpdateDTO {
1313 #[serde(default, skip_serializing_if = "Vec::is_empty")]
1315 pub notifications: Vec<CalendarNotification>,
1316 #[serde(rename = "groupId", default, skip_serializing_if = "Option::is_none")]
1318 pub group_id: Option<String>,
1319 #[serde(rename = "teamMembers", default, skip_serializing_if = "Vec::is_empty")]
1322 pub team_members: Vec<TeamMember>,
1323 #[serde(rename = "eventType", default, skip_serializing_if = "Option::is_none")]
1326 pub event_type: Option<String>,
1327 #[serde(default, skip_serializing_if = "Option::is_none")]
1328 pub name: Option<String>,
1329 #[serde(default, skip_serializing_if = "Option::is_none")]
1330 pub description: Option<String>,
1331 #[serde(default, skip_serializing_if = "Option::is_none")]
1332 pub slug: Option<String>,
1333 #[serde(
1334 rename = "widgetSlug",
1335 default,
1336 skip_serializing_if = "Option::is_none"
1337 )]
1338 pub widget_slug: Option<String>,
1339 #[serde(
1342 rename = "widgetType",
1343 default,
1344 skip_serializing_if = "Option::is_none"
1345 )]
1346 pub widget_type: Option<String>,
1347 #[serde(
1348 rename = "eventTitle",
1349 default,
1350 skip_serializing_if = "Option::is_none"
1351 )]
1352 pub event_title: Option<String>,
1353 #[serde(
1354 rename = "eventColor",
1355 default,
1356 skip_serializing_if = "Option::is_none"
1357 )]
1358 pub event_color: Option<String>,
1359 #[serde(
1361 rename = "locationConfigurations",
1362 default,
1363 skip_serializing_if = "Vec::is_empty"
1364 )]
1365 pub location_configurations: Vec<LocationConfiguration>,
1366 #[serde(
1369 rename = "meetingLocation",
1370 default,
1371 skip_serializing_if = "Option::is_none"
1372 )]
1373 pub meeting_location: Option<String>,
1374 #[serde(
1376 rename = "slotDuration",
1377 default,
1378 skip_serializing_if = "Option::is_none"
1379 )]
1380 pub slot_duration: Option<f64>,
1381 #[serde(
1384 rename = "slotDurationUnit",
1385 default,
1386 skip_serializing_if = "Option::is_none"
1387 )]
1388 pub slot_duration_unit: Option<String>,
1389 #[serde(
1392 rename = "preBufferUnit",
1393 default,
1394 skip_serializing_if = "Option::is_none"
1395 )]
1396 pub pre_buffer_unit: Option<String>,
1397 #[serde(
1400 rename = "slotInterval",
1401 default,
1402 skip_serializing_if = "Option::is_none"
1403 )]
1404 pub slot_interval: Option<f64>,
1405 #[serde(
1408 rename = "slotIntervalUnit",
1409 default,
1410 skip_serializing_if = "Option::is_none"
1411 )]
1412 pub slot_interval_unit: Option<String>,
1413 #[serde(
1416 rename = "slotBuffer",
1417 default,
1418 skip_serializing_if = "Option::is_none"
1419 )]
1420 pub slot_buffer: Option<f64>,
1421 #[serde(rename = "preBuffer", default, skip_serializing_if = "Option::is_none")]
1424 pub pre_buffer: Option<f64>,
1425 #[serde(
1426 rename = "appoinmentPerSlot",
1427 default,
1428 skip_serializing_if = "Option::is_none"
1429 )]
1430 pub appoinment_per_slot: Option<f64>,
1431 #[serde(
1433 rename = "appoinmentPerDay",
1434 default,
1435 skip_serializing_if = "Option::is_none"
1436 )]
1437 pub appoinment_per_day: Option<f64>,
1438 #[serde(
1440 rename = "allowBookingAfter",
1441 default,
1442 skip_serializing_if = "Option::is_none"
1443 )]
1444 pub allow_booking_after: Option<f64>,
1445 #[serde(
1448 rename = "allowBookingAfterUnit",
1449 default,
1450 skip_serializing_if = "Option::is_none"
1451 )]
1452 pub allow_booking_after_unit: Option<String>,
1453 #[serde(
1455 rename = "allowBookingFor",
1456 default,
1457 skip_serializing_if = "Option::is_none"
1458 )]
1459 pub allow_booking_for: Option<f64>,
1460 #[serde(
1463 rename = "allowBookingForUnit",
1464 default,
1465 skip_serializing_if = "Option::is_none"
1466 )]
1467 pub allow_booking_for_unit: Option<String>,
1468 #[serde(rename = "openHours", default, skip_serializing_if = "Vec::is_empty")]
1469 pub open_hours: Vec<OpenHour>,
1470 #[serde(
1473 rename = "enableRecurring",
1474 default,
1475 skip_serializing_if = "Option::is_none"
1476 )]
1477 pub enable_recurring: Option<bool>,
1478 #[serde(default, skip_serializing_if = "Option::is_none")]
1479 pub recurring: Option<Recurring>,
1480 #[serde(rename = "formId", default, skip_serializing_if = "Option::is_none")]
1481 pub form_id: Option<String>,
1482 #[serde(
1483 rename = "stickyContact",
1484 default,
1485 skip_serializing_if = "Option::is_none"
1486 )]
1487 pub sticky_contact: Option<bool>,
1488 #[serde(
1489 rename = "isLivePaymentMode",
1490 default,
1491 skip_serializing_if = "Option::is_none"
1492 )]
1493 pub is_live_payment_mode: Option<bool>,
1494 #[serde(
1495 rename = "autoConfirm",
1496 default,
1497 skip_serializing_if = "Option::is_none"
1498 )]
1499 pub auto_confirm: Option<bool>,
1500 #[serde(
1501 rename = "shouldSendAlertEmailsToAssignedMember",
1502 default,
1503 skip_serializing_if = "Option::is_none"
1504 )]
1505 pub should_send_alert_emails_to_assigned_member: Option<bool>,
1506 #[serde(
1507 rename = "alertEmail",
1508 default,
1509 skip_serializing_if = "Option::is_none"
1510 )]
1511 pub alert_email: Option<String>,
1512 #[serde(
1513 rename = "googleInvitationEmails",
1514 default,
1515 skip_serializing_if = "Option::is_none"
1516 )]
1517 pub google_invitation_emails: Option<bool>,
1518 #[serde(
1519 rename = "allowReschedule",
1520 default,
1521 skip_serializing_if = "Option::is_none"
1522 )]
1523 pub allow_reschedule: Option<bool>,
1524 #[serde(
1525 rename = "allowCancellation",
1526 default,
1527 skip_serializing_if = "Option::is_none"
1528 )]
1529 pub allow_cancellation: Option<bool>,
1530 #[serde(
1531 rename = "shouldAssignContactToTeamMember",
1532 default,
1533 skip_serializing_if = "Option::is_none"
1534 )]
1535 pub should_assign_contact_to_team_member: Option<bool>,
1536 #[serde(
1537 rename = "shouldSkipAssigningContactForExisting",
1538 default,
1539 skip_serializing_if = "Option::is_none"
1540 )]
1541 pub should_skip_assigning_contact_for_existing: Option<bool>,
1542 #[serde(default, skip_serializing_if = "Option::is_none")]
1543 pub notes: Option<String>,
1544 #[serde(rename = "pixelId", default, skip_serializing_if = "Option::is_none")]
1545 pub pixel_id: Option<String>,
1546 #[serde(
1548 rename = "formSubmitType",
1549 default,
1550 skip_serializing_if = "Option::is_none"
1551 )]
1552 pub form_submit_type: Option<String>,
1553 #[serde(
1554 rename = "formSubmitRedirectURL",
1555 default,
1556 skip_serializing_if = "Option::is_none"
1557 )]
1558 pub form_submit_redirect_url: Option<String>,
1559 #[serde(
1560 rename = "formSubmitThanksMessage",
1561 default,
1562 skip_serializing_if = "Option::is_none"
1563 )]
1564 pub form_submit_thanks_message: Option<String>,
1565 #[serde(
1570 rename = "availabilityType",
1571 default,
1572 skip_serializing_if = "Option::is_none"
1573 )]
1574 pub availability_type: Option<String>,
1575 #[serde(default, skip_serializing_if = "Vec::is_empty")]
1578 pub availabilities: Vec<UpdateAvailability>,
1579 #[serde(rename = "guestType", default, skip_serializing_if = "Option::is_none")]
1581 pub guest_type: Option<String>,
1582 #[serde(
1583 rename = "consentLabel",
1584 default,
1585 skip_serializing_if = "Option::is_none"
1586 )]
1587 pub consent_label: Option<String>,
1588 #[serde(
1589 rename = "calendarCoverImage",
1590 default,
1591 skip_serializing_if = "Option::is_none"
1592 )]
1593 pub calendar_cover_image: Option<String>,
1594 #[serde(
1596 rename = "lookBusyConfig",
1597 default,
1598 skip_serializing_if = "Option::is_none"
1599 )]
1600 pub look_busy_config: Option<LookBusyConfiguration>,
1601 #[serde(rename = "isActive", default, skip_serializing_if = "Option::is_none")]
1602 pub is_active: Option<bool>,
1603}
1604
1605#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1607pub struct CalendarsGetSuccessfulResponseDTO {
1608 #[serde(default, skip_serializing_if = "Vec::is_empty")]
1609 pub calendars: Vec<CalendarDTO>,
1610}
1611
1612#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1614pub struct CreateCalendarNotificationDTO {
1615 #[serde(rename = "receiverType")]
1620 pub receiver_type: String,
1621 pub channel: String,
1625 #[serde(rename = "notificationType")]
1630 pub notification_type: String,
1631 #[serde(rename = "isActive", default, skip_serializing_if = "Option::is_none")]
1633 pub is_active: Option<bool>,
1634 #[serde(
1636 rename = "templateId",
1637 default,
1638 skip_serializing_if = "Option::is_none"
1639 )]
1640 pub template_id: Option<String>,
1641 #[serde(default, skip_serializing_if = "Option::is_none")]
1643 pub body: Option<String>,
1644 #[serde(default, skip_serializing_if = "Option::is_none")]
1646 pub subject: Option<String>,
1647 #[serde(rename = "afterTime", default, skip_serializing_if = "Vec::is_empty")]
1650 pub after_time: Vec<SchedulesDTO>,
1651 #[serde(rename = "beforeTime", default, skip_serializing_if = "Vec::is_empty")]
1654 pub before_time: Vec<SchedulesDTO>,
1655 #[serde(
1657 rename = "additionalEmailIds",
1658 default,
1659 skip_serializing_if = "Vec::is_empty"
1660 )]
1661 pub additional_email_ids: Vec<String>,
1662 #[serde(
1664 rename = "additionalPhoneNumbers",
1665 default,
1666 skip_serializing_if = "Vec::is_empty"
1667 )]
1668 pub additional_phone_numbers: Vec<String>,
1669 #[serde(
1672 rename = "selectedUsers",
1673 default,
1674 skip_serializing_if = "Vec::is_empty"
1675 )]
1676 pub selected_users: Vec<String>,
1677 #[serde(
1679 rename = "fromAddress",
1680 default,
1681 skip_serializing_if = "Option::is_none"
1682 )]
1683 pub from_address: Option<String>,
1684 #[serde(rename = "fromName", default, skip_serializing_if = "Option::is_none")]
1686 pub from_name: Option<String>,
1687 #[serde(
1689 rename = "fromNumber",
1690 default,
1691 skip_serializing_if = "Option::is_none"
1692 )]
1693 pub from_number: Option<String>,
1694}
1695
1696#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1698pub struct CreateCalendarResourceDTO {
1699 #[serde(rename = "locationId")]
1701 pub location_id: String,
1702 pub name: String,
1704 pub description: String,
1706 pub quantity: f64,
1709 #[serde(rename = "outOfService")]
1712 pub out_of_service: f64,
1713 pub capacity: f64,
1716 #[serde(rename = "calendarIds", default, skip_serializing_if = "Vec::is_empty")]
1720 pub calendar_ids: Vec<String>,
1721}
1722
1723#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1725pub struct CreateScheduleDTO {
1726 #[serde(default, skip_serializing_if = "Vec::is_empty")]
1728 pub rules: Vec<ScheduleRuleDTO>,
1729 pub timezone: String,
1732 #[serde(rename = "locationId")]
1735 pub location_id: String,
1736 pub name: String,
1739 #[serde(rename = "userId")]
1742 pub user_id: String,
1743 #[serde(rename = "calendarIds", default, skip_serializing_if = "Vec::is_empty")]
1745 pub calendar_ids: Vec<String>,
1746}
1747
1748#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1750pub struct CreatedOrUpdatedBy {
1751 #[serde(rename = "userId", default, skip_serializing_if = "Option::is_none")]
1753 pub user_id: Option<String>,
1754 pub source: String,
1757}
1758
1759#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1761pub struct DeleteAppointmentSchema {
1762 #[serde(flatten)]
1764 pub extra: serde_json::Map<String, serde_json::Value>,
1765}
1766
1767#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1769pub struct DeleteEventSuccessfulResponseDto {
1770 #[serde(default, skip_serializing_if = "Option::is_none")]
1771 pub succeeded: Option<bool>,
1772}
1773
1774#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1776pub struct DeleteNoteSuccessfulResponseDto {
1777 #[serde(default, skip_serializing_if = "Option::is_none")]
1778 pub success: Option<bool>,
1779}
1780
1781#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1783pub struct GetAllSchedulesResponseDTO {
1784 #[serde(default, skip_serializing_if = "Vec::is_empty")]
1787 pub schedules: Vec<ScheduleObjectResponseDTO>,
1788}
1789
1790#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1792pub struct GetCalendarEventSuccessfulResponseDTO {
1793 #[serde(default, skip_serializing_if = "Option::is_none")]
1794 pub event: Option<CalendarEventDTO>,
1795}
1796
1797#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1799pub struct GetCalendarEventsSuccessfulResponseDTO {
1800 #[serde(default, skip_serializing_if = "Vec::is_empty")]
1801 pub events: Vec<CalendarEventDTO>,
1802}
1803
1804#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1806pub struct GetCreateUpdateNoteSuccessfulResponseDto {
1807 #[serde(default, skip_serializing_if = "Option::is_none")]
1808 pub note: Option<GetNoteSchema>,
1809}
1810
1811#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1813pub struct GetNoteSchema {
1814 #[serde(default, skip_serializing_if = "Option::is_none")]
1815 pub id: Option<String>,
1816 #[serde(default, skip_serializing_if = "Option::is_none")]
1817 pub body: Option<String>,
1818 #[serde(rename = "userId", default, skip_serializing_if = "Option::is_none")]
1819 pub user_id: Option<String>,
1820 #[serde(rename = "dateAdded", default, skip_serializing_if = "Option::is_none")]
1821 pub date_added: Option<String>,
1822 #[serde(rename = "contactId", default, skip_serializing_if = "Option::is_none")]
1823 pub contact_id: Option<String>,
1824 #[serde(rename = "createdBy", default, skip_serializing_if = "Option::is_none")]
1825 pub created_by: Option<NoteCreatedBySchema>,
1826}
1827
1828#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1830pub struct GetNotesListSuccessfulResponseDto {
1831 #[serde(default, skip_serializing_if = "Vec::is_empty")]
1832 pub notes: Vec<GetNoteSchema>,
1833 #[serde(rename = "hasMore", default, skip_serializing_if = "Option::is_none")]
1834 pub has_more: Option<bool>,
1835}
1836
1837#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1839pub struct GroupCreateDTO {
1840 #[serde(rename = "locationId")]
1842 pub location_id: String,
1843 pub name: String,
1845 pub description: String,
1847 pub slug: String,
1849 #[serde(rename = "isActive", default, skip_serializing_if = "Option::is_none")]
1850 pub is_active: Option<bool>,
1851}
1852
1853#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1855pub struct GroupCreateSuccessfulResponseDTO {
1856 #[serde(default, skip_serializing_if = "Option::is_none")]
1857 pub group: Option<GroupDTO>,
1858}
1859
1860#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1862pub struct GroupDTO {
1863 #[serde(rename = "locationId")]
1865 pub location_id: String,
1866 pub name: String,
1868 pub description: String,
1870 pub slug: String,
1872 #[serde(rename = "isActive", default, skip_serializing_if = "Option::is_none")]
1873 pub is_active: Option<bool>,
1874 #[serde(default, skip_serializing_if = "Option::is_none")]
1875 pub id: Option<String>,
1876}
1877
1878#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1880pub struct GroupStatusUpdateParams {
1881 #[serde(rename = "isActive")]
1884 pub is_active: bool,
1885}
1886
1887#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1889pub struct GroupSuccessfulResponseDTO {
1890 #[serde(default, skip_serializing_if = "Option::is_none")]
1892 pub success: Option<bool>,
1893}
1894
1895#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1897pub struct GroupUpdateDTO {
1898 pub name: String,
1900 pub description: String,
1902 pub slug: String,
1904}
1905
1906#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1908pub struct Hour {
1909 #[serde(rename = "openHour")]
1911 pub open_hour: f64,
1912 #[serde(rename = "openMinute")]
1914 pub open_minute: f64,
1915 #[serde(rename = "closeHour")]
1917 pub close_hour: f64,
1918 #[serde(rename = "closeMinute")]
1920 pub close_minute: f64,
1921}
1922
1923#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1925pub struct LocationConfiguration {
1926 pub kind: String,
1932 #[serde(default, skip_serializing_if = "Option::is_none")]
1935 pub location: Option<String>,
1936}
1937
1938#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1940pub struct LocationConfigurationResponse {
1941 pub kind: String,
1947 #[serde(default, skip_serializing_if = "Option::is_none")]
1950 pub location: Option<String>,
1951 #[serde(rename = "meetingId", default, skip_serializing_if = "Option::is_none")]
1953 pub meeting_id: Option<String>,
1954}
1955
1956#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1958pub struct LookBusyConfiguration {
1959 pub enabled: bool,
1962 #[serde(rename = "LookBusyPercentage")]
1965 pub look_busy_percentage: f64,
1966}
1967
1968#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1970pub struct NoteCreatedBySchema {
1971 #[serde(default, skip_serializing_if = "Option::is_none")]
1972 pub id: Option<String>,
1973 #[serde(default, skip_serializing_if = "Option::is_none")]
1974 pub name: Option<String>,
1975}
1976
1977#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1979pub struct NotesDTO {
1980 #[serde(rename = "userId", default, skip_serializing_if = "Option::is_none")]
1981 pub user_id: Option<String>,
1982 pub body: String,
1985}
1986
1987#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1989pub struct OpenHour {
1990 #[serde(
1992 rename = "daysOfTheWeek",
1993 default,
1994 skip_serializing_if = "Vec::is_empty"
1995 )]
1996 pub days_of_the_week: Vec<f64>,
1997 #[serde(default, skip_serializing_if = "Vec::is_empty")]
1999 pub hours: Vec<Hour>,
2000}
2001
2002#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2004pub struct Recurring {
2005 #[serde(default, skip_serializing_if = "Option::is_none")]
2007 pub freq: Option<String>,
2008 #[serde(default, skip_serializing_if = "Option::is_none")]
2010 pub count: Option<f64>,
2011 #[serde(
2014 rename = "bookingOption",
2015 default,
2016 skip_serializing_if = "Option::is_none"
2017 )]
2018 pub booking_option: Option<String>,
2019 #[serde(
2022 rename = "bookingOverlapDefaultStatus",
2023 default,
2024 skip_serializing_if = "Option::is_none"
2025 )]
2026 pub booking_overlap_default_status: Option<String>,
2027}
2028
2029#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2031pub struct ResourceDeleteResponseDTO {
2032 #[serde(default, skip_serializing_if = "Option::is_none")]
2034 pub success: Option<bool>,
2035}
2036
2037#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2039pub struct ScheduleIntervalDTO {
2040 #[serde(rename = "from")]
2043 pub from_: String,
2044 pub to: String,
2047}
2048
2049#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2051pub struct ScheduleObjectResponseDTO {
2052 pub id: String,
2055 pub name: String,
2058 #[serde(rename = "locationId")]
2061 pub location_id: String,
2062 #[serde(default, skip_serializing_if = "Vec::is_empty")]
2065 pub rules: Vec<ScheduleRuleDTO>,
2066 pub timezone: String,
2069 #[serde(rename = "dateAdded")]
2072 pub date_added: String,
2073 #[serde(rename = "dateUpdated")]
2076 pub date_updated: String,
2077 #[serde(rename = "userId")]
2080 pub user_id: String,
2081 #[serde(rename = "calendarIds", default, skip_serializing_if = "Vec::is_empty")]
2083 pub calendar_ids: Vec<String>,
2084 pub deleted: bool,
2087}
2088
2089#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2091pub struct ScheduleResponseDTO {
2092 pub schedule: ScheduleObjectResponseDTO,
2095}
2096
2097#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2099pub struct ScheduleRuleDTO {
2100 #[serde(rename = "type")]
2104 pub type_: String,
2105 #[serde(default, skip_serializing_if = "Vec::is_empty")]
2108 pub intervals: Vec<ScheduleIntervalDTO>,
2109 #[serde(default, skip_serializing_if = "Option::is_none")]
2111 pub date: Option<String>,
2112 #[serde(default, skip_serializing_if = "Option::is_none")]
2116 pub day: Option<String>,
2117}
2118
2119#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2121pub struct SchedulesDTO {
2122 #[serde(
2123 rename = "timeOffset",
2124 default,
2125 skip_serializing_if = "Option::is_none"
2126 )]
2127 pub time_offset: Option<f64>,
2128 #[serde(default, skip_serializing_if = "Option::is_none")]
2129 pub unit: Option<String>,
2130}
2131
2132#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2134pub struct SlotsSchema {
2135 #[serde(default, skip_serializing_if = "Vec::is_empty")]
2137 pub slots: Vec<String>,
2138}
2139
2140#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2142pub struct TeamMember {
2143 #[serde(rename = "userId")]
2145 pub user_id: String,
2146 #[serde(default, skip_serializing_if = "Option::is_none")]
2148 pub priority: Option<String>,
2149 #[serde(
2152 rename = "meetingLocationType",
2153 default,
2154 skip_serializing_if = "Option::is_none"
2155 )]
2156 pub meeting_location_type: Option<String>,
2157 #[serde(
2159 rename = "meetingLocation",
2160 default,
2161 skip_serializing_if = "Option::is_none"
2162 )]
2163 pub meeting_location: Option<String>,
2164 #[serde(rename = "isPrimary", default, skip_serializing_if = "Option::is_none")]
2167 pub is_primary: Option<bool>,
2168 #[serde(
2172 rename = "locationConfigurations",
2173 default,
2174 skip_serializing_if = "Vec::is_empty"
2175 )]
2176 pub location_configurations: Vec<LocationConfiguration>,
2177}
2178
2179#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2181pub struct TeamMemberResponse {
2182 #[serde(rename = "userId")]
2184 pub user_id: String,
2185 #[serde(default, skip_serializing_if = "Option::is_none")]
2187 pub priority: Option<String>,
2188 #[serde(
2191 rename = "meetingLocationType",
2192 default,
2193 skip_serializing_if = "Option::is_none"
2194 )]
2195 pub meeting_location_type: Option<String>,
2196 #[serde(
2198 rename = "meetingLocation",
2199 default,
2200 skip_serializing_if = "Option::is_none"
2201 )]
2202 pub meeting_location: Option<String>,
2203 #[serde(rename = "isPrimary", default, skip_serializing_if = "Option::is_none")]
2206 pub is_primary: Option<bool>,
2207 #[serde(
2209 rename = "locationConfigurations",
2210 default,
2211 skip_serializing_if = "Vec::is_empty"
2212 )]
2213 pub location_configurations: Vec<LocationConfigurationResponse>,
2214}
2215
2216#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2218pub struct UpdateAvailability {
2219 pub date: String,
2223 #[serde(default, skip_serializing_if = "Vec::is_empty")]
2225 pub hours: Vec<Hour>,
2226 #[serde(default, skip_serializing_if = "Option::is_none")]
2227 pub deleted: Option<bool>,
2228 #[serde(default, skip_serializing_if = "Option::is_none")]
2231 pub id: Option<String>,
2232}
2233
2234#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2236pub struct UpdateCalendarNotificationsDTO {
2237 #[serde(
2241 rename = "receiverType",
2242 default,
2243 skip_serializing_if = "Option::is_none"
2244 )]
2245 pub receiver_type: Option<String>,
2246 #[serde(
2248 rename = "additionalEmailIds",
2249 default,
2250 skip_serializing_if = "Vec::is_empty"
2251 )]
2252 pub additional_email_ids: Vec<String>,
2253 #[serde(
2255 rename = "additionalPhoneNumbers",
2256 default,
2257 skip_serializing_if = "Vec::is_empty"
2258 )]
2259 pub additional_phone_numbers: Vec<String>,
2260 #[serde(
2263 rename = "selectedUsers",
2264 default,
2265 skip_serializing_if = "Vec::is_empty"
2266 )]
2267 pub selected_users: Vec<String>,
2268 #[serde(default, skip_serializing_if = "Option::is_none")]
2271 pub channel: Option<String>,
2272 #[serde(
2276 rename = "notificationType",
2277 default,
2278 skip_serializing_if = "Option::is_none"
2279 )]
2280 pub notification_type: Option<String>,
2281 #[serde(rename = "isActive", default, skip_serializing_if = "Option::is_none")]
2283 pub is_active: Option<bool>,
2284 #[serde(default, skip_serializing_if = "Option::is_none")]
2286 pub deleted: Option<bool>,
2287 #[serde(
2289 rename = "templateId",
2290 default,
2291 skip_serializing_if = "Option::is_none"
2292 )]
2293 pub template_id: Option<String>,
2294 #[serde(default, skip_serializing_if = "Option::is_none")]
2296 pub body: Option<String>,
2297 #[serde(default, skip_serializing_if = "Option::is_none")]
2299 pub subject: Option<String>,
2300 #[serde(rename = "afterTime", default, skip_serializing_if = "Vec::is_empty")]
2303 pub after_time: Vec<SchedulesDTO>,
2304 #[serde(rename = "beforeTime", default, skip_serializing_if = "Vec::is_empty")]
2307 pub before_time: Vec<SchedulesDTO>,
2308 #[serde(
2310 rename = "fromAddress",
2311 default,
2312 skip_serializing_if = "Option::is_none"
2313 )]
2314 pub from_address: Option<String>,
2315 #[serde(
2317 rename = "fromNumber",
2318 default,
2319 skip_serializing_if = "Option::is_none"
2320 )]
2321 pub from_number: Option<String>,
2322 #[serde(rename = "fromName", default, skip_serializing_if = "Option::is_none")]
2324 pub from_name: Option<String>,
2325}
2326
2327#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2329pub struct UpdateCalendarResourceDTO {
2330 #[serde(
2331 rename = "locationId",
2332 default,
2333 skip_serializing_if = "Option::is_none"
2334 )]
2335 pub location_id: Option<String>,
2336 #[serde(default, skip_serializing_if = "Option::is_none")]
2337 pub name: Option<String>,
2338 #[serde(default, skip_serializing_if = "Option::is_none")]
2339 pub description: Option<String>,
2340 #[serde(default, skip_serializing_if = "Option::is_none")]
2342 pub quantity: Option<f64>,
2343 #[serde(
2345 rename = "outOfService",
2346 default,
2347 skip_serializing_if = "Option::is_none"
2348 )]
2349 pub out_of_service: Option<f64>,
2350 #[serde(default, skip_serializing_if = "Option::is_none")]
2352 pub capacity: Option<f64>,
2353 #[serde(rename = "calendarIds", default, skip_serializing_if = "Vec::is_empty")]
2356 pub calendar_ids: Vec<String>,
2357 #[serde(rename = "isActive", default, skip_serializing_if = "Option::is_none")]
2358 pub is_active: Option<bool>,
2359}
2360
2361#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2363pub struct UpdateScheduleDTO {
2364 #[serde(default, skip_serializing_if = "Option::is_none")]
2366 pub name: Option<String>,
2367 #[serde(default, skip_serializing_if = "Vec::is_empty")]
2369 pub rules: Vec<ScheduleRuleDTO>,
2370 #[serde(default, skip_serializing_if = "Option::is_none")]
2372 pub timezone: Option<String>,
2373}
2374
2375#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2377pub struct ValidateGroupSlugPostBody {
2378 #[serde(rename = "locationId")]
2381 pub location_id: String,
2382 pub slug: String,
2385}
2386
2387#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2389pub struct ValidateGroupSlugSuccessResponseDTO {
2390 pub available: bool,
2392}