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 BusinessSchema {
24 #[serde(default, skip_serializing_if = "Option::is_none")]
25 pub name: Option<String>,
26 #[serde(default, skip_serializing_if = "Option::is_none")]
27 pub address: Option<String>,
28 #[serde(default, skip_serializing_if = "Option::is_none")]
29 pub city: Option<String>,
30 #[serde(default, skip_serializing_if = "Option::is_none")]
31 pub state: Option<String>,
32 #[serde(default, skip_serializing_if = "Option::is_none")]
33 pub country: Option<String>,
34 #[serde(
35 rename = "postalCode",
36 default,
37 skip_serializing_if = "Option::is_none"
38 )]
39 pub postal_code: Option<String>,
40 #[serde(default, skip_serializing_if = "Option::is_none")]
41 pub website: Option<String>,
42 #[serde(default, skip_serializing_if = "Option::is_none")]
43 pub timezone: Option<String>,
44 #[serde(rename = "logoUrl", default, skip_serializing_if = "Option::is_none")]
45 pub logo_url: Option<String>,
46}
47
48#[derive(Debug, Clone, Default, Serialize, Deserialize)]
50pub struct ConversationChannelEntrySchema {
51 #[serde(rename = "conversationProvider")]
53 pub conversation_provider: ConversationProviderSchema,
54}
55
56#[derive(Debug, Clone, Default, Serialize, Deserialize)]
58pub struct ConversationChannelSchema {
59 #[serde(rename = "SMS", default, skip_serializing_if = "Vec::is_empty")]
61 pub sms: Vec<ConversationChannelEntrySchema>,
62 #[serde(rename = "Email", default, skip_serializing_if = "Vec::is_empty")]
64 pub email: Vec<ConversationChannelEntrySchema>,
65}
66
67#[derive(Debug, Clone, Default, Serialize, Deserialize)]
69pub struct ConversationProviderSchema {
70 #[serde(rename = "_id")]
73 pub id: String,
74 pub name: String,
77 #[serde(rename = "type")]
81 pub type_: String,
82 pub default: bool,
85}
86
87#[derive(Debug, Clone, Default, Serialize, Deserialize)]
89pub struct CreateCustomFieldsDTO {
90 pub name: String,
92 #[serde(rename = "dataType")]
94 pub data_type: String,
95 #[serde(default, skip_serializing_if = "Option::is_none")]
96 pub placeholder: Option<String>,
97 #[serde(
98 rename = "acceptedFormat",
99 default,
100 skip_serializing_if = "Vec::is_empty"
101 )]
102 pub accepted_format: Vec<String>,
103 #[serde(
104 rename = "isMultipleFile",
105 default,
106 skip_serializing_if = "Option::is_none"
107 )]
108 pub is_multiple_file: Option<bool>,
109 #[serde(
110 rename = "maxNumberOfFiles",
111 default,
112 skip_serializing_if = "Option::is_none"
113 )]
114 pub max_number_of_files: Option<f64>,
115 #[serde(
117 rename = "textBoxListOptions",
118 default,
119 skip_serializing_if = "Vec::is_empty"
120 )]
121 pub text_box_list_options: Vec<serde_json::Value>,
122 #[serde(default, skip_serializing_if = "Option::is_none")]
123 pub position: Option<f64>,
124 #[serde(default, skip_serializing_if = "Option::is_none")]
127 pub model: Option<String>,
128}
129
130#[derive(Debug, Clone, Default, Serialize, Deserialize)]
132pub struct CreateLocationDto {
133 pub name: String,
136 #[serde(default, skip_serializing_if = "Option::is_none")]
139 pub phone: Option<String>,
140 #[serde(rename = "companyId")]
143 pub company_id: String,
144 #[serde(default, skip_serializing_if = "Option::is_none")]
146 pub address: Option<String>,
147 #[serde(default, skip_serializing_if = "Option::is_none")]
149 pub city: Option<String>,
150 #[serde(default, skip_serializing_if = "Option::is_none")]
152 pub state: Option<String>,
153 #[serde(default, skip_serializing_if = "Option::is_none")]
157 pub country: Option<String>,
158 #[serde(
160 rename = "postalCode",
161 default,
162 skip_serializing_if = "Option::is_none"
163 )]
164 pub postal_code: Option<String>,
165 #[serde(default, skip_serializing_if = "Option::is_none")]
167 pub website: Option<String>,
168 #[serde(default, skip_serializing_if = "Option::is_none")]
170 pub timezone: Option<String>,
171 #[serde(
172 rename = "prospectInfo",
173 default,
174 skip_serializing_if = "Option::is_none"
175 )]
176 pub prospect_info: Option<ProspectInfoDto>,
177 #[serde(default, skip_serializing_if = "Option::is_none")]
179 pub settings: Option<SettingsSchema>,
180 #[serde(default, skip_serializing_if = "Option::is_none")]
182 pub social: Option<SocialSchema>,
183 #[serde(default, skip_serializing_if = "Option::is_none")]
185 pub twilio: Option<TwilioSchema>,
186 #[serde(default, skip_serializing_if = "Option::is_none")]
188 pub mailgun: Option<MailgunSchema>,
189 #[serde(
191 rename = "snapshotId",
192 default,
193 skip_serializing_if = "Option::is_none"
194 )]
195 pub snapshot_id: Option<String>,
196}
197
198#[derive(Debug, Clone, Default, Serialize, Deserialize)]
200pub struct CreateLocationSuccessfulResponseDto {
201 #[serde(default, skip_serializing_if = "Option::is_none")]
203 pub id: Option<String>,
204 #[serde(rename = "companyId", default, skip_serializing_if = "Option::is_none")]
206 pub company_id: Option<String>,
207 #[serde(default, skip_serializing_if = "Option::is_none")]
209 pub name: Option<String>,
210 #[serde(default, skip_serializing_if = "Option::is_none")]
212 pub phone: Option<String>,
213 #[serde(default, skip_serializing_if = "Option::is_none")]
215 pub email: Option<String>,
216 #[serde(default, skip_serializing_if = "Option::is_none")]
218 pub address: Option<String>,
219 #[serde(default, skip_serializing_if = "Option::is_none")]
221 pub city: Option<String>,
222 #[serde(default, skip_serializing_if = "Option::is_none")]
224 pub state: Option<String>,
225 #[serde(default, skip_serializing_if = "Option::is_none")]
226 pub domain: Option<String>,
227 #[serde(default, skip_serializing_if = "Option::is_none")]
230 pub country: Option<String>,
231 #[serde(
233 rename = "postalCode",
234 default,
235 skip_serializing_if = "Option::is_none"
236 )]
237 pub postal_code: Option<String>,
238 #[serde(default, skip_serializing_if = "Option::is_none")]
240 pub website: Option<String>,
241 #[serde(default, skip_serializing_if = "Option::is_none")]
243 pub timezone: Option<String>,
244 #[serde(default, skip_serializing_if = "Option::is_none")]
246 pub settings: Option<SettingsSchema>,
247 #[serde(default, skip_serializing_if = "Option::is_none")]
249 pub social: Option<SocialSchema>,
250}
251
252#[derive(Debug, Clone, Default, Serialize, Deserialize)]
254pub struct CustomFieldDeleteSuccessfulResponseDto {
255 #[serde(default, skip_serializing_if = "Option::is_none")]
256 pub succeded: Option<bool>,
257}
258
259#[derive(Debug, Clone, Default, Serialize, Deserialize)]
261pub struct CustomFieldSchema {
262 #[serde(default, skip_serializing_if = "Option::is_none")]
263 pub id: Option<String>,
264 #[serde(default, skip_serializing_if = "Option::is_none")]
265 pub name: Option<String>,
266 #[serde(rename = "fieldKey", default, skip_serializing_if = "Option::is_none")]
267 pub field_key: Option<String>,
268 #[serde(default, skip_serializing_if = "Option::is_none")]
269 pub placeholder: Option<String>,
270 #[serde(rename = "dataType", default, skip_serializing_if = "Option::is_none")]
271 pub data_type: Option<String>,
272 #[serde(default, skip_serializing_if = "Option::is_none")]
273 pub position: Option<f64>,
274 #[serde(
275 rename = "picklistOptions",
276 default,
277 skip_serializing_if = "Vec::is_empty"
278 )]
279 pub picklist_options: Vec<String>,
280 #[serde(
281 rename = "picklistImageOptions",
282 default,
283 skip_serializing_if = "Vec::is_empty"
284 )]
285 pub picklist_image_options: Vec<String>,
286 #[serde(
287 rename = "isAllowedCustomOption",
288 default,
289 skip_serializing_if = "Option::is_none"
290 )]
291 pub is_allowed_custom_option: Option<bool>,
292 #[serde(
293 rename = "isMultiFileAllowed",
294 default,
295 skip_serializing_if = "Option::is_none"
296 )]
297 pub is_multi_file_allowed: Option<bool>,
298 #[serde(
299 rename = "maxFileLimit",
300 default,
301 skip_serializing_if = "Option::is_none"
302 )]
303 pub max_file_limit: Option<f64>,
304 #[serde(
305 rename = "locationId",
306 default,
307 skip_serializing_if = "Option::is_none"
308 )]
309 pub location_id: Option<String>,
310 #[serde(default, skip_serializing_if = "Option::is_none")]
313 pub model: Option<String>,
314}
315
316#[derive(Debug, Clone, Default, Serialize, Deserialize)]
318pub struct CustomFieldSuccessfulResponseDto {
319 #[serde(
320 rename = "customField",
321 default,
322 skip_serializing_if = "Option::is_none"
323 )]
324 pub custom_field: Option<CustomFieldSchema>,
325}
326
327#[derive(Debug, Clone, Default, Serialize, Deserialize)]
329pub struct CustomFieldsListSuccessfulResponseDto {
330 #[serde(
331 rename = "customFields",
332 default,
333 skip_serializing_if = "Vec::is_empty"
334 )]
335 pub custom_fields: Vec<CustomFieldSchema>,
336}
337
338#[derive(Debug, Clone, Default, Serialize, Deserialize)]
340pub struct CustomRRulesOptions {
341 #[serde(rename = "intervalType")]
344 pub interval_type: String,
345 pub interval: f64,
347 #[serde(rename = "startDate")]
350 pub start_date: String,
351 #[serde(rename = "endDate", default, skip_serializing_if = "Option::is_none")]
353 pub end_date: Option<String>,
354 #[serde(
356 rename = "dayOfMonth",
357 default,
358 skip_serializing_if = "Option::is_none"
359 )]
360 pub day_of_month: Option<f64>,
361 #[serde(rename = "dayOfWeek", default, skip_serializing_if = "Option::is_none")]
363 pub day_of_week: Option<String>,
364 #[serde(
366 rename = "monthOfYear",
367 default,
368 skip_serializing_if = "Option::is_none"
369 )]
370 pub month_of_year: Option<f64>,
371 #[serde(default, skip_serializing_if = "Option::is_none")]
373 pub count: Option<f64>,
374 #[serde(
376 rename = "createTaskIfOverDue",
377 default,
378 skip_serializing_if = "Option::is_none"
379 )]
380 pub create_task_if_over_due: Option<bool>,
381 #[serde(rename = "dueAfterSeconds")]
384 pub due_after_seconds: f64,
385}
386
387#[derive(Debug, Clone, Default, Serialize, Deserialize)]
389pub struct CustomValueDeleteSuccessfulResponseDto {
390 #[serde(default, skip_serializing_if = "Option::is_none")]
391 pub succeded: Option<bool>,
392}
393
394#[derive(Debug, Clone, Default, Serialize, Deserialize)]
396pub struct CustomValueIdSuccessfulResponseDto {
397 #[serde(
398 rename = "customValue",
399 default,
400 skip_serializing_if = "Option::is_none"
401 )]
402 pub custom_value: Option<CustomValueSchema>,
403}
404
405#[derive(Debug, Clone, Default, Serialize, Deserialize)]
407pub struct CustomValueSchema {
408 #[serde(default, skip_serializing_if = "Option::is_none")]
409 pub id: Option<String>,
410 #[serde(default, skip_serializing_if = "Option::is_none")]
411 pub name: Option<String>,
412 #[serde(rename = "fieldKey", default, skip_serializing_if = "Option::is_none")]
413 pub field_key: Option<String>,
414 #[serde(default, skip_serializing_if = "Option::is_none")]
415 pub value: Option<String>,
416 #[serde(
417 rename = "locationId",
418 default,
419 skip_serializing_if = "Option::is_none"
420 )]
421 pub location_id: Option<String>,
422}
423
424#[derive(Debug, Clone, Default, Serialize, Deserialize)]
426pub struct CustomValuesListSuccessfulResponseDto {
427 #[serde(
428 rename = "customValues",
429 default,
430 skip_serializing_if = "Vec::is_empty"
431 )]
432 pub custom_values: Vec<CustomValueSchema>,
433}
434
435#[derive(Debug, Clone, Default, Serialize, Deserialize)]
437pub struct DeleteRecurringTaskResponseDTO {
438 pub id: String,
441 pub success: bool,
444}
445
446#[derive(Debug, Clone, Default, Serialize, Deserialize)]
448pub struct EmailTemplateSchema {
449 #[serde(default, skip_serializing_if = "Option::is_none")]
450 pub subject: Option<String>,
451 #[serde(default, skip_serializing_if = "Vec::is_empty")]
452 pub attachments: Vec<Vec<serde_json::Value>>,
453 #[serde(default, skip_serializing_if = "Option::is_none")]
454 pub html: Option<String>,
455}
456
457#[derive(Debug, Clone, Default, Serialize, Deserialize)]
459pub struct FileUploadBody {
460 #[serde(default, skip_serializing_if = "Option::is_none")]
462 pub id: Option<String>,
463 #[serde(rename = "maxFiles", default, skip_serializing_if = "Option::is_none")]
465 pub max_files: Option<String>,
466}
467
468#[derive(Debug, Clone, Default, Serialize, Deserialize)]
470pub struct FileUploadResponseDto {
471 #[serde(
473 rename = "uploadedFiles",
474 default,
475 skip_serializing_if = "Option::is_none"
476 )]
477 pub uploaded_files: Option<serde_json::Value>,
478 #[serde(default, skip_serializing_if = "Vec::is_empty")]
480 pub meta: Vec<String>,
481}
482
483#[derive(Debug, Clone, Default, Serialize, Deserialize)]
485pub struct GetConversationChannelListSuccessfulResponseDto {
486 #[serde(rename = "conversationChannel")]
488 pub conversation_channel: ConversationChannelSchema,
489}
490
491#[derive(Debug, Clone, Default, Serialize, Deserialize)]
493pub struct GetEmailTemplateResponseSchema {
494 #[serde(default, skip_serializing_if = "Option::is_none")]
495 pub id: Option<String>,
496 #[serde(default, skip_serializing_if = "Option::is_none")]
497 pub name: Option<String>,
498 #[serde(rename = "type", default, skip_serializing_if = "Option::is_none")]
499 pub type_: Option<String>,
500 #[serde(rename = "dateAdded", default, skip_serializing_if = "Option::is_none")]
501 pub date_added: Option<String>,
502 #[serde(default, skip_serializing_if = "Option::is_none")]
503 pub template: Option<EmailTemplateSchema>,
504 #[serde(
505 rename = "locationId",
506 default,
507 skip_serializing_if = "Option::is_none"
508 )]
509 pub location_id: Option<String>,
510}
511
512#[derive(Debug, Clone, Default, Serialize, Deserialize)]
514pub struct GetLocationByIdSchema {
515 #[serde(default, skip_serializing_if = "Option::is_none")]
516 pub id: Option<String>,
517 #[serde(rename = "companyId", default, skip_serializing_if = "Option::is_none")]
518 pub company_id: Option<String>,
519 #[serde(default, skip_serializing_if = "Option::is_none")]
520 pub name: Option<String>,
521 #[serde(default, skip_serializing_if = "Option::is_none")]
522 pub domain: Option<String>,
523 #[serde(default, skip_serializing_if = "Option::is_none")]
524 pub address: Option<String>,
525 #[serde(default, skip_serializing_if = "Option::is_none")]
526 pub city: Option<String>,
527 #[serde(default, skip_serializing_if = "Option::is_none")]
528 pub state: Option<String>,
529 #[serde(rename = "logoUrl", default, skip_serializing_if = "Option::is_none")]
530 pub logo_url: Option<String>,
531 #[serde(default, skip_serializing_if = "Option::is_none")]
532 pub country: Option<String>,
533 #[serde(
534 rename = "postalCode",
535 default,
536 skip_serializing_if = "Option::is_none"
537 )]
538 pub postal_code: Option<String>,
539 #[serde(default, skip_serializing_if = "Option::is_none")]
540 pub website: Option<String>,
541 #[serde(default, skip_serializing_if = "Option::is_none")]
542 pub timezone: Option<String>,
543 #[serde(rename = "firstName", default, skip_serializing_if = "Option::is_none")]
544 pub first_name: Option<String>,
545 #[serde(rename = "lastName", default, skip_serializing_if = "Option::is_none")]
546 pub last_name: Option<String>,
547 #[serde(default, skip_serializing_if = "Option::is_none")]
548 pub email: Option<String>,
549 #[serde(default, skip_serializing_if = "Option::is_none")]
550 pub phone: Option<String>,
551 #[serde(default, skip_serializing_if = "Option::is_none")]
552 pub business: Option<BusinessSchema>,
553 #[serde(default, skip_serializing_if = "Option::is_none")]
554 pub social: Option<SocialSchema>,
555 #[serde(default, skip_serializing_if = "Option::is_none")]
556 pub settings: Option<SettingsSchema>,
557 #[serde(default, skip_serializing_if = "Option::is_none")]
558 pub reseller: Option<serde_json::Value>,
559}
560
561#[derive(Debug, Clone, Default, Serialize, Deserialize)]
563pub struct GetLocationByIdSuccessfulResponseDto {
564 #[serde(default, skip_serializing_if = "Option::is_none")]
565 pub location: Option<GetLocationByIdSchema>,
566}
567
568#[derive(Debug, Clone, Default, Serialize, Deserialize)]
570pub struct GetLocationSchema {
571 #[serde(default, skip_serializing_if = "Option::is_none")]
573 pub id: Option<String>,
574 #[serde(default, skip_serializing_if = "Option::is_none")]
576 pub name: Option<String>,
577 #[serde(default, skip_serializing_if = "Option::is_none")]
579 pub phone: Option<String>,
580 #[serde(default, skip_serializing_if = "Option::is_none")]
582 pub email: Option<String>,
583 #[serde(default, skip_serializing_if = "Option::is_none")]
585 pub address: Option<String>,
586 #[serde(default, skip_serializing_if = "Option::is_none")]
588 pub city: Option<String>,
589 #[serde(default, skip_serializing_if = "Option::is_none")]
591 pub state: Option<String>,
592 #[serde(default, skip_serializing_if = "Option::is_none")]
594 pub country: Option<String>,
595 #[serde(
597 rename = "postalCode",
598 default,
599 skip_serializing_if = "Option::is_none"
600 )]
601 pub postal_code: Option<String>,
602 #[serde(default, skip_serializing_if = "Option::is_none")]
604 pub website: Option<String>,
605 #[serde(default, skip_serializing_if = "Option::is_none")]
607 pub timezone: Option<String>,
608 #[serde(default, skip_serializing_if = "Option::is_none")]
610 pub settings: Option<SettingsSchema>,
611 #[serde(default, skip_serializing_if = "Option::is_none")]
613 pub social: Option<SocialSchema>,
614}
615
616#[derive(Debug, Clone, Default, Serialize, Deserialize)]
618pub struct GetSmsTemplateResponseSchema {
619 #[serde(default, skip_serializing_if = "Option::is_none")]
620 pub id: Option<String>,
621 #[serde(default, skip_serializing_if = "Option::is_none")]
622 pub name: Option<String>,
623 #[serde(rename = "type", default, skip_serializing_if = "Option::is_none")]
624 pub type_: Option<String>,
625 #[serde(default, skip_serializing_if = "Option::is_none")]
626 pub template: Option<SmsTemplateSchema>,
627 #[serde(rename = "dateAdded", default, skip_serializing_if = "Option::is_none")]
628 pub date_added: Option<String>,
629 #[serde(
630 rename = "locationId",
631 default,
632 skip_serializing_if = "Option::is_none"
633 )]
634 pub location_id: Option<String>,
635 #[serde(
636 rename = "urlAttachments",
637 default,
638 skip_serializing_if = "Vec::is_empty"
639 )]
640 pub url_attachments: Vec<String>,
641}
642
643#[derive(Debug, Clone, Default, Serialize, Deserialize)]
645pub struct GetTemplatesSuccessfulResponseDto {
646 #[serde(default, skip_serializing_if = "Vec::is_empty")]
648 pub templates: Vec<serde_json::Value>,
649 #[serde(
650 rename = "totalCount",
651 default,
652 skip_serializing_if = "Option::is_none"
653 )]
654 pub total_count: Option<f64>,
655}
656
657#[derive(Debug, Clone, Default, Serialize, Deserialize)]
659pub struct LocationDeletedSuccessfulResponseDto {
660 pub success: bool,
663 pub message: String,
666}
667
668#[derive(Debug, Clone, Default, Serialize, Deserialize)]
670pub struct LocationTagDeleteSuccessfulResponseDto {
671 #[serde(default, skip_serializing_if = "Option::is_none")]
672 pub succeded: Option<bool>,
673}
674
675#[derive(Debug, Clone, Default, Serialize, Deserialize)]
677pub struct LocationTagSuccessfulResponseDto {
678 #[serde(default, skip_serializing_if = "Option::is_none")]
679 pub tag: Option<LocationTagsSchema>,
680}
681
682#[derive(Debug, Clone, Default, Serialize, Deserialize)]
684pub struct LocationTagsSchema {
685 #[serde(default, skip_serializing_if = "Option::is_none")]
686 pub name: Option<String>,
687 #[serde(
688 rename = "locationId",
689 default,
690 skip_serializing_if = "Option::is_none"
691 )]
692 pub location_id: Option<String>,
693 #[serde(default, skip_serializing_if = "Option::is_none")]
694 pub id: Option<String>,
695}
696
697#[derive(Debug, Clone, Default, Serialize, Deserialize)]
699pub struct LocationTagsSuccessfulResponseDto {
700 #[serde(default, skip_serializing_if = "Vec::is_empty")]
701 pub tags: Vec<LocationTagsSchema>,
702}
703
704#[derive(Debug, Clone, Default, Serialize, Deserialize)]
706pub struct LocationTaskListSuccessfulResponseDto {
707 #[serde(default, skip_serializing_if = "Vec::is_empty")]
708 pub tasks: Vec<Vec<serde_json::Value>>,
709}
710
711#[derive(Debug, Clone, Default, Serialize, Deserialize)]
713pub struct MailgunSchema {
714 #[serde(rename = "apiKey")]
717 pub api_key: String,
718 pub domain: String,
721}
722
723#[derive(Debug, Clone, Default, Serialize, Deserialize)]
725pub struct PermissionsResponseDto {
726 #[serde(default, skip_serializing_if = "Vec::is_empty")]
733 pub permissions: Vec<String>,
734}
735
736#[derive(Debug, Clone, Default, Serialize, Deserialize)]
738pub struct ProspectInfoDto {
739 #[serde(rename = "firstName")]
742 pub first_name: String,
743 #[serde(rename = "lastName")]
746 pub last_name: String,
747 pub email: String,
750}
751
752#[derive(Debug, Clone, Default, Serialize, Deserialize)]
754pub struct RecurringTaskCreateDTO {
755 pub title: String,
758 #[serde(default, skip_serializing_if = "Option::is_none")]
760 pub description: Option<String>,
761 #[serde(rename = "contactIds", default, skip_serializing_if = "Vec::is_empty")]
763 pub contact_ids: Vec<String>,
764 #[serde(default, skip_serializing_if = "Vec::is_empty")]
766 pub owners: Vec<String>,
767 #[serde(rename = "rruleOptions")]
770 pub rrule_options: CustomRRulesOptions,
771 #[serde(
773 rename = "ignoreTaskCreation",
774 default,
775 skip_serializing_if = "Option::is_none"
776 )]
777 pub ignore_task_creation: Option<bool>,
778}
779
780#[derive(Debug, Clone, Default, Serialize, Deserialize)]
782pub struct RecurringTaskResponseDTO {
783 pub id: String,
786 pub title: String,
789 pub description: String,
792 #[serde(rename = "locationId")]
795 pub location_id: String,
796 #[serde(rename = "updatedAt")]
799 pub updated_at: String,
800 #[serde(rename = "createdAt")]
803 pub created_at: String,
804 #[serde(rename = "rruleOptions")]
807 pub rrule_options: CustomRRulesOptions,
808 #[serde(rename = "totalOccurrence")]
811 pub total_occurrence: f64,
812 pub deleted: bool,
815 #[serde(
817 rename = "assignedTo",
818 default,
819 skip_serializing_if = "Option::is_none"
820 )]
821 pub assigned_to: Option<String>,
822 #[serde(rename = "contactId", default, skip_serializing_if = "Option::is_none")]
824 pub contact_id: Option<String>,
825}
826
827#[derive(Debug, Clone, Default, Serialize, Deserialize)]
829pub struct RecurringTaskSingleResponseDTO {
830 #[serde(rename = "recurringTask")]
833 pub recurring_task: RecurringTaskResponseDTO,
834}
835
836#[derive(Debug, Clone, Default, Serialize, Deserialize)]
838pub struct RecurringTaskUpdateDTO {
839 #[serde(default, skip_serializing_if = "Option::is_none")]
841 pub title: Option<String>,
842 #[serde(default, skip_serializing_if = "Option::is_none")]
844 pub description: Option<String>,
845 #[serde(rename = "contactIds", default, skip_serializing_if = "Vec::is_empty")]
847 pub contact_ids: Vec<String>,
848 #[serde(default, skip_serializing_if = "Vec::is_empty")]
850 pub owners: Vec<String>,
851 #[serde(
853 rename = "rruleOptions",
854 default,
855 skip_serializing_if = "Option::is_none"
856 )]
857 pub rrule_options: Option<CustomRRulesOptions>,
858 #[serde(
860 rename = "ignoreTaskCreation",
861 default,
862 skip_serializing_if = "Option::is_none"
863 )]
864 pub ignore_task_creation: Option<bool>,
865}
866
867#[derive(Debug, Clone, Default, Serialize, Deserialize)]
869pub struct SearchSuccessfulResponseDto {
870 #[serde(default, skip_serializing_if = "Vec::is_empty")]
871 pub locations: Vec<GetLocationSchema>,
872}
873
874#[derive(Debug, Clone, Default, Serialize, Deserialize)]
876pub struct SettingsSchema {
877 #[serde(
878 rename = "allowDuplicateContact",
879 default,
880 skip_serializing_if = "Option::is_none"
881 )]
882 pub allow_duplicate_contact: Option<bool>,
883 #[serde(
884 rename = "allowDuplicateOpportunity",
885 default,
886 skip_serializing_if = "Option::is_none"
887 )]
888 pub allow_duplicate_opportunity: Option<bool>,
889 #[serde(
890 rename = "allowFacebookNameMerge",
891 default,
892 skip_serializing_if = "Option::is_none"
893 )]
894 pub allow_facebook_name_merge: Option<bool>,
895 #[serde(
896 rename = "disableContactTimezone",
897 default,
898 skip_serializing_if = "Option::is_none"
899 )]
900 pub disable_contact_timezone: Option<bool>,
901}
902
903#[derive(Debug, Clone, Default, Serialize, Deserialize)]
905pub struct SmsTemplateSchema {
906 #[serde(default, skip_serializing_if = "Option::is_none")]
907 pub body: Option<String>,
908 #[serde(default, skip_serializing_if = "Vec::is_empty")]
909 pub attachments: Vec<Vec<serde_json::Value>>,
910}
911
912#[derive(Debug, Clone, Default, Serialize, Deserialize)]
914pub struct SnapshotPutSchema {
915 pub id: String,
918 #[serde(rename = "override", default, skip_serializing_if = "Option::is_none")]
920 pub override_: Option<bool>,
921}
922
923#[derive(Debug, Clone, Default, Serialize, Deserialize)]
925pub struct SocialSchema {
926 #[serde(
928 rename = "facebookUrl",
929 default,
930 skip_serializing_if = "Option::is_none"
931 )]
932 pub facebook_url: Option<String>,
933 #[serde(
935 rename = "googlePlus",
936 default,
937 skip_serializing_if = "Option::is_none"
938 )]
939 pub google_plus: Option<String>,
940 #[serde(rename = "linkedIn", default, skip_serializing_if = "Option::is_none")]
942 pub linked_in: Option<String>,
943 #[serde(default, skip_serializing_if = "Option::is_none")]
945 pub foursquare: Option<String>,
946 #[serde(default, skip_serializing_if = "Option::is_none")]
948 pub twitter: Option<String>,
949 #[serde(default, skip_serializing_if = "Option::is_none")]
951 pub yelp: Option<String>,
952 #[serde(default, skip_serializing_if = "Option::is_none")]
954 pub instagram: Option<String>,
955 #[serde(default, skip_serializing_if = "Option::is_none")]
957 pub youtube: Option<String>,
958 #[serde(default, skip_serializing_if = "Option::is_none")]
960 pub pinterest: Option<String>,
961 #[serde(rename = "blogRss", default, skip_serializing_if = "Option::is_none")]
963 pub blog_rss: Option<String>,
964 #[serde(
966 rename = "googlePlacesId",
967 default,
968 skip_serializing_if = "Option::is_none"
969 )]
970 pub google_places_id: Option<String>,
971}
972
973#[derive(Debug, Clone, Default, Serialize, Deserialize)]
975pub struct TaskSearchParamsDto {
976 #[serde(rename = "contactId", default, skip_serializing_if = "Vec::is_empty")]
978 pub contact_id: Vec<String>,
979 #[serde(default, skip_serializing_if = "Option::is_none")]
981 pub completed: Option<bool>,
982 #[serde(rename = "assignedTo", default, skip_serializing_if = "Vec::is_empty")]
984 pub assigned_to: Vec<String>,
985 #[serde(default, skip_serializing_if = "Option::is_none")]
987 pub query: Option<String>,
988 #[serde(default, skip_serializing_if = "Option::is_none")]
990 pub limit: Option<f64>,
991 #[serde(default, skip_serializing_if = "Option::is_none")]
993 pub skip: Option<f64>,
994 #[serde(
996 rename = "businessId",
997 default,
998 skip_serializing_if = "Option::is_none"
999 )]
1000 pub business_id: Option<String>,
1001}
1002
1003#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1005pub struct TwilioSchema {
1006 pub sid: String,
1009 #[serde(rename = "authToken")]
1012 pub auth_token: String,
1013}
1014
1015#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1017pub struct UpdateCustomFieldsDTO {
1018 pub name: String,
1020 #[serde(default, skip_serializing_if = "Option::is_none")]
1021 pub placeholder: Option<String>,
1022 #[serde(
1023 rename = "acceptedFormat",
1024 default,
1025 skip_serializing_if = "Vec::is_empty"
1026 )]
1027 pub accepted_format: Vec<String>,
1028 #[serde(
1029 rename = "isMultipleFile",
1030 default,
1031 skip_serializing_if = "Option::is_none"
1032 )]
1033 pub is_multiple_file: Option<bool>,
1034 #[serde(
1035 rename = "maxNumberOfFiles",
1036 default,
1037 skip_serializing_if = "Option::is_none"
1038 )]
1039 pub max_number_of_files: Option<f64>,
1040 #[serde(
1042 rename = "textBoxListOptions",
1043 default,
1044 skip_serializing_if = "Vec::is_empty"
1045 )]
1046 pub text_box_list_options: Vec<serde_json::Value>,
1047 #[serde(default, skip_serializing_if = "Option::is_none")]
1048 pub position: Option<f64>,
1049 #[serde(default, skip_serializing_if = "Option::is_none")]
1052 pub model: Option<String>,
1053}
1054
1055#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1057pub struct UpdateLocationDto {
1058 #[serde(default, skip_serializing_if = "Option::is_none")]
1060 pub name: Option<String>,
1061 #[serde(default, skip_serializing_if = "Option::is_none")]
1063 pub phone: Option<String>,
1064 #[serde(rename = "companyId")]
1067 pub company_id: String,
1068 #[serde(default, skip_serializing_if = "Option::is_none")]
1070 pub address: Option<String>,
1071 #[serde(default, skip_serializing_if = "Option::is_none")]
1073 pub city: Option<String>,
1074 #[serde(default, skip_serializing_if = "Option::is_none")]
1076 pub state: Option<String>,
1077 #[serde(default, skip_serializing_if = "Option::is_none")]
1080 pub country: Option<String>,
1081 #[serde(
1083 rename = "postalCode",
1084 default,
1085 skip_serializing_if = "Option::is_none"
1086 )]
1087 pub postal_code: Option<String>,
1088 #[serde(default, skip_serializing_if = "Option::is_none")]
1090 pub website: Option<String>,
1091 #[serde(default, skip_serializing_if = "Option::is_none")]
1093 pub timezone: Option<String>,
1094 #[serde(
1095 rename = "prospectInfo",
1096 default,
1097 skip_serializing_if = "Option::is_none"
1098 )]
1099 pub prospect_info: Option<ProspectInfoDto>,
1100 #[serde(default, skip_serializing_if = "Option::is_none")]
1102 pub settings: Option<SettingsSchema>,
1103 #[serde(default, skip_serializing_if = "Option::is_none")]
1105 pub social: Option<SocialSchema>,
1106 #[serde(default, skip_serializing_if = "Option::is_none")]
1108 pub twilio: Option<TwilioSchema>,
1109 #[serde(default, skip_serializing_if = "Option::is_none")]
1111 pub mailgun: Option<MailgunSchema>,
1112 #[serde(default, skip_serializing_if = "Option::is_none")]
1114 pub snapshot: Option<SnapshotPutSchema>,
1115}
1116
1117#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1119pub struct UpdatePermissionsDto {
1120 #[serde(default, skip_serializing_if = "Vec::is_empty")]
1127 pub permissions: Vec<String>,
1128}
1129
1130#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1132pub struct CustomValuesDTO {
1133 pub name: String,
1135 pub value: String,
1137}
1138
1139#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1141pub struct TagBody {
1142 pub name: String,
1145}
1146
1147#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1149pub struct TextBoxListOptionsSchema {
1150 #[serde(default, skip_serializing_if = "Option::is_none")]
1151 pub label: Option<String>,
1152 #[serde(
1153 rename = "prefillValue",
1154 default,
1155 skip_serializing_if = "Option::is_none"
1156 )]
1157 pub prefill_value: Option<String>,
1158}