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(
219 rename = "calendarId",
220 default,
221 skip_serializing_if = "Option::is_none"
222 )]
223 pub calendar_id: Option<String>,
224 #[serde(
228 rename = "locationId",
229 default,
230 skip_serializing_if = "Option::is_none"
231 )]
232 pub location_id: Option<String>,
233 #[serde(rename = "contactId", default, skip_serializing_if = "Option::is_none")]
237 pub contact_id: Option<String>,
238 #[serde(rename = "startTime", default, skip_serializing_if = "Option::is_none")]
240 pub start_time: Option<String>,
241 #[serde(rename = "endTime", default, skip_serializing_if = "Option::is_none")]
243 pub end_time: Option<String>,
244 #[serde(default, skip_serializing_if = "Option::is_none")]
246 pub title: Option<String>,
247 #[serde(
249 rename = "meetingLocationType",
250 default,
251 skip_serializing_if = "Option::is_none"
252 )]
253 pub meeting_location_type: Option<String>,
254 #[serde(
257 rename = "appointmentStatus",
258 default,
259 skip_serializing_if = "Option::is_none"
260 )]
261 pub appointment_status: Option<String>,
262 #[serde(
264 rename = "assignedUserId",
265 default,
266 skip_serializing_if = "Option::is_none"
267 )]
268 pub assigned_user_id: Option<String>,
269 #[serde(default, skip_serializing_if = "Option::is_none")]
271 pub address: Option<String>,
272 #[serde(
274 rename = "isRecurring",
275 default,
276 skip_serializing_if = "Option::is_none"
277 )]
278 pub is_recurring: Option<bool>,
279 #[serde(default, skip_serializing_if = "Option::is_none")]
281 pub rrule: Option<String>,
282 #[serde(default, skip_serializing_if = "Option::is_none")]
286 pub id: Option<String>,
287}
288
289#[derive(Debug, Clone, Default, Serialize, Deserialize)]
291pub struct Availability {
292 #[serde(default, skip_serializing_if = "Option::is_none")]
296 pub date: Option<String>,
297 #[serde(default, skip_serializing_if = "Vec::is_empty")]
300 pub hours: Vec<Hour>,
301 #[serde(default, skip_serializing_if = "Option::is_none")]
302 pub deleted: Option<bool>,
303}
304
305#[derive(Debug, Clone, Default, Serialize, Deserialize)]
307pub struct BlockSlotCreateRequestDTO {
308 #[serde(default, skip_serializing_if = "Option::is_none")]
310 pub title: Option<String>,
311 #[serde(rename = "calendarId")]
314 pub calendar_id: String,
315 #[serde(
317 rename = "assignedUserId",
318 default,
319 skip_serializing_if = "Option::is_none"
320 )]
321 pub assigned_user_id: Option<String>,
322 #[serde(rename = "locationId")]
325 pub location_id: String,
326 #[serde(rename = "startTime", default, skip_serializing_if = "Option::is_none")]
328 pub start_time: Option<String>,
329 #[serde(rename = "endTime", default, skip_serializing_if = "Option::is_none")]
331 pub end_time: Option<String>,
332}
333
334#[derive(Debug, Clone, Default, Serialize, Deserialize)]
336pub struct BlockSlotEditRequestDTO {
337 #[serde(default, skip_serializing_if = "Option::is_none")]
339 pub title: Option<String>,
340 #[serde(rename = "calendarId")]
343 pub calendar_id: String,
344 #[serde(
346 rename = "assignedUserId",
347 default,
348 skip_serializing_if = "Option::is_none"
349 )]
350 pub assigned_user_id: Option<String>,
351 #[serde(rename = "locationId")]
354 pub location_id: String,
355 #[serde(rename = "startTime", default, skip_serializing_if = "Option::is_none")]
357 pub start_time: Option<String>,
358 #[serde(rename = "endTime", default, skip_serializing_if = "Option::is_none")]
360 pub end_time: Option<String>,
361}
362
363#[derive(Debug, Clone, Default, Serialize, Deserialize)]
365pub struct BlockedSlotSuccessfulResponseDto {
366 #[serde(default, skip_serializing_if = "Option::is_none")]
370 pub id: Option<String>,
371 #[serde(
375 rename = "locationId",
376 default,
377 skip_serializing_if = "Option::is_none"
378 )]
379 pub location_id: Option<String>,
380 #[serde(default, skip_serializing_if = "Option::is_none")]
384 pub title: Option<String>,
385 #[serde(rename = "startTime", default, skip_serializing_if = "Option::is_none")]
389 pub start_time: Option<serde_json::Value>,
390 #[serde(rename = "endTime", default, skip_serializing_if = "Option::is_none")]
394 pub end_time: Option<serde_json::Value>,
395 #[serde(
397 rename = "calendarId",
398 default,
399 skip_serializing_if = "Option::is_none"
400 )]
401 pub calendar_id: Option<String>,
402 #[serde(
404 rename = "assignedUserId",
405 default,
406 skip_serializing_if = "Option::is_none"
407 )]
408 pub assigned_user_id: Option<String>,
409}
410
411#[derive(Debug, Clone, Default, Serialize, Deserialize)]
413pub struct CalendarByIdSuccessfulResponseDTO {
414 #[serde(default, skip_serializing_if = "Option::is_none")]
417 pub calendar: Option<CalendarDTO>,
418}
419
420#[derive(Debug, Clone, Default, Serialize, Deserialize)]
422pub struct CalendarCreateDTO {
423 #[serde(rename = "isActive", default, skip_serializing_if = "Option::is_none")]
425 pub is_active: Option<bool>,
426 #[serde(default, skip_serializing_if = "Vec::is_empty")]
428 pub notifications: Vec<CalendarNotification>,
429 #[serde(rename = "locationId")]
431 pub location_id: String,
432 #[serde(rename = "groupId", default, skip_serializing_if = "Option::is_none")]
434 pub group_id: Option<String>,
435 #[serde(rename = "teamMembers", default, skip_serializing_if = "Vec::is_empty")]
438 pub team_members: Vec<TeamMember>,
439 #[serde(rename = "eventType", default, skip_serializing_if = "Option::is_none")]
442 pub event_type: Option<String>,
443 pub name: String,
445 #[serde(default, skip_serializing_if = "Option::is_none")]
446 pub description: Option<String>,
447 #[serde(default, skip_serializing_if = "Option::is_none")]
448 pub slug: Option<String>,
449 #[serde(
450 rename = "widgetSlug",
451 default,
452 skip_serializing_if = "Option::is_none"
453 )]
454 pub widget_slug: Option<String>,
455 #[serde(
458 rename = "calendarType",
459 default,
460 skip_serializing_if = "Option::is_none"
461 )]
462 pub calendar_type: Option<String>,
463 #[serde(
466 rename = "widgetType",
467 default,
468 skip_serializing_if = "Option::is_none"
469 )]
470 pub widget_type: Option<String>,
471 #[serde(
472 rename = "eventTitle",
473 default,
474 skip_serializing_if = "Option::is_none"
475 )]
476 pub event_title: Option<String>,
477 #[serde(
478 rename = "eventColor",
479 default,
480 skip_serializing_if = "Option::is_none"
481 )]
482 pub event_color: Option<String>,
483 #[serde(
486 rename = "meetingLocation",
487 default,
488 skip_serializing_if = "Option::is_none"
489 )]
490 pub meeting_location: Option<String>,
491 #[serde(
493 rename = "locationConfigurations",
494 default,
495 skip_serializing_if = "Vec::is_empty"
496 )]
497 pub location_configurations: Vec<LocationConfiguration>,
498 #[serde(
500 rename = "slotDuration",
501 default,
502 skip_serializing_if = "Option::is_none"
503 )]
504 pub slot_duration: Option<f64>,
505 #[serde(
508 rename = "slotDurationUnit",
509 default,
510 skip_serializing_if = "Option::is_none"
511 )]
512 pub slot_duration_unit: Option<String>,
513 #[serde(
516 rename = "slotInterval",
517 default,
518 skip_serializing_if = "Option::is_none"
519 )]
520 pub slot_interval: Option<f64>,
521 #[serde(
524 rename = "slotIntervalUnit",
525 default,
526 skip_serializing_if = "Option::is_none"
527 )]
528 pub slot_interval_unit: Option<String>,
529 #[serde(
532 rename = "slotBuffer",
533 default,
534 skip_serializing_if = "Option::is_none"
535 )]
536 pub slot_buffer: Option<f64>,
537 #[serde(
540 rename = "slotBufferUnit",
541 default,
542 skip_serializing_if = "Option::is_none"
543 )]
544 pub slot_buffer_unit: Option<String>,
545 #[serde(rename = "preBuffer", default, skip_serializing_if = "Option::is_none")]
548 pub pre_buffer: Option<f64>,
549 #[serde(
552 rename = "preBufferUnit",
553 default,
554 skip_serializing_if = "Option::is_none"
555 )]
556 pub pre_buffer_unit: Option<String>,
557 #[serde(
560 rename = "appoinmentPerSlot",
561 default,
562 skip_serializing_if = "Option::is_none"
563 )]
564 pub appoinment_per_slot: Option<f64>,
565 #[serde(
567 rename = "appoinmentPerDay",
568 default,
569 skip_serializing_if = "Option::is_none"
570 )]
571 pub appoinment_per_day: Option<f64>,
572 #[serde(
574 rename = "allowBookingAfter",
575 default,
576 skip_serializing_if = "Option::is_none"
577 )]
578 pub allow_booking_after: Option<f64>,
579 #[serde(
582 rename = "allowBookingAfterUnit",
583 default,
584 skip_serializing_if = "Option::is_none"
585 )]
586 pub allow_booking_after_unit: Option<String>,
587 #[serde(
589 rename = "allowBookingFor",
590 default,
591 skip_serializing_if = "Option::is_none"
592 )]
593 pub allow_booking_for: Option<f64>,
594 #[serde(
597 rename = "allowBookingForUnit",
598 default,
599 skip_serializing_if = "Option::is_none"
600 )]
601 pub allow_booking_for_unit: Option<String>,
602 #[serde(rename = "openHours", default, skip_serializing_if = "Vec::is_empty")]
605 pub open_hours: Vec<OpenHour>,
606 #[serde(
609 rename = "enableRecurring",
610 default,
611 skip_serializing_if = "Option::is_none"
612 )]
613 pub enable_recurring: Option<bool>,
614 #[serde(default, skip_serializing_if = "Option::is_none")]
615 pub recurring: Option<Recurring>,
616 #[serde(rename = "formId", default, skip_serializing_if = "Option::is_none")]
617 pub form_id: Option<String>,
618 #[serde(
619 rename = "stickyContact",
620 default,
621 skip_serializing_if = "Option::is_none"
622 )]
623 pub sticky_contact: Option<bool>,
624 #[serde(
625 rename = "isLivePaymentMode",
626 default,
627 skip_serializing_if = "Option::is_none"
628 )]
629 pub is_live_payment_mode: Option<bool>,
630 #[serde(
631 rename = "autoConfirm",
632 default,
633 skip_serializing_if = "Option::is_none"
634 )]
635 pub auto_confirm: Option<bool>,
636 #[serde(
637 rename = "shouldSendAlertEmailsToAssignedMember",
638 default,
639 skip_serializing_if = "Option::is_none"
640 )]
641 pub should_send_alert_emails_to_assigned_member: Option<bool>,
642 #[serde(
643 rename = "alertEmail",
644 default,
645 skip_serializing_if = "Option::is_none"
646 )]
647 pub alert_email: Option<String>,
648 #[serde(
649 rename = "googleInvitationEmails",
650 default,
651 skip_serializing_if = "Option::is_none"
652 )]
653 pub google_invitation_emails: Option<bool>,
654 #[serde(
655 rename = "allowReschedule",
656 default,
657 skip_serializing_if = "Option::is_none"
658 )]
659 pub allow_reschedule: Option<bool>,
660 #[serde(
661 rename = "allowCancellation",
662 default,
663 skip_serializing_if = "Option::is_none"
664 )]
665 pub allow_cancellation: Option<bool>,
666 #[serde(
667 rename = "shouldAssignContactToTeamMember",
668 default,
669 skip_serializing_if = "Option::is_none"
670 )]
671 pub should_assign_contact_to_team_member: Option<bool>,
672 #[serde(
673 rename = "shouldSkipAssigningContactForExisting",
674 default,
675 skip_serializing_if = "Option::is_none"
676 )]
677 pub should_skip_assigning_contact_for_existing: Option<bool>,
678 #[serde(default, skip_serializing_if = "Option::is_none")]
679 pub notes: Option<String>,
680 #[serde(rename = "pixelId", default, skip_serializing_if = "Option::is_none")]
681 pub pixel_id: Option<String>,
682 #[serde(
684 rename = "formSubmitType",
685 default,
686 skip_serializing_if = "Option::is_none"
687 )]
688 pub form_submit_type: Option<String>,
689 #[serde(
690 rename = "formSubmitRedirectURL",
691 default,
692 skip_serializing_if = "Option::is_none"
693 )]
694 pub form_submit_redirect_url: Option<String>,
695 #[serde(
696 rename = "formSubmitThanksMessage",
697 default,
698 skip_serializing_if = "Option::is_none"
699 )]
700 pub form_submit_thanks_message: Option<String>,
701 #[serde(
706 rename = "availabilityType",
707 default,
708 skip_serializing_if = "Option::is_none"
709 )]
710 pub availability_type: Option<String>,
711 #[serde(default, skip_serializing_if = "Vec::is_empty")]
714 pub availabilities: Vec<Availability>,
715 #[serde(rename = "guestType", default, skip_serializing_if = "Option::is_none")]
717 pub guest_type: Option<String>,
718 #[serde(
719 rename = "consentLabel",
720 default,
721 skip_serializing_if = "Option::is_none"
722 )]
723 pub consent_label: Option<String>,
724 #[serde(
725 rename = "calendarCoverImage",
726 default,
727 skip_serializing_if = "Option::is_none"
728 )]
729 pub calendar_cover_image: Option<String>,
730 #[serde(
732 rename = "lookBusyConfig",
733 default,
734 skip_serializing_if = "Option::is_none"
735 )]
736 pub look_busy_config: Option<LookBusyConfiguration>,
737}
738
739#[derive(Debug, Clone, Default, Serialize, Deserialize)]
741pub struct CalendarDTO {
742 #[serde(rename = "isActive", default, skip_serializing_if = "Option::is_none")]
744 pub is_active: Option<bool>,
745 #[serde(default, skip_serializing_if = "Vec::is_empty")]
747 pub notifications: Vec<CalendarNotification>,
748 #[serde(
751 rename = "locationId",
752 default,
753 skip_serializing_if = "Option::is_none"
754 )]
755 pub location_id: Option<String>,
756 #[serde(rename = "groupId", default, skip_serializing_if = "Option::is_none")]
758 pub group_id: Option<String>,
759 #[serde(rename = "teamMembers", default, skip_serializing_if = "Vec::is_empty")]
762 pub team_members: Vec<TeamMemberResponse>,
763 #[serde(rename = "eventType", default, skip_serializing_if = "Option::is_none")]
766 pub event_type: Option<String>,
767 #[serde(default, skip_serializing_if = "Option::is_none")]
770 pub name: Option<String>,
771 #[serde(default, skip_serializing_if = "Option::is_none")]
772 pub description: Option<String>,
773 #[serde(default, skip_serializing_if = "Option::is_none")]
774 pub slug: Option<String>,
775 #[serde(
776 rename = "widgetSlug",
777 default,
778 skip_serializing_if = "Option::is_none"
779 )]
780 pub widget_slug: Option<String>,
781 #[serde(
784 rename = "calendarType",
785 default,
786 skip_serializing_if = "Option::is_none"
787 )]
788 pub calendar_type: Option<String>,
789 #[serde(
792 rename = "widgetType",
793 default,
794 skip_serializing_if = "Option::is_none"
795 )]
796 pub widget_type: Option<String>,
797 #[serde(
798 rename = "eventTitle",
799 default,
800 skip_serializing_if = "Option::is_none"
801 )]
802 pub event_title: Option<String>,
803 #[serde(
804 rename = "eventColor",
805 default,
806 skip_serializing_if = "Option::is_none"
807 )]
808 pub event_color: Option<String>,
809 #[serde(
812 rename = "meetingLocation",
813 default,
814 skip_serializing_if = "Option::is_none"
815 )]
816 pub meeting_location: Option<String>,
817 #[serde(
819 rename = "locationConfigurations",
820 default,
821 skip_serializing_if = "Vec::is_empty"
822 )]
823 pub location_configurations: Vec<LocationConfigurationResponse>,
824 #[serde(
826 rename = "slotDuration",
827 default,
828 skip_serializing_if = "Option::is_none"
829 )]
830 pub slot_duration: Option<f64>,
831 #[serde(
834 rename = "slotDurationUnit",
835 default,
836 skip_serializing_if = "Option::is_none"
837 )]
838 pub slot_duration_unit: Option<String>,
839 #[serde(
842 rename = "slotInterval",
843 default,
844 skip_serializing_if = "Option::is_none"
845 )]
846 pub slot_interval: Option<f64>,
847 #[serde(
850 rename = "slotIntervalUnit",
851 default,
852 skip_serializing_if = "Option::is_none"
853 )]
854 pub slot_interval_unit: Option<String>,
855 #[serde(
858 rename = "slotBuffer",
859 default,
860 skip_serializing_if = "Option::is_none"
861 )]
862 pub slot_buffer: Option<f64>,
863 #[serde(
866 rename = "slotBufferUnit",
867 default,
868 skip_serializing_if = "Option::is_none"
869 )]
870 pub slot_buffer_unit: Option<String>,
871 #[serde(rename = "preBuffer", default, skip_serializing_if = "Option::is_none")]
874 pub pre_buffer: Option<f64>,
875 #[serde(
878 rename = "preBufferUnit",
879 default,
880 skip_serializing_if = "Option::is_none"
881 )]
882 pub pre_buffer_unit: Option<String>,
883 #[serde(
886 rename = "appoinmentPerSlot",
887 default,
888 skip_serializing_if = "Option::is_none"
889 )]
890 pub appoinment_per_slot: Option<f64>,
891 #[serde(
893 rename = "appoinmentPerDay",
894 default,
895 skip_serializing_if = "Option::is_none"
896 )]
897 pub appoinment_per_day: Option<f64>,
898 #[serde(
900 rename = "allowBookingAfter",
901 default,
902 skip_serializing_if = "Option::is_none"
903 )]
904 pub allow_booking_after: Option<f64>,
905 #[serde(
908 rename = "allowBookingAfterUnit",
909 default,
910 skip_serializing_if = "Option::is_none"
911 )]
912 pub allow_booking_after_unit: Option<String>,
913 #[serde(
915 rename = "allowBookingFor",
916 default,
917 skip_serializing_if = "Option::is_none"
918 )]
919 pub allow_booking_for: Option<f64>,
920 #[serde(
923 rename = "allowBookingForUnit",
924 default,
925 skip_serializing_if = "Option::is_none"
926 )]
927 pub allow_booking_for_unit: Option<String>,
928 #[serde(rename = "openHours", default, skip_serializing_if = "Vec::is_empty")]
931 pub open_hours: Vec<OpenHour>,
932 #[serde(
935 rename = "enableRecurring",
936 default,
937 skip_serializing_if = "Option::is_none"
938 )]
939 pub enable_recurring: Option<bool>,
940 #[serde(default, skip_serializing_if = "Option::is_none")]
941 pub recurring: Option<Recurring>,
942 #[serde(rename = "formId", default, skip_serializing_if = "Option::is_none")]
943 pub form_id: Option<String>,
944 #[serde(
945 rename = "stickyContact",
946 default,
947 skip_serializing_if = "Option::is_none"
948 )]
949 pub sticky_contact: Option<bool>,
950 #[serde(
951 rename = "isLivePaymentMode",
952 default,
953 skip_serializing_if = "Option::is_none"
954 )]
955 pub is_live_payment_mode: Option<bool>,
956 #[serde(
957 rename = "autoConfirm",
958 default,
959 skip_serializing_if = "Option::is_none"
960 )]
961 pub auto_confirm: Option<bool>,
962 #[serde(
963 rename = "shouldSendAlertEmailsToAssignedMember",
964 default,
965 skip_serializing_if = "Option::is_none"
966 )]
967 pub should_send_alert_emails_to_assigned_member: Option<bool>,
968 #[serde(
969 rename = "alertEmail",
970 default,
971 skip_serializing_if = "Option::is_none"
972 )]
973 pub alert_email: Option<String>,
974 #[serde(
975 rename = "googleInvitationEmails",
976 default,
977 skip_serializing_if = "Option::is_none"
978 )]
979 pub google_invitation_emails: Option<bool>,
980 #[serde(
981 rename = "allowReschedule",
982 default,
983 skip_serializing_if = "Option::is_none"
984 )]
985 pub allow_reschedule: Option<bool>,
986 #[serde(
987 rename = "allowCancellation",
988 default,
989 skip_serializing_if = "Option::is_none"
990 )]
991 pub allow_cancellation: Option<bool>,
992 #[serde(
993 rename = "shouldAssignContactToTeamMember",
994 default,
995 skip_serializing_if = "Option::is_none"
996 )]
997 pub should_assign_contact_to_team_member: Option<bool>,
998 #[serde(
999 rename = "shouldSkipAssigningContactForExisting",
1000 default,
1001 skip_serializing_if = "Option::is_none"
1002 )]
1003 pub should_skip_assigning_contact_for_existing: Option<bool>,
1004 #[serde(default, skip_serializing_if = "Option::is_none")]
1005 pub notes: Option<String>,
1006 #[serde(rename = "pixelId", default, skip_serializing_if = "Option::is_none")]
1007 pub pixel_id: Option<String>,
1008 #[serde(
1010 rename = "formSubmitType",
1011 default,
1012 skip_serializing_if = "Option::is_none"
1013 )]
1014 pub form_submit_type: Option<String>,
1015 #[serde(
1016 rename = "formSubmitRedirectURL",
1017 default,
1018 skip_serializing_if = "Option::is_none"
1019 )]
1020 pub form_submit_redirect_url: Option<String>,
1021 #[serde(
1022 rename = "formSubmitThanksMessage",
1023 default,
1024 skip_serializing_if = "Option::is_none"
1025 )]
1026 pub form_submit_thanks_message: Option<String>,
1027 #[serde(
1032 rename = "availabilityType",
1033 default,
1034 skip_serializing_if = "Option::is_none"
1035 )]
1036 pub availability_type: Option<String>,
1037 #[serde(default, skip_serializing_if = "Vec::is_empty")]
1040 pub availabilities: Vec<Availability>,
1041 #[serde(rename = "guestType", default, skip_serializing_if = "Option::is_none")]
1043 pub guest_type: Option<String>,
1044 #[serde(
1045 rename = "consentLabel",
1046 default,
1047 skip_serializing_if = "Option::is_none"
1048 )]
1049 pub consent_label: Option<String>,
1050 #[serde(
1051 rename = "calendarCoverImage",
1052 default,
1053 skip_serializing_if = "Option::is_none"
1054 )]
1055 pub calendar_cover_image: Option<String>,
1056 #[serde(
1058 rename = "lookBusyConfig",
1059 default,
1060 skip_serializing_if = "Option::is_none"
1061 )]
1062 pub look_busy_config: Option<LookBusyConfiguration>,
1063 #[serde(default, skip_serializing_if = "Option::is_none")]
1066 pub id: Option<String>,
1067}
1068
1069#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1071pub struct CalendarDeleteSuccessfulResponseDTO {
1072 #[serde(default, skip_serializing_if = "Option::is_none")]
1076 pub success: Option<bool>,
1077}
1078
1079#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1081pub struct CalendarEventDTO {
1082 #[serde(default, skip_serializing_if = "Option::is_none")]
1086 pub id: Option<String>,
1087 #[serde(default, skip_serializing_if = "Option::is_none")]
1089 pub address: Option<String>,
1090 #[serde(default, skip_serializing_if = "Option::is_none")]
1094 pub title: Option<String>,
1095 #[serde(
1099 rename = "calendarId",
1100 default,
1101 skip_serializing_if = "Option::is_none"
1102 )]
1103 pub calendar_id: Option<String>,
1104 #[serde(
1108 rename = "locationId",
1109 default,
1110 skip_serializing_if = "Option::is_none"
1111 )]
1112 pub location_id: Option<String>,
1113 #[serde(rename = "contactId", default, skip_serializing_if = "Option::is_none")]
1117 pub contact_id: Option<String>,
1118 #[serde(rename = "groupId", default, skip_serializing_if = "Option::is_none")]
1122 pub group_id: Option<String>,
1123 #[serde(
1127 rename = "appointmentStatus",
1128 default,
1129 skip_serializing_if = "Option::is_none"
1130 )]
1131 pub appointment_status: Option<String>,
1132 #[serde(
1136 rename = "assignedUserId",
1137 default,
1138 skip_serializing_if = "Option::is_none"
1139 )]
1140 pub assigned_user_id: Option<String>,
1141 #[serde(default, skip_serializing_if = "Vec::is_empty")]
1145 pub users: Vec<String>,
1146 #[serde(default, skip_serializing_if = "Option::is_none")]
1148 pub notes: Option<String>,
1149 #[serde(default, skip_serializing_if = "Option::is_none")]
1151 pub description: Option<String>,
1152 #[serde(
1154 rename = "isRecurring",
1155 default,
1156 skip_serializing_if = "Option::is_none"
1157 )]
1158 pub is_recurring: Option<bool>,
1159 #[serde(default, skip_serializing_if = "Option::is_none")]
1162 pub rrule: Option<String>,
1163 #[serde(rename = "startTime", default, skip_serializing_if = "Option::is_none")]
1167 pub start_time: Option<serde_json::Value>,
1168 #[serde(rename = "endTime", default, skip_serializing_if = "Option::is_none")]
1172 pub end_time: Option<serde_json::Value>,
1173 #[serde(rename = "dateAdded", default, skip_serializing_if = "Option::is_none")]
1177 pub date_added: Option<serde_json::Value>,
1178 #[serde(
1182 rename = "dateUpdated",
1183 default,
1184 skip_serializing_if = "Option::is_none"
1185 )]
1186 pub date_updated: Option<serde_json::Value>,
1187 #[serde(
1189 rename = "assignedResources",
1190 default,
1191 skip_serializing_if = "Vec::is_empty"
1192 )]
1193 pub assigned_resources: Vec<String>,
1194 #[serde(rename = "createdBy", default, skip_serializing_if = "Option::is_none")]
1196 pub created_by: Option<CreatedOrUpdatedBy>,
1197 #[serde(
1199 rename = "masterEventId",
1200 default,
1201 skip_serializing_if = "Option::is_none"
1202 )]
1203 pub master_event_id: Option<String>,
1204}
1205
1206#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1208pub struct CalendarNotification {
1209 #[serde(rename = "type", default, skip_serializing_if = "Option::is_none")]
1212 pub type_: Option<String>,
1213 #[serde(
1216 rename = "shouldSendToContact",
1217 default,
1218 skip_serializing_if = "Option::is_none"
1219 )]
1220 pub should_send_to_contact: Option<bool>,
1221 #[serde(
1224 rename = "shouldSendToGuest",
1225 default,
1226 skip_serializing_if = "Option::is_none"
1227 )]
1228 pub should_send_to_guest: Option<bool>,
1229 #[serde(
1232 rename = "shouldSendToUser",
1233 default,
1234 skip_serializing_if = "Option::is_none"
1235 )]
1236 pub should_send_to_user: Option<bool>,
1237 #[serde(
1240 rename = "shouldSendToSelectedUsers",
1241 default,
1242 skip_serializing_if = "Option::is_none"
1243 )]
1244 pub should_send_to_selected_users: Option<bool>,
1245 #[serde(
1249 rename = "selectedUsers",
1250 default,
1251 skip_serializing_if = "Option::is_none"
1252 )]
1253 pub selected_users: Option<String>,
1254}
1255
1256#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1258pub struct CalendarNotificationDeleteResponseDTO {
1259 #[serde(default, skip_serializing_if = "Option::is_none")]
1263 pub message: Option<String>,
1264}
1265
1266#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1268pub struct CalendarNotificationResponseDTO {
1269 #[serde(rename = "_id", default, skip_serializing_if = "Option::is_none")]
1271 pub id: Option<String>,
1272 #[serde(
1275 rename = "receiverType",
1276 default,
1277 skip_serializing_if = "Option::is_none"
1278 )]
1279 pub receiver_type: Option<String>,
1280 #[serde(
1281 rename = "additionalEmailIds",
1282 default,
1283 skip_serializing_if = "Vec::is_empty"
1284 )]
1285 pub additional_email_ids: Vec<String>,
1286 #[serde(
1287 rename = "additionalPhoneNumbers",
1288 default,
1289 skip_serializing_if = "Vec::is_empty"
1290 )]
1291 pub additional_phone_numbers: Vec<String>,
1292 #[serde(default, skip_serializing_if = "Option::is_none")]
1294 pub channel: Option<String>,
1295 #[serde(
1298 rename = "notificationType",
1299 default,
1300 skip_serializing_if = "Option::is_none"
1301 )]
1302 pub notification_type: Option<String>,
1303 #[serde(rename = "isActive", default, skip_serializing_if = "Option::is_none")]
1304 pub is_active: Option<bool>,
1305 #[serde(
1306 rename = "additionalWhatsappNumbers",
1307 default,
1308 skip_serializing_if = "Vec::is_empty"
1309 )]
1310 pub additional_whatsapp_numbers: Vec<String>,
1311 #[serde(
1312 rename = "templateId",
1313 default,
1314 skip_serializing_if = "Option::is_none"
1315 )]
1316 pub template_id: Option<String>,
1317 #[serde(default, skip_serializing_if = "Option::is_none")]
1318 pub body: Option<String>,
1319 #[serde(default, skip_serializing_if = "Option::is_none")]
1320 pub subject: Option<String>,
1321 #[serde(rename = "afterTime", default, skip_serializing_if = "Vec::is_empty")]
1322 pub after_time: Vec<SchedulesDTO>,
1323 #[serde(rename = "beforeTime", default, skip_serializing_if = "Vec::is_empty")]
1324 pub before_time: Vec<SchedulesDTO>,
1325 #[serde(
1326 rename = "selectedUsers",
1327 default,
1328 skip_serializing_if = "Vec::is_empty"
1329 )]
1330 pub selected_users: Vec<String>,
1331 #[serde(default, skip_serializing_if = "Option::is_none")]
1332 pub deleted: Option<bool>,
1333}
1334
1335#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1337pub struct CalendarResourceByIdResponseDTO {
1338 #[serde(
1342 rename = "locationId",
1343 default,
1344 skip_serializing_if = "Option::is_none"
1345 )]
1346 pub location_id: Option<String>,
1347 #[serde(default, skip_serializing_if = "Option::is_none")]
1351 pub name: Option<String>,
1352 #[serde(
1356 rename = "resourceType",
1357 default,
1358 skip_serializing_if = "Option::is_none"
1359 )]
1360 pub resource_type: Option<String>,
1361 #[serde(rename = "isActive", default, skip_serializing_if = "Option::is_none")]
1365 pub is_active: Option<bool>,
1366 #[serde(default, skip_serializing_if = "Option::is_none")]
1368 pub description: Option<String>,
1369 #[serde(default, skip_serializing_if = "Option::is_none")]
1371 pub quantity: Option<f64>,
1372 #[serde(
1374 rename = "outOfService",
1375 default,
1376 skip_serializing_if = "Option::is_none"
1377 )]
1378 pub out_of_service: Option<f64>,
1379 #[serde(default, skip_serializing_if = "Option::is_none")]
1381 pub capacity: Option<f64>,
1382 #[serde(rename = "calendarIds", default, skip_serializing_if = "Vec::is_empty")]
1386 pub calendar_ids: Vec<String>,
1387}
1388
1389#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1391pub struct CalendarResourceResponseDTO {
1392 #[serde(
1396 rename = "locationId",
1397 default,
1398 skip_serializing_if = "Option::is_none"
1399 )]
1400 pub location_id: Option<String>,
1401 #[serde(default, skip_serializing_if = "Option::is_none")]
1405 pub name: Option<String>,
1406 #[serde(
1410 rename = "resourceType",
1411 default,
1412 skip_serializing_if = "Option::is_none"
1413 )]
1414 pub resource_type: Option<String>,
1415 #[serde(rename = "isActive", default, skip_serializing_if = "Option::is_none")]
1419 pub is_active: Option<bool>,
1420 #[serde(default, skip_serializing_if = "Option::is_none")]
1422 pub description: Option<String>,
1423 #[serde(default, skip_serializing_if = "Option::is_none")]
1425 pub quantity: Option<f64>,
1426 #[serde(
1428 rename = "outOfService",
1429 default,
1430 skip_serializing_if = "Option::is_none"
1431 )]
1432 pub out_of_service: Option<f64>,
1433 #[serde(default, skip_serializing_if = "Option::is_none")]
1435 pub capacity: Option<f64>,
1436}
1437
1438#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1440pub struct CalendarUpdateDTO {
1441 #[serde(default, skip_serializing_if = "Vec::is_empty")]
1443 pub notifications: Vec<CalendarNotification>,
1444 #[serde(rename = "groupId", default, skip_serializing_if = "Option::is_none")]
1446 pub group_id: Option<String>,
1447 #[serde(rename = "teamMembers", default, skip_serializing_if = "Vec::is_empty")]
1450 pub team_members: Vec<TeamMember>,
1451 #[serde(rename = "eventType", default, skip_serializing_if = "Option::is_none")]
1454 pub event_type: Option<String>,
1455 #[serde(default, skip_serializing_if = "Option::is_none")]
1456 pub name: Option<String>,
1457 #[serde(default, skip_serializing_if = "Option::is_none")]
1458 pub description: Option<String>,
1459 #[serde(default, skip_serializing_if = "Option::is_none")]
1460 pub slug: Option<String>,
1461 #[serde(
1462 rename = "widgetSlug",
1463 default,
1464 skip_serializing_if = "Option::is_none"
1465 )]
1466 pub widget_slug: Option<String>,
1467 #[serde(
1470 rename = "widgetType",
1471 default,
1472 skip_serializing_if = "Option::is_none"
1473 )]
1474 pub widget_type: Option<String>,
1475 #[serde(
1476 rename = "eventTitle",
1477 default,
1478 skip_serializing_if = "Option::is_none"
1479 )]
1480 pub event_title: Option<String>,
1481 #[serde(
1482 rename = "eventColor",
1483 default,
1484 skip_serializing_if = "Option::is_none"
1485 )]
1486 pub event_color: Option<String>,
1487 #[serde(
1489 rename = "locationConfigurations",
1490 default,
1491 skip_serializing_if = "Vec::is_empty"
1492 )]
1493 pub location_configurations: Vec<LocationConfiguration>,
1494 #[serde(
1497 rename = "meetingLocation",
1498 default,
1499 skip_serializing_if = "Option::is_none"
1500 )]
1501 pub meeting_location: Option<String>,
1502 #[serde(
1504 rename = "slotDuration",
1505 default,
1506 skip_serializing_if = "Option::is_none"
1507 )]
1508 pub slot_duration: Option<f64>,
1509 #[serde(
1512 rename = "slotDurationUnit",
1513 default,
1514 skip_serializing_if = "Option::is_none"
1515 )]
1516 pub slot_duration_unit: Option<String>,
1517 #[serde(
1520 rename = "preBufferUnit",
1521 default,
1522 skip_serializing_if = "Option::is_none"
1523 )]
1524 pub pre_buffer_unit: Option<String>,
1525 #[serde(
1528 rename = "slotInterval",
1529 default,
1530 skip_serializing_if = "Option::is_none"
1531 )]
1532 pub slot_interval: Option<f64>,
1533 #[serde(
1536 rename = "slotIntervalUnit",
1537 default,
1538 skip_serializing_if = "Option::is_none"
1539 )]
1540 pub slot_interval_unit: Option<String>,
1541 #[serde(
1544 rename = "slotBuffer",
1545 default,
1546 skip_serializing_if = "Option::is_none"
1547 )]
1548 pub slot_buffer: Option<f64>,
1549 #[serde(rename = "preBuffer", default, skip_serializing_if = "Option::is_none")]
1552 pub pre_buffer: Option<f64>,
1553 #[serde(
1554 rename = "appoinmentPerSlot",
1555 default,
1556 skip_serializing_if = "Option::is_none"
1557 )]
1558 pub appoinment_per_slot: Option<f64>,
1559 #[serde(
1561 rename = "appoinmentPerDay",
1562 default,
1563 skip_serializing_if = "Option::is_none"
1564 )]
1565 pub appoinment_per_day: Option<f64>,
1566 #[serde(
1568 rename = "allowBookingAfter",
1569 default,
1570 skip_serializing_if = "Option::is_none"
1571 )]
1572 pub allow_booking_after: Option<f64>,
1573 #[serde(
1576 rename = "allowBookingAfterUnit",
1577 default,
1578 skip_serializing_if = "Option::is_none"
1579 )]
1580 pub allow_booking_after_unit: Option<String>,
1581 #[serde(
1583 rename = "allowBookingFor",
1584 default,
1585 skip_serializing_if = "Option::is_none"
1586 )]
1587 pub allow_booking_for: Option<f64>,
1588 #[serde(
1591 rename = "allowBookingForUnit",
1592 default,
1593 skip_serializing_if = "Option::is_none"
1594 )]
1595 pub allow_booking_for_unit: Option<String>,
1596 #[serde(rename = "openHours", default, skip_serializing_if = "Vec::is_empty")]
1597 pub open_hours: Vec<OpenHour>,
1598 #[serde(
1601 rename = "enableRecurring",
1602 default,
1603 skip_serializing_if = "Option::is_none"
1604 )]
1605 pub enable_recurring: Option<bool>,
1606 #[serde(default, skip_serializing_if = "Option::is_none")]
1607 pub recurring: Option<Recurring>,
1608 #[serde(rename = "formId", default, skip_serializing_if = "Option::is_none")]
1609 pub form_id: Option<String>,
1610 #[serde(
1611 rename = "stickyContact",
1612 default,
1613 skip_serializing_if = "Option::is_none"
1614 )]
1615 pub sticky_contact: Option<bool>,
1616 #[serde(
1617 rename = "isLivePaymentMode",
1618 default,
1619 skip_serializing_if = "Option::is_none"
1620 )]
1621 pub is_live_payment_mode: Option<bool>,
1622 #[serde(
1623 rename = "autoConfirm",
1624 default,
1625 skip_serializing_if = "Option::is_none"
1626 )]
1627 pub auto_confirm: Option<bool>,
1628 #[serde(
1629 rename = "shouldSendAlertEmailsToAssignedMember",
1630 default,
1631 skip_serializing_if = "Option::is_none"
1632 )]
1633 pub should_send_alert_emails_to_assigned_member: Option<bool>,
1634 #[serde(
1635 rename = "alertEmail",
1636 default,
1637 skip_serializing_if = "Option::is_none"
1638 )]
1639 pub alert_email: Option<String>,
1640 #[serde(
1641 rename = "googleInvitationEmails",
1642 default,
1643 skip_serializing_if = "Option::is_none"
1644 )]
1645 pub google_invitation_emails: Option<bool>,
1646 #[serde(
1647 rename = "allowReschedule",
1648 default,
1649 skip_serializing_if = "Option::is_none"
1650 )]
1651 pub allow_reschedule: Option<bool>,
1652 #[serde(
1653 rename = "allowCancellation",
1654 default,
1655 skip_serializing_if = "Option::is_none"
1656 )]
1657 pub allow_cancellation: Option<bool>,
1658 #[serde(
1659 rename = "shouldAssignContactToTeamMember",
1660 default,
1661 skip_serializing_if = "Option::is_none"
1662 )]
1663 pub should_assign_contact_to_team_member: Option<bool>,
1664 #[serde(
1665 rename = "shouldSkipAssigningContactForExisting",
1666 default,
1667 skip_serializing_if = "Option::is_none"
1668 )]
1669 pub should_skip_assigning_contact_for_existing: Option<bool>,
1670 #[serde(default, skip_serializing_if = "Option::is_none")]
1671 pub notes: Option<String>,
1672 #[serde(rename = "pixelId", default, skip_serializing_if = "Option::is_none")]
1673 pub pixel_id: Option<String>,
1674 #[serde(
1676 rename = "formSubmitType",
1677 default,
1678 skip_serializing_if = "Option::is_none"
1679 )]
1680 pub form_submit_type: Option<String>,
1681 #[serde(
1682 rename = "formSubmitRedirectURL",
1683 default,
1684 skip_serializing_if = "Option::is_none"
1685 )]
1686 pub form_submit_redirect_url: Option<String>,
1687 #[serde(
1688 rename = "formSubmitThanksMessage",
1689 default,
1690 skip_serializing_if = "Option::is_none"
1691 )]
1692 pub form_submit_thanks_message: Option<String>,
1693 #[serde(
1698 rename = "availabilityType",
1699 default,
1700 skip_serializing_if = "Option::is_none"
1701 )]
1702 pub availability_type: Option<String>,
1703 #[serde(default, skip_serializing_if = "Vec::is_empty")]
1706 pub availabilities: Vec<UpdateAvailability>,
1707 #[serde(rename = "guestType", default, skip_serializing_if = "Option::is_none")]
1709 pub guest_type: Option<String>,
1710 #[serde(
1711 rename = "consentLabel",
1712 default,
1713 skip_serializing_if = "Option::is_none"
1714 )]
1715 pub consent_label: Option<String>,
1716 #[serde(
1717 rename = "calendarCoverImage",
1718 default,
1719 skip_serializing_if = "Option::is_none"
1720 )]
1721 pub calendar_cover_image: Option<String>,
1722 #[serde(
1724 rename = "lookBusyConfig",
1725 default,
1726 skip_serializing_if = "Option::is_none"
1727 )]
1728 pub look_busy_config: Option<LookBusyConfiguration>,
1729 #[serde(rename = "isActive", default, skip_serializing_if = "Option::is_none")]
1730 pub is_active: Option<bool>,
1731}
1732
1733#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1735pub struct CalendarsGetSuccessfulResponseDTO {
1736 #[serde(default, skip_serializing_if = "Vec::is_empty")]
1737 pub calendars: Vec<CalendarDTO>,
1738}
1739
1740#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1742pub struct CreateCalendarNotificationDTO {
1743 #[serde(rename = "receiverType")]
1748 pub receiver_type: String,
1749 pub channel: String,
1753 #[serde(rename = "notificationType")]
1758 pub notification_type: String,
1759 #[serde(rename = "isActive", default, skip_serializing_if = "Option::is_none")]
1761 pub is_active: Option<bool>,
1762 #[serde(
1764 rename = "templateId",
1765 default,
1766 skip_serializing_if = "Option::is_none"
1767 )]
1768 pub template_id: Option<String>,
1769 #[serde(default, skip_serializing_if = "Option::is_none")]
1771 pub body: Option<String>,
1772 #[serde(default, skip_serializing_if = "Option::is_none")]
1774 pub subject: Option<String>,
1775 #[serde(rename = "afterTime", default, skip_serializing_if = "Vec::is_empty")]
1778 pub after_time: Vec<SchedulesDTO>,
1779 #[serde(rename = "beforeTime", default, skip_serializing_if = "Vec::is_empty")]
1782 pub before_time: Vec<SchedulesDTO>,
1783 #[serde(
1785 rename = "additionalEmailIds",
1786 default,
1787 skip_serializing_if = "Vec::is_empty"
1788 )]
1789 pub additional_email_ids: Vec<String>,
1790 #[serde(
1792 rename = "additionalPhoneNumbers",
1793 default,
1794 skip_serializing_if = "Vec::is_empty"
1795 )]
1796 pub additional_phone_numbers: Vec<String>,
1797 #[serde(
1800 rename = "selectedUsers",
1801 default,
1802 skip_serializing_if = "Vec::is_empty"
1803 )]
1804 pub selected_users: Vec<String>,
1805 #[serde(
1807 rename = "fromAddress",
1808 default,
1809 skip_serializing_if = "Option::is_none"
1810 )]
1811 pub from_address: Option<String>,
1812 #[serde(rename = "fromName", default, skip_serializing_if = "Option::is_none")]
1814 pub from_name: Option<String>,
1815 #[serde(
1817 rename = "fromNumber",
1818 default,
1819 skip_serializing_if = "Option::is_none"
1820 )]
1821 pub from_number: Option<String>,
1822}
1823
1824#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1826pub struct CreateCalendarResourceDTO {
1827 #[serde(rename = "locationId")]
1829 pub location_id: String,
1830 pub name: String,
1832 pub description: String,
1834 pub quantity: f64,
1837 #[serde(rename = "outOfService")]
1840 pub out_of_service: f64,
1841 pub capacity: f64,
1844 #[serde(rename = "calendarIds", default, skip_serializing_if = "Vec::is_empty")]
1848 pub calendar_ids: Vec<String>,
1849}
1850
1851#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1853pub struct CreateScheduleDTO {
1854 #[serde(default, skip_serializing_if = "Vec::is_empty")]
1856 pub rules: Vec<ScheduleRuleDTO>,
1857 pub timezone: String,
1860 #[serde(rename = "locationId")]
1863 pub location_id: String,
1864 pub name: String,
1867 #[serde(rename = "userId")]
1870 pub user_id: String,
1871 #[serde(rename = "calendarIds", default, skip_serializing_if = "Vec::is_empty")]
1873 pub calendar_ids: Vec<String>,
1874}
1875
1876#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1878pub struct CreatedOrUpdatedBy {
1879 #[serde(rename = "userId", default, skip_serializing_if = "Option::is_none")]
1881 pub user_id: Option<String>,
1882 #[serde(default, skip_serializing_if = "Option::is_none")]
1886 pub source: Option<String>,
1887}
1888
1889#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1891pub struct DeleteAppointmentSchema {
1892 #[serde(flatten)]
1894 pub extra: serde_json::Map<String, serde_json::Value>,
1895}
1896
1897#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1899pub struct DeleteEventSuccessfulResponseDto {
1900 #[serde(default, skip_serializing_if = "Option::is_none")]
1901 pub succeeded: Option<bool>,
1902}
1903
1904#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1906pub struct DeleteNoteSuccessfulResponseDto {
1907 #[serde(default, skip_serializing_if = "Option::is_none")]
1908 pub success: Option<bool>,
1909}
1910
1911#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1913pub struct GetAllSchedulesResponseDTO {
1914 #[serde(default, skip_serializing_if = "Vec::is_empty")]
1918 pub schedules: Vec<ScheduleObjectResponseDTO>,
1919}
1920
1921#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1923pub struct GetCalendarEventSuccessfulResponseDTO {
1924 #[serde(default, skip_serializing_if = "Option::is_none")]
1925 pub event: Option<CalendarEventDTO>,
1926}
1927
1928#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1930pub struct GetCalendarEventsSuccessfulResponseDTO {
1931 #[serde(default, skip_serializing_if = "Vec::is_empty")]
1932 pub events: Vec<CalendarEventDTO>,
1933}
1934
1935#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1937pub struct GetCreateUpdateNoteSuccessfulResponseDto {
1938 #[serde(default, skip_serializing_if = "Option::is_none")]
1939 pub note: Option<GetNoteSchema>,
1940}
1941
1942#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1944pub struct GetNoteSchema {
1945 #[serde(default, skip_serializing_if = "Option::is_none")]
1946 pub id: Option<String>,
1947 #[serde(default, skip_serializing_if = "Option::is_none")]
1948 pub body: Option<String>,
1949 #[serde(rename = "userId", default, skip_serializing_if = "Option::is_none")]
1950 pub user_id: Option<String>,
1951 #[serde(rename = "dateAdded", default, skip_serializing_if = "Option::is_none")]
1952 pub date_added: Option<String>,
1953 #[serde(rename = "contactId", default, skip_serializing_if = "Option::is_none")]
1954 pub contact_id: Option<String>,
1955 #[serde(rename = "createdBy", default, skip_serializing_if = "Option::is_none")]
1956 pub created_by: Option<NoteCreatedBySchema>,
1957}
1958
1959#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1961pub struct GetNotesListSuccessfulResponseDto {
1962 #[serde(default, skip_serializing_if = "Vec::is_empty")]
1963 pub notes: Vec<GetNoteSchema>,
1964 #[serde(rename = "hasMore", default, skip_serializing_if = "Option::is_none")]
1965 pub has_more: Option<bool>,
1966}
1967
1968#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1970pub struct GroupCreateDTO {
1971 #[serde(rename = "locationId")]
1973 pub location_id: String,
1974 pub name: String,
1976 pub description: String,
1978 pub slug: String,
1980 #[serde(rename = "isActive", default, skip_serializing_if = "Option::is_none")]
1981 pub is_active: Option<bool>,
1982}
1983
1984#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1986pub struct GroupCreateSuccessfulResponseDTO {
1987 #[serde(default, skip_serializing_if = "Option::is_none")]
1988 pub group: Option<GroupDTO>,
1989}
1990
1991#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1993pub struct GroupDTO {
1994 #[serde(
1997 rename = "locationId",
1998 default,
1999 skip_serializing_if = "Option::is_none"
2000 )]
2001 pub location_id: Option<String>,
2002 #[serde(default, skip_serializing_if = "Option::is_none")]
2005 pub name: Option<String>,
2006 #[serde(default, skip_serializing_if = "Option::is_none")]
2009 pub description: Option<String>,
2010 #[serde(default, skip_serializing_if = "Option::is_none")]
2013 pub slug: Option<String>,
2014 #[serde(rename = "isActive", default, skip_serializing_if = "Option::is_none")]
2015 pub is_active: Option<bool>,
2016 #[serde(default, skip_serializing_if = "Option::is_none")]
2017 pub id: Option<String>,
2018}
2019
2020#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2022pub struct GroupStatusUpdateParams {
2023 #[serde(rename = "isActive")]
2026 pub is_active: bool,
2027}
2028
2029#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2031pub struct GroupSuccessfulResponseDTO {
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 GroupUpdateDTO {
2040 pub name: String,
2042 pub description: String,
2044 pub slug: String,
2046}
2047
2048#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2050pub struct Hour {
2051 #[serde(rename = "openHour", default, skip_serializing_if = "Option::is_none")]
2054 pub open_hour: Option<f64>,
2055 #[serde(
2058 rename = "openMinute",
2059 default,
2060 skip_serializing_if = "Option::is_none"
2061 )]
2062 pub open_minute: Option<f64>,
2063 #[serde(rename = "closeHour", default, skip_serializing_if = "Option::is_none")]
2066 pub close_hour: Option<f64>,
2067 #[serde(
2070 rename = "closeMinute",
2071 default,
2072 skip_serializing_if = "Option::is_none"
2073 )]
2074 pub close_minute: Option<f64>,
2075}
2076
2077#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2079pub struct LocationConfiguration {
2080 pub kind: String,
2086 #[serde(default, skip_serializing_if = "Option::is_none")]
2089 pub location: Option<String>,
2090}
2091
2092#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2094pub struct LocationConfigurationResponse {
2095 #[serde(default, skip_serializing_if = "Option::is_none")]
2102 pub kind: Option<String>,
2103 #[serde(default, skip_serializing_if = "Option::is_none")]
2106 pub location: Option<String>,
2107 #[serde(rename = "meetingId", default, skip_serializing_if = "Option::is_none")]
2109 pub meeting_id: Option<String>,
2110}
2111
2112#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2114pub struct LookBusyConfiguration {
2115 #[serde(default, skip_serializing_if = "Option::is_none")]
2119 pub enabled: Option<bool>,
2120 #[serde(
2124 rename = "LookBusyPercentage",
2125 default,
2126 skip_serializing_if = "Option::is_none"
2127 )]
2128 pub look_busy_percentage: Option<f64>,
2129}
2130
2131#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2133pub struct NoteCreatedBySchema {
2134 #[serde(default, skip_serializing_if = "Option::is_none")]
2135 pub id: Option<String>,
2136 #[serde(default, skip_serializing_if = "Option::is_none")]
2137 pub name: Option<String>,
2138}
2139
2140#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2142pub struct NotesDTO {
2143 #[serde(rename = "userId", default, skip_serializing_if = "Option::is_none")]
2144 pub user_id: Option<String>,
2145 pub body: String,
2148}
2149
2150#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2152pub struct OpenHour {
2153 #[serde(
2156 rename = "daysOfTheWeek",
2157 default,
2158 skip_serializing_if = "Vec::is_empty"
2159 )]
2160 pub days_of_the_week: Vec<f64>,
2161 #[serde(default, skip_serializing_if = "Vec::is_empty")]
2164 pub hours: Vec<Hour>,
2165}
2166
2167#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2169pub struct Recurring {
2170 #[serde(default, skip_serializing_if = "Option::is_none")]
2172 pub freq: Option<String>,
2173 #[serde(default, skip_serializing_if = "Option::is_none")]
2175 pub count: Option<f64>,
2176 #[serde(
2179 rename = "bookingOption",
2180 default,
2181 skip_serializing_if = "Option::is_none"
2182 )]
2183 pub booking_option: Option<String>,
2184 #[serde(
2187 rename = "bookingOverlapDefaultStatus",
2188 default,
2189 skip_serializing_if = "Option::is_none"
2190 )]
2191 pub booking_overlap_default_status: Option<String>,
2192}
2193
2194#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2196pub struct ResourceDeleteResponseDTO {
2197 #[serde(default, skip_serializing_if = "Option::is_none")]
2199 pub success: Option<bool>,
2200}
2201
2202#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2204pub struct ScheduleIntervalDTO {
2205 #[serde(rename = "from", default, skip_serializing_if = "Option::is_none")]
2209 pub from_: Option<String>,
2210 #[serde(default, skip_serializing_if = "Option::is_none")]
2214 pub to: Option<String>,
2215}
2216
2217#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2219pub struct ScheduleObjectResponseDTO {
2220 #[serde(default, skip_serializing_if = "Option::is_none")]
2224 pub id: Option<String>,
2225 #[serde(default, skip_serializing_if = "Option::is_none")]
2229 pub name: Option<String>,
2230 #[serde(
2234 rename = "locationId",
2235 default,
2236 skip_serializing_if = "Option::is_none"
2237 )]
2238 pub location_id: Option<String>,
2239 #[serde(default, skip_serializing_if = "Vec::is_empty")]
2243 pub rules: Vec<ScheduleRuleDTO>,
2244 #[serde(default, skip_serializing_if = "Option::is_none")]
2248 pub timezone: Option<String>,
2249 #[serde(rename = "dateAdded", default, skip_serializing_if = "Option::is_none")]
2253 pub date_added: Option<String>,
2254 #[serde(
2258 rename = "dateUpdated",
2259 default,
2260 skip_serializing_if = "Option::is_none"
2261 )]
2262 pub date_updated: Option<String>,
2263 #[serde(rename = "userId", default, skip_serializing_if = "Option::is_none")]
2267 pub user_id: Option<String>,
2268 #[serde(rename = "calendarIds", default, skip_serializing_if = "Vec::is_empty")]
2270 pub calendar_ids: Vec<String>,
2271 #[serde(default, skip_serializing_if = "Option::is_none")]
2275 pub deleted: Option<bool>,
2276}
2277
2278#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2280pub struct ScheduleResponseDTO {
2281 #[serde(default, skip_serializing_if = "Option::is_none")]
2285 pub schedule: Option<ScheduleObjectResponseDTO>,
2286}
2287
2288#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2290pub struct ScheduleRuleDTO {
2291 #[serde(rename = "type", default, skip_serializing_if = "Option::is_none")]
2296 pub type_: Option<String>,
2297 #[serde(default, skip_serializing_if = "Vec::is_empty")]
2301 pub intervals: Vec<ScheduleIntervalDTO>,
2302 #[serde(default, skip_serializing_if = "Option::is_none")]
2304 pub date: Option<String>,
2305 #[serde(default, skip_serializing_if = "Option::is_none")]
2309 pub day: Option<String>,
2310}
2311
2312#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2314pub struct SchedulesDTO {
2315 #[serde(
2316 rename = "timeOffset",
2317 default,
2318 skip_serializing_if = "Option::is_none"
2319 )]
2320 pub time_offset: Option<f64>,
2321 #[serde(default, skip_serializing_if = "Option::is_none")]
2322 pub unit: Option<String>,
2323}
2324
2325#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2327pub struct SlotsSchema {
2328 #[serde(default, skip_serializing_if = "Vec::is_empty")]
2331 pub slots: Vec<String>,
2332}
2333
2334#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2336pub struct TeamMember {
2337 #[serde(rename = "userId")]
2339 pub user_id: String,
2340 #[serde(default, skip_serializing_if = "Option::is_none")]
2342 pub priority: Option<String>,
2343 #[serde(
2346 rename = "meetingLocationType",
2347 default,
2348 skip_serializing_if = "Option::is_none"
2349 )]
2350 pub meeting_location_type: Option<String>,
2351 #[serde(
2353 rename = "meetingLocation",
2354 default,
2355 skip_serializing_if = "Option::is_none"
2356 )]
2357 pub meeting_location: Option<String>,
2358 #[serde(rename = "isPrimary", default, skip_serializing_if = "Option::is_none")]
2361 pub is_primary: Option<bool>,
2362 #[serde(
2366 rename = "locationConfigurations",
2367 default,
2368 skip_serializing_if = "Vec::is_empty"
2369 )]
2370 pub location_configurations: Vec<LocationConfiguration>,
2371}
2372
2373#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2375pub struct TeamMemberResponse {
2376 #[serde(rename = "userId", default, skip_serializing_if = "Option::is_none")]
2379 pub user_id: Option<String>,
2380 #[serde(default, skip_serializing_if = "Option::is_none")]
2382 pub priority: Option<String>,
2383 #[serde(
2386 rename = "meetingLocationType",
2387 default,
2388 skip_serializing_if = "Option::is_none"
2389 )]
2390 pub meeting_location_type: Option<String>,
2391 #[serde(
2393 rename = "meetingLocation",
2394 default,
2395 skip_serializing_if = "Option::is_none"
2396 )]
2397 pub meeting_location: Option<String>,
2398 #[serde(rename = "isPrimary", default, skip_serializing_if = "Option::is_none")]
2401 pub is_primary: Option<bool>,
2402 #[serde(
2404 rename = "locationConfigurations",
2405 default,
2406 skip_serializing_if = "Vec::is_empty"
2407 )]
2408 pub location_configurations: Vec<LocationConfigurationResponse>,
2409}
2410
2411#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2413pub struct UpdateAvailability {
2414 pub date: String,
2417 #[serde(default, skip_serializing_if = "Vec::is_empty")]
2419 pub hours: Vec<Hour>,
2420 #[serde(default, skip_serializing_if = "Option::is_none")]
2421 pub deleted: Option<bool>,
2422 #[serde(default, skip_serializing_if = "Option::is_none")]
2425 pub id: Option<String>,
2426}
2427
2428#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2430pub struct UpdateCalendarNotificationsDTO {
2431 #[serde(
2435 rename = "receiverType",
2436 default,
2437 skip_serializing_if = "Option::is_none"
2438 )]
2439 pub receiver_type: Option<String>,
2440 #[serde(
2442 rename = "additionalEmailIds",
2443 default,
2444 skip_serializing_if = "Vec::is_empty"
2445 )]
2446 pub additional_email_ids: Vec<String>,
2447 #[serde(
2449 rename = "additionalPhoneNumbers",
2450 default,
2451 skip_serializing_if = "Vec::is_empty"
2452 )]
2453 pub additional_phone_numbers: Vec<String>,
2454 #[serde(
2457 rename = "selectedUsers",
2458 default,
2459 skip_serializing_if = "Vec::is_empty"
2460 )]
2461 pub selected_users: Vec<String>,
2462 #[serde(default, skip_serializing_if = "Option::is_none")]
2465 pub channel: Option<String>,
2466 #[serde(
2470 rename = "notificationType",
2471 default,
2472 skip_serializing_if = "Option::is_none"
2473 )]
2474 pub notification_type: Option<String>,
2475 #[serde(rename = "isActive", default, skip_serializing_if = "Option::is_none")]
2477 pub is_active: Option<bool>,
2478 #[serde(default, skip_serializing_if = "Option::is_none")]
2480 pub deleted: Option<bool>,
2481 #[serde(
2483 rename = "templateId",
2484 default,
2485 skip_serializing_if = "Option::is_none"
2486 )]
2487 pub template_id: Option<String>,
2488 #[serde(default, skip_serializing_if = "Option::is_none")]
2490 pub body: Option<String>,
2491 #[serde(default, skip_serializing_if = "Option::is_none")]
2493 pub subject: Option<String>,
2494 #[serde(rename = "afterTime", default, skip_serializing_if = "Vec::is_empty")]
2497 pub after_time: Vec<SchedulesDTO>,
2498 #[serde(rename = "beforeTime", default, skip_serializing_if = "Vec::is_empty")]
2501 pub before_time: Vec<SchedulesDTO>,
2502 #[serde(
2504 rename = "fromAddress",
2505 default,
2506 skip_serializing_if = "Option::is_none"
2507 )]
2508 pub from_address: Option<String>,
2509 #[serde(
2511 rename = "fromNumber",
2512 default,
2513 skip_serializing_if = "Option::is_none"
2514 )]
2515 pub from_number: Option<String>,
2516 #[serde(rename = "fromName", default, skip_serializing_if = "Option::is_none")]
2518 pub from_name: Option<String>,
2519}
2520
2521#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2523pub struct UpdateCalendarResourceDTO {
2524 #[serde(
2525 rename = "locationId",
2526 default,
2527 skip_serializing_if = "Option::is_none"
2528 )]
2529 pub location_id: Option<String>,
2530 #[serde(default, skip_serializing_if = "Option::is_none")]
2531 pub name: Option<String>,
2532 #[serde(default, skip_serializing_if = "Option::is_none")]
2533 pub description: Option<String>,
2534 #[serde(default, skip_serializing_if = "Option::is_none")]
2536 pub quantity: Option<f64>,
2537 #[serde(
2539 rename = "outOfService",
2540 default,
2541 skip_serializing_if = "Option::is_none"
2542 )]
2543 pub out_of_service: Option<f64>,
2544 #[serde(default, skip_serializing_if = "Option::is_none")]
2546 pub capacity: Option<f64>,
2547 #[serde(rename = "calendarIds", default, skip_serializing_if = "Vec::is_empty")]
2550 pub calendar_ids: Vec<String>,
2551 #[serde(rename = "isActive", default, skip_serializing_if = "Option::is_none")]
2552 pub is_active: Option<bool>,
2553}
2554
2555#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2557pub struct UpdateScheduleDTO {
2558 #[serde(default, skip_serializing_if = "Option::is_none")]
2560 pub name: Option<String>,
2561 #[serde(default, skip_serializing_if = "Vec::is_empty")]
2563 pub rules: Vec<ScheduleRuleDTO>,
2564 #[serde(default, skip_serializing_if = "Option::is_none")]
2566 pub timezone: Option<String>,
2567}
2568
2569#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2571pub struct ValidateGroupSlugPostBody {
2572 #[serde(rename = "locationId")]
2575 pub location_id: String,
2576 pub slug: String,
2579}
2580
2581#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2583pub struct ValidateGroupSlugSuccessResponseDTO {
2584 #[serde(default, skip_serializing_if = "Option::is_none")]
2587 pub available: Option<bool>,
2588}