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 AddContactToCampaignDto {
24 #[serde(flatten)]
26 pub extra: serde_json::Map<String, serde_json::Value>,
27}
28
29#[derive(Debug, Clone, Default, Serialize, Deserialize)]
31pub struct AttributionSource {
32 #[serde(default, skip_serializing_if = "Option::is_none")]
35 pub url: Option<String>,
36 #[serde(default, skip_serializing_if = "Option::is_none")]
37 pub campaign: Option<String>,
38 #[serde(rename = "utmSource", default, skip_serializing_if = "Option::is_none")]
39 pub utm_source: Option<String>,
40 #[serde(rename = "utmMedium", default, skip_serializing_if = "Option::is_none")]
41 pub utm_medium: Option<String>,
42 #[serde(
43 rename = "utmContent",
44 default,
45 skip_serializing_if = "Option::is_none"
46 )]
47 pub utm_content: Option<String>,
48 #[serde(default, skip_serializing_if = "Option::is_none")]
49 pub referrer: Option<String>,
50 #[serde(
51 rename = "campaignId",
52 default,
53 skip_serializing_if = "Option::is_none"
54 )]
55 pub campaign_id: Option<String>,
56 #[serde(default, skip_serializing_if = "Option::is_none")]
57 pub fbclid: Option<String>,
58 #[serde(default, skip_serializing_if = "Option::is_none")]
59 pub gclid: Option<String>,
60 #[serde(default, skip_serializing_if = "Option::is_none")]
61 pub msclikid: Option<String>,
62 #[serde(default, skip_serializing_if = "Option::is_none")]
63 pub dclid: Option<String>,
64 #[serde(default, skip_serializing_if = "Option::is_none")]
65 pub fbc: Option<String>,
66 #[serde(default, skip_serializing_if = "Option::is_none")]
67 pub fbp: Option<String>,
68 #[serde(rename = "fbEventId", default, skip_serializing_if = "Option::is_none")]
69 pub fb_event_id: Option<String>,
70 #[serde(rename = "userAgent", default, skip_serializing_if = "Option::is_none")]
71 pub user_agent: Option<String>,
72 #[serde(default, skip_serializing_if = "Option::is_none")]
73 pub ip: Option<String>,
74 #[serde(default, skip_serializing_if = "Option::is_none")]
75 pub medium: Option<String>,
76 #[serde(rename = "mediumId", default, skip_serializing_if = "Option::is_none")]
77 pub medium_id: Option<String>,
78}
79
80#[derive(Debug, Clone, Default, Serialize, Deserialize)]
82pub struct CheckboxField {
83 pub id: String,
85 #[serde(default, skip_serializing_if = "Option::is_none")]
86 pub key: Option<String>,
87 #[serde(default, skip_serializing_if = "Vec::is_empty")]
88 pub field_value: Vec<String>,
89}
90
91#[derive(Debug, Clone, Default, Serialize, Deserialize)]
93pub struct ContactsBulkUpateResponse {
94 #[serde(default, skip_serializing_if = "Option::is_none")]
97 pub success: Option<bool>,
98 #[serde(default, skip_serializing_if = "Vec::is_empty")]
101 pub ids: Vec<String>,
102}
103
104#[derive(Debug, Clone, Default, Serialize, Deserialize)]
106pub struct ContactsBusinessUpdate {
107 #[serde(rename = "locationId")]
109 pub location_id: String,
110 #[serde(default, skip_serializing_if = "Vec::is_empty")]
112 pub ids: Vec<String>,
113 #[serde(rename = "businessId")]
115 pub business_id: String,
116}
117
118#[derive(Debug, Clone, Default, Serialize, Deserialize)]
120pub struct ContactsByIdSuccessfulResponseDto {
121 #[serde(default, skip_serializing_if = "Option::is_none")]
122 pub contact: Option<GetContectByIdSchema>,
123}
124
125#[derive(Debug, Clone, Default, Serialize, Deserialize)]
127pub struct ContactsMetaSchema {
128 #[serde(default, skip_serializing_if = "Option::is_none")]
129 pub total: Option<f64>,
130 #[serde(
131 rename = "nextPageUrl",
132 default,
133 skip_serializing_if = "Option::is_none"
134 )]
135 pub next_page_url: Option<String>,
136 #[serde(
137 rename = "startAfterId",
138 default,
139 skip_serializing_if = "Option::is_none"
140 )]
141 pub start_after_id: Option<String>,
142 #[serde(
143 rename = "startAfter",
144 default,
145 skip_serializing_if = "Option::is_none"
146 )]
147 pub start_after: Option<f64>,
148 #[serde(
149 rename = "currentPage",
150 default,
151 skip_serializing_if = "Option::is_none"
152 )]
153 pub current_page: Option<f64>,
154 #[serde(rename = "nextPage", default, skip_serializing_if = "Option::is_none")]
155 pub next_page: Option<f64>,
156 #[serde(rename = "prevPage", default, skip_serializing_if = "Option::is_none")]
157 pub prev_page: Option<f64>,
158}
159
160#[derive(Debug, Clone, Default, Serialize, Deserialize)]
162pub struct ContactsSearchSchema {
163 #[serde(default, skip_serializing_if = "Option::is_none")]
164 pub id: Option<String>,
165 #[serde(
166 rename = "locationId",
167 default,
168 skip_serializing_if = "Option::is_none"
169 )]
170 pub location_id: Option<String>,
171 #[serde(default, skip_serializing_if = "Option::is_none")]
172 pub email: Option<String>,
173 #[serde(default, skip_serializing_if = "Option::is_none")]
174 pub timezone: Option<String>,
175 #[serde(default, skip_serializing_if = "Option::is_none")]
176 pub country: Option<String>,
177 #[serde(default, skip_serializing_if = "Option::is_none")]
178 pub source: Option<String>,
179 #[serde(rename = "dateAdded", default, skip_serializing_if = "Option::is_none")]
180 pub date_added: Option<String>,
181 #[serde(
182 rename = "customFields",
183 default,
184 skip_serializing_if = "Vec::is_empty"
185 )]
186 pub custom_fields: Vec<CustomFieldSchema>,
187 #[serde(default, skip_serializing_if = "Vec::is_empty")]
188 pub tags: Vec<String>,
189 #[serde(
190 rename = "businessId",
191 default,
192 skip_serializing_if = "Option::is_none"
193 )]
194 pub business_id: Option<String>,
195 #[serde(default, skip_serializing_if = "Vec::is_empty")]
196 pub attributions: Vec<AttributionSource>,
197 #[serde(default, skip_serializing_if = "Vec::is_empty")]
198 pub followers: Vec<String>,
199}
200
201#[derive(Debug, Clone, Default, Serialize, Deserialize)]
203pub struct ContactsSearchSuccessfulResponseDto {
204 #[serde(default, skip_serializing_if = "Vec::is_empty")]
205 pub contacts: Vec<ContactsSearchSchema>,
206 #[serde(default, skip_serializing_if = "Option::is_none")]
207 pub count: Option<f64>,
208}
209
210#[derive(Debug, Clone, Default, Serialize, Deserialize)]
212pub struct ContactsWorkflowSuccessfulResponseDto {
213 #[serde(default, skip_serializing_if = "Option::is_none")]
214 pub succeded: Option<bool>,
215}
216
217#[derive(Debug, Clone, Default, Serialize, Deserialize)]
219pub struct CreateAddFollowersSuccessfulResponseDto {
220 #[serde(default, skip_serializing_if = "Vec::is_empty")]
221 pub followers: Vec<String>,
222 #[serde(
223 rename = "followersAdded",
224 default,
225 skip_serializing_if = "Vec::is_empty"
226 )]
227 pub followers_added: Vec<String>,
228}
229
230#[derive(Debug, Clone, Default, Serialize, Deserialize)]
232pub struct CreateAddTagSuccessfulResponseDto {
233 #[serde(default, skip_serializing_if = "Vec::is_empty")]
234 pub tags: Vec<String>,
235}
236
237#[derive(Debug, Clone, Default, Serialize, Deserialize)]
239pub struct CreateContactDto {
240 #[serde(rename = "firstName", default, skip_serializing_if = "Option::is_none")]
241 pub first_name: Option<String>,
242 #[serde(rename = "lastName", default, skip_serializing_if = "Option::is_none")]
243 pub last_name: Option<String>,
244 #[serde(default, skip_serializing_if = "Option::is_none")]
245 pub name: Option<String>,
246 #[serde(default, skip_serializing_if = "Option::is_none")]
247 pub email: Option<String>,
248 #[serde(rename = "locationId")]
250 pub location_id: String,
251 #[serde(default, skip_serializing_if = "Option::is_none")]
252 pub gender: Option<String>,
253 #[serde(default, skip_serializing_if = "Option::is_none")]
254 pub phone: Option<String>,
255 #[serde(default, skip_serializing_if = "Option::is_none")]
256 pub address1: Option<String>,
257 #[serde(default, skip_serializing_if = "Option::is_none")]
258 pub city: Option<String>,
259 #[serde(default, skip_serializing_if = "Option::is_none")]
260 pub state: Option<String>,
261 #[serde(
262 rename = "postalCode",
263 default,
264 skip_serializing_if = "Option::is_none"
265 )]
266 pub postal_code: Option<String>,
267 #[serde(default, skip_serializing_if = "Option::is_none")]
268 pub website: Option<String>,
269 #[serde(default, skip_serializing_if = "Option::is_none")]
270 pub timezone: Option<String>,
271 #[serde(default, skip_serializing_if = "Option::is_none")]
272 pub dnd: Option<bool>,
273 #[serde(
274 rename = "dndSettings",
275 default,
276 skip_serializing_if = "Option::is_none"
277 )]
278 pub dnd_settings: Option<DndSettingsSchema>,
279 #[serde(
280 rename = "inboundDndSettings",
281 default,
282 skip_serializing_if = "Option::is_none"
283 )]
284 pub inbound_dnd_settings: Option<InboundDndSettingsSchema>,
285 #[serde(default, skip_serializing_if = "Vec::is_empty")]
286 pub tags: Vec<String>,
287 #[serde(
289 rename = "customFields",
290 default,
291 skip_serializing_if = "Vec::is_empty"
292 )]
293 pub custom_fields: Vec<serde_json::Value>,
294 #[serde(default, skip_serializing_if = "Option::is_none")]
295 pub source: Option<String>,
296 #[serde(
299 rename = "dateOfBirth",
300 default,
301 skip_serializing_if = "Option::is_none"
302 )]
303 pub date_of_birth: Option<serde_json::Value>,
304 #[serde(default, skip_serializing_if = "Option::is_none")]
305 pub country: Option<String>,
306 #[serde(
307 rename = "companyName",
308 default,
309 skip_serializing_if = "Option::is_none"
310 )]
311 pub company_name: Option<String>,
312 #[serde(
314 rename = "assignedTo",
315 default,
316 skip_serializing_if = "Option::is_none"
317 )]
318 pub assigned_to: Option<String>,
319}
320
321#[derive(Debug, Clone, Default, Serialize, Deserialize)]
323pub struct CreateContactSchema {
324 #[serde(default, skip_serializing_if = "Option::is_none")]
325 pub id: Option<String>,
326 #[serde(rename = "dateAdded", default, skip_serializing_if = "Option::is_none")]
327 pub date_added: Option<String>,
328 #[serde(
329 rename = "dateUpdated",
330 default,
331 skip_serializing_if = "Option::is_none"
332 )]
333 pub date_updated: Option<String>,
334 #[serde(default, skip_serializing_if = "Option::is_none")]
335 pub deleted: Option<bool>,
336 #[serde(default, skip_serializing_if = "Vec::is_empty")]
337 pub tags: Vec<String>,
338 #[serde(rename = "type", default, skip_serializing_if = "Option::is_none")]
339 pub type_: Option<String>,
340 #[serde(
341 rename = "customFields",
342 default,
343 skip_serializing_if = "Vec::is_empty"
344 )]
345 pub custom_fields: Vec<CustomFieldSchema>,
346 #[serde(
347 rename = "locationId",
348 default,
349 skip_serializing_if = "Option::is_none"
350 )]
351 pub location_id: Option<String>,
352 #[serde(rename = "firstName", default, skip_serializing_if = "Option::is_none")]
353 pub first_name: Option<String>,
354 #[serde(
355 rename = "firstNameLowerCase",
356 default,
357 skip_serializing_if = "Option::is_none"
358 )]
359 pub first_name_lower_case: Option<String>,
360 #[serde(
361 rename = "fullNameLowerCase",
362 default,
363 skip_serializing_if = "Option::is_none"
364 )]
365 pub full_name_lower_case: Option<String>,
366 #[serde(rename = "lastName", default, skip_serializing_if = "Option::is_none")]
367 pub last_name: Option<String>,
368 #[serde(
369 rename = "lastNameLowerCase",
370 default,
371 skip_serializing_if = "Option::is_none"
372 )]
373 pub last_name_lower_case: Option<String>,
374 #[serde(default, skip_serializing_if = "Option::is_none")]
375 pub email: Option<String>,
376 #[serde(
377 rename = "emailLowerCase",
378 default,
379 skip_serializing_if = "Option::is_none"
380 )]
381 pub email_lower_case: Option<String>,
382 #[serde(
383 rename = "bounceEmail",
384 default,
385 skip_serializing_if = "Option::is_none"
386 )]
387 pub bounce_email: Option<bool>,
388 #[serde(
389 rename = "unsubscribeEmail",
390 default,
391 skip_serializing_if = "Option::is_none"
392 )]
393 pub unsubscribe_email: Option<bool>,
394 #[serde(default, skip_serializing_if = "Option::is_none")]
395 pub dnd: Option<bool>,
396 #[serde(
397 rename = "dndSettings",
398 default,
399 skip_serializing_if = "Option::is_none"
400 )]
401 pub dnd_settings: Option<DndSettingsSchema>,
402 #[serde(default, skip_serializing_if = "Option::is_none")]
403 pub phone: Option<String>,
404 #[serde(default, skip_serializing_if = "Option::is_none")]
405 pub address1: Option<String>,
406 #[serde(default, skip_serializing_if = "Option::is_none")]
407 pub city: Option<String>,
408 #[serde(default, skip_serializing_if = "Option::is_none")]
409 pub state: Option<String>,
410 #[serde(default, skip_serializing_if = "Option::is_none")]
411 pub country: Option<String>,
412 #[serde(
413 rename = "postalCode",
414 default,
415 skip_serializing_if = "Option::is_none"
416 )]
417 pub postal_code: Option<String>,
418 #[serde(default, skip_serializing_if = "Option::is_none")]
419 pub website: Option<String>,
420 #[serde(default, skip_serializing_if = "Option::is_none")]
421 pub source: Option<String>,
422 #[serde(
423 rename = "companyName",
424 default,
425 skip_serializing_if = "Option::is_none"
426 )]
427 pub company_name: Option<String>,
428 #[serde(
429 rename = "dateOfBirth",
430 default,
431 skip_serializing_if = "Option::is_none"
432 )]
433 pub date_of_birth: Option<String>,
434 #[serde(
435 rename = "birthMonth",
436 default,
437 skip_serializing_if = "Option::is_none"
438 )]
439 pub birth_month: Option<f64>,
440 #[serde(rename = "birthDay", default, skip_serializing_if = "Option::is_none")]
441 pub birth_day: Option<f64>,
442 #[serde(
443 rename = "lastSessionActivityAt",
444 default,
445 skip_serializing_if = "Option::is_none"
446 )]
447 pub last_session_activity_at: Option<String>,
448 #[serde(default, skip_serializing_if = "Vec::is_empty")]
449 pub offers: Vec<String>,
450 #[serde(default, skip_serializing_if = "Vec::is_empty")]
451 pub products: Vec<String>,
452 #[serde(
453 rename = "businessId",
454 default,
455 skip_serializing_if = "Option::is_none"
456 )]
457 pub business_id: Option<String>,
458 #[serde(
460 rename = "assignedTo",
461 default,
462 skip_serializing_if = "Option::is_none"
463 )]
464 pub assigned_to: Option<String>,
465}
466
467#[derive(Debug, Clone, Default, Serialize, Deserialize)]
469pub struct CreateContactsSuccessfulResponseDto {
470 #[serde(default, skip_serializing_if = "Option::is_none")]
471 pub contact: Option<CreateContactSchema>,
472}
473
474#[derive(Debug, Clone, Default, Serialize, Deserialize)]
476pub struct CreateDeleteCantactsCampaignsSuccessfulResponseDto {
477 #[serde(default, skip_serializing_if = "Option::is_none")]
478 pub succeded: Option<bool>,
479}
480
481#[derive(Debug, Clone, Default, Serialize, Deserialize)]
483pub struct CreateDeleteTagSuccessfulResponseDto {
484 #[serde(default, skip_serializing_if = "Vec::is_empty")]
485 pub tags: Vec<String>,
486}
487
488#[derive(Debug, Clone, Default, Serialize, Deserialize)]
490pub struct CreateTaskParams {
491 pub title: String,
493 #[serde(default, skip_serializing_if = "Option::is_none")]
494 pub body: Option<String>,
495 #[serde(rename = "dueDate")]
497 pub due_date: String,
498 pub completed: bool,
500 #[serde(
501 rename = "assignedTo",
502 default,
503 skip_serializing_if = "Option::is_none"
504 )]
505 pub assigned_to: Option<String>,
506}
507
508#[derive(Debug, Clone, Default, Serialize, Deserialize)]
510pub struct CreateWorkflowDto {
511 #[serde(
512 rename = "eventStartTime",
513 default,
514 skip_serializing_if = "Option::is_none"
515 )]
516 pub event_start_time: Option<String>,
517}
518
519#[derive(Debug, Clone, Default, Serialize, Deserialize)]
521pub struct CustomFieldSchema {
522 #[serde(default, skip_serializing_if = "Option::is_none")]
523 pub id: Option<String>,
524 #[serde(default, skip_serializing_if = "Option::is_none")]
525 pub value: Option<String>,
526}
527
528#[derive(Debug, Clone, Default, Serialize, Deserialize)]
530pub struct DeleteContactsSuccessfulResponseDto {
531 #[serde(default, skip_serializing_if = "Option::is_none")]
532 pub succeded: Option<bool>,
533}
534
535#[derive(Debug, Clone, Default, Serialize, Deserialize)]
537pub struct DeleteFollowersSuccessfulResponseDto {
538 #[serde(default, skip_serializing_if = "Vec::is_empty")]
539 pub followers: Vec<String>,
540 #[serde(
541 rename = "followersRemoved",
542 default,
543 skip_serializing_if = "Vec::is_empty"
544 )]
545 pub followers_removed: Vec<String>,
546}
547
548#[derive(Debug, Clone, Default, Serialize, Deserialize)]
550pub struct DeleteNoteSuccessfulResponseDto {
551 #[serde(default, skip_serializing_if = "Option::is_none")]
552 pub succeded: Option<bool>,
553}
554
555#[derive(Debug, Clone, Default, Serialize, Deserialize)]
557pub struct DeleteTaskSuccessfulResponseDto {
558 #[serde(default, skip_serializing_if = "Option::is_none")]
559 pub succeded: Option<bool>,
560}
561
562#[derive(Debug, Clone, Default, Serialize, Deserialize)]
564pub struct DndSettingSchema {
565 #[serde(default, skip_serializing_if = "Option::is_none")]
569 pub status: Option<String>,
570 #[serde(default, skip_serializing_if = "Option::is_none")]
571 pub message: Option<String>,
572 #[serde(default, skip_serializing_if = "Option::is_none")]
573 pub code: Option<String>,
574}
575
576#[derive(Debug, Clone, Default, Serialize, Deserialize)]
578pub struct DndSettingsSchema {
579 #[serde(rename = "Call", default, skip_serializing_if = "Option::is_none")]
580 pub call: Option<DndSettingSchema>,
581 #[serde(rename = "Email", default, skip_serializing_if = "Option::is_none")]
582 pub email: Option<DndSettingSchema>,
583 #[serde(rename = "SMS", default, skip_serializing_if = "Option::is_none")]
584 pub sms: Option<DndSettingSchema>,
585 #[serde(rename = "WhatsApp", default, skip_serializing_if = "Option::is_none")]
586 pub whats_app: Option<DndSettingSchema>,
587 #[serde(rename = "GMB", default, skip_serializing_if = "Option::is_none")]
588 pub gmb: Option<DndSettingSchema>,
589 #[serde(rename = "FB", default, skip_serializing_if = "Option::is_none")]
590 pub fb: Option<DndSettingSchema>,
591}
592
593#[derive(Debug, Clone, Default, Serialize, Deserialize)]
595pub struct FileField {
596 pub id: String,
598 #[serde(default, skip_serializing_if = "Option::is_none")]
599 pub key: Option<String>,
600 #[serde(default, skip_serializing_if = "Option::is_none")]
601 pub field_value: Option<serde_json::Value>,
602}
603
604#[derive(Debug, Clone, Default, Serialize, Deserialize)]
606pub struct FollowersDTO {
607 #[serde(default, skip_serializing_if = "Vec::is_empty")]
609 pub followers: Vec<String>,
610}
611
612#[derive(Debug, Clone, Default, Serialize, Deserialize)]
614pub struct GetContectByIdSchema {
615 #[serde(default, skip_serializing_if = "Option::is_none")]
616 pub id: Option<String>,
617 #[serde(default, skip_serializing_if = "Option::is_none")]
618 pub name: Option<String>,
619 #[serde(
620 rename = "locationId",
621 default,
622 skip_serializing_if = "Option::is_none"
623 )]
624 pub location_id: Option<String>,
625 #[serde(rename = "firstName", default, skip_serializing_if = "Option::is_none")]
626 pub first_name: Option<String>,
627 #[serde(rename = "lastName", default, skip_serializing_if = "Option::is_none")]
628 pub last_name: Option<String>,
629 #[serde(default, skip_serializing_if = "Option::is_none")]
630 pub email: Option<String>,
631 #[serde(
632 rename = "emailLowerCase",
633 default,
634 skip_serializing_if = "Option::is_none"
635 )]
636 pub email_lower_case: Option<String>,
637 #[serde(default, skip_serializing_if = "Option::is_none")]
638 pub timezone: Option<String>,
639 #[serde(
640 rename = "companyName",
641 default,
642 skip_serializing_if = "Option::is_none"
643 )]
644 pub company_name: Option<String>,
645 #[serde(default, skip_serializing_if = "Option::is_none")]
646 pub phone: Option<String>,
647 #[serde(default, skip_serializing_if = "Option::is_none")]
648 pub dnd: Option<bool>,
649 #[serde(
650 rename = "dndSettings",
651 default,
652 skip_serializing_if = "Option::is_none"
653 )]
654 pub dnd_settings: Option<DndSettingsSchema>,
655 #[serde(rename = "type", default, skip_serializing_if = "Option::is_none")]
656 pub type_: Option<String>,
657 #[serde(default, skip_serializing_if = "Option::is_none")]
658 pub source: Option<String>,
659 #[serde(
660 rename = "assignedTo",
661 default,
662 skip_serializing_if = "Option::is_none"
663 )]
664 pub assigned_to: Option<String>,
665 #[serde(default, skip_serializing_if = "Option::is_none")]
666 pub address1: Option<String>,
667 #[serde(default, skip_serializing_if = "Option::is_none")]
668 pub city: Option<String>,
669 #[serde(default, skip_serializing_if = "Option::is_none")]
670 pub state: Option<String>,
671 #[serde(default, skip_serializing_if = "Option::is_none")]
672 pub country: Option<String>,
673 #[serde(
674 rename = "postalCode",
675 default,
676 skip_serializing_if = "Option::is_none"
677 )]
678 pub postal_code: Option<String>,
679 #[serde(default, skip_serializing_if = "Option::is_none")]
680 pub website: Option<String>,
681 #[serde(default, skip_serializing_if = "Vec::is_empty")]
682 pub tags: Vec<String>,
683 #[serde(
684 rename = "dateOfBirth",
685 default,
686 skip_serializing_if = "Option::is_none"
687 )]
688 pub date_of_birth: Option<String>,
689 #[serde(rename = "dateAdded", default, skip_serializing_if = "Option::is_none")]
690 pub date_added: Option<String>,
691 #[serde(
692 rename = "dateUpdated",
693 default,
694 skip_serializing_if = "Option::is_none"
695 )]
696 pub date_updated: Option<String>,
697 #[serde(default, skip_serializing_if = "Option::is_none")]
698 pub attachments: Option<String>,
699 #[serde(default, skip_serializing_if = "Option::is_none")]
700 pub ssn: Option<String>,
701 #[serde(default, skip_serializing_if = "Option::is_none")]
702 pub keyword: Option<String>,
703 #[serde(
704 rename = "firstNameLowerCase",
705 default,
706 skip_serializing_if = "Option::is_none"
707 )]
708 pub first_name_lower_case: Option<String>,
709 #[serde(
710 rename = "fullNameLowerCase",
711 default,
712 skip_serializing_if = "Option::is_none"
713 )]
714 pub full_name_lower_case: Option<String>,
715 #[serde(
716 rename = "lastNameLowerCase",
717 default,
718 skip_serializing_if = "Option::is_none"
719 )]
720 pub last_name_lower_case: Option<String>,
721 #[serde(
722 rename = "lastActivity",
723 default,
724 skip_serializing_if = "Option::is_none"
725 )]
726 pub last_activity: Option<String>,
727 #[serde(
728 rename = "customFields",
729 default,
730 skip_serializing_if = "Vec::is_empty"
731 )]
732 pub custom_fields: Vec<CustomFieldSchema>,
733 #[serde(
734 rename = "businessId",
735 default,
736 skip_serializing_if = "Option::is_none"
737 )]
738 pub business_id: Option<String>,
739 #[serde(
740 rename = "attributionSource",
741 default,
742 skip_serializing_if = "Option::is_none"
743 )]
744 pub attribution_source: Option<AttributionSource>,
745 #[serde(
746 rename = "lastAttributionSource",
747 default,
748 skip_serializing_if = "Option::is_none"
749 )]
750 pub last_attribution_source: Option<AttributionSource>,
751 #[serde(rename = "visitorId", default, skip_serializing_if = "Option::is_none")]
753 pub visitor_id: Option<String>,
754}
755
756#[derive(Debug, Clone, Default, Serialize, Deserialize)]
758pub struct GetCreateUpdateNoteSuccessfulResponseDto {
759 #[serde(default, skip_serializing_if = "Option::is_none")]
760 pub note: Option<GetNoteSchema>,
761}
762
763#[derive(Debug, Clone, Default, Serialize, Deserialize)]
765pub struct GetEventSchema {
766 #[serde(default, skip_serializing_if = "Option::is_none")]
767 pub id: Option<String>,
768 #[serde(
769 rename = "calendarId",
770 default,
771 skip_serializing_if = "Option::is_none"
772 )]
773 pub calendar_id: Option<String>,
774 #[serde(default, skip_serializing_if = "Option::is_none")]
775 pub status: Option<String>,
776 #[serde(default, skip_serializing_if = "Option::is_none")]
777 pub title: Option<String>,
778 #[serde(
779 rename = "assignedUserId",
780 default,
781 skip_serializing_if = "Option::is_none"
782 )]
783 pub assigned_user_id: Option<String>,
784 #[serde(default, skip_serializing_if = "Option::is_none")]
785 pub notes: Option<String>,
786 #[serde(rename = "startTime", default, skip_serializing_if = "Option::is_none")]
787 pub start_time: Option<String>,
788 #[serde(rename = "endTime", default, skip_serializing_if = "Option::is_none")]
789 pub end_time: Option<String>,
790 #[serde(default, skip_serializing_if = "Option::is_none")]
791 pub address: Option<String>,
792 #[serde(
793 rename = "locationId",
794 default,
795 skip_serializing_if = "Option::is_none"
796 )]
797 pub location_id: Option<String>,
798 #[serde(rename = "contactId", default, skip_serializing_if = "Option::is_none")]
799 pub contact_id: Option<String>,
800 #[serde(rename = "groupId", default, skip_serializing_if = "Option::is_none")]
801 pub group_id: Option<String>,
802 #[serde(
803 rename = "appointmentStatus",
804 default,
805 skip_serializing_if = "Option::is_none"
806 )]
807 pub appointment_status: Option<String>,
808 #[serde(default, skip_serializing_if = "Vec::is_empty")]
809 pub users: Vec<String>,
810 #[serde(rename = "dateAdded", default, skip_serializing_if = "Option::is_none")]
811 pub date_added: Option<String>,
812 #[serde(
813 rename = "dateUpdated",
814 default,
815 skip_serializing_if = "Option::is_none"
816 )]
817 pub date_updated: Option<String>,
818 #[serde(
819 rename = "assignedResources",
820 default,
821 skip_serializing_if = "Vec::is_empty"
822 )]
823 pub assigned_resources: Vec<String>,
824}
825
826#[derive(Debug, Clone, Default, Serialize, Deserialize)]
828pub struct GetEventsSuccessfulResponseDto {
829 #[serde(default, skip_serializing_if = "Vec::is_empty")]
830 pub events: Vec<GetEventSchema>,
831}
832
833#[derive(Debug, Clone, Default, Serialize, Deserialize)]
835pub struct GetNoteSchema {
836 #[serde(default, skip_serializing_if = "Option::is_none")]
837 pub id: Option<String>,
838 #[serde(default, skip_serializing_if = "Option::is_none")]
839 pub body: Option<String>,
840 #[serde(rename = "userId", default, skip_serializing_if = "Option::is_none")]
841 pub user_id: Option<String>,
842 #[serde(rename = "dateAdded", default, skip_serializing_if = "Option::is_none")]
843 pub date_added: Option<String>,
844 #[serde(rename = "contactId", default, skip_serializing_if = "Option::is_none")]
845 pub contact_id: Option<String>,
846 #[serde(default, skip_serializing_if = "Option::is_none")]
847 pub title: Option<String>,
848 #[serde(default, skip_serializing_if = "Option::is_none")]
849 pub color: Option<String>,
850 #[serde(default, skip_serializing_if = "Option::is_none")]
851 pub pinned: Option<bool>,
852}
853
854#[derive(Debug, Clone, Default, Serialize, Deserialize)]
856pub struct GetNotesListSuccessfulResponseDto {
857 #[serde(default, skip_serializing_if = "Vec::is_empty")]
858 pub notes: Vec<GetNoteSchema>,
859}
860
861#[derive(Debug, Clone, Default, Serialize, Deserialize)]
863pub struct InboundDndSettingSchema {
864 pub status: String,
867 #[serde(default, skip_serializing_if = "Option::is_none")]
868 pub message: Option<String>,
869}
870
871#[derive(Debug, Clone, Default, Serialize, Deserialize)]
873pub struct InboundDndSettingsSchema {
874 #[serde(default, skip_serializing_if = "Option::is_none")]
875 pub all: Option<InboundDndSettingSchema>,
876}
877
878#[derive(Debug, Clone, Default, Serialize, Deserialize)]
880pub struct LargeTextField {
881 pub id: String,
883 #[serde(default, skip_serializing_if = "Option::is_none")]
884 pub key: Option<String>,
885 #[serde(default, skip_serializing_if = "Option::is_none")]
886 pub field_value: Option<String>,
887}
888
889#[derive(Debug, Clone, Default, Serialize, Deserialize)]
891pub struct MonetoryField {
892 pub id: String,
894 #[serde(default, skip_serializing_if = "Option::is_none")]
895 pub key: Option<String>,
896 #[serde(default, skip_serializing_if = "Option::is_none")]
897 pub field_value: Option<serde_json::Value>,
898}
899
900#[derive(Debug, Clone, Default, Serialize, Deserialize)]
902pub struct MultiSelectField {
903 pub id: String,
905 #[serde(default, skip_serializing_if = "Option::is_none")]
906 pub key: Option<String>,
907 #[serde(default, skip_serializing_if = "Vec::is_empty")]
908 pub field_value: Vec<String>,
909}
910
911#[derive(Debug, Clone, Default, Serialize, Deserialize)]
913pub struct NotesDTO {
914 #[serde(rename = "userId", default, skip_serializing_if = "Option::is_none")]
915 pub user_id: Option<String>,
916 pub body: String,
918 #[serde(default, skip_serializing_if = "Option::is_none")]
919 pub title: Option<String>,
920 #[serde(default, skip_serializing_if = "Option::is_none")]
921 pub color: Option<String>,
922 #[serde(default, skip_serializing_if = "Option::is_none")]
923 pub pinned: Option<bool>,
924}
925
926#[derive(Debug, Clone, Default, Serialize, Deserialize)]
928pub struct NumericField {
929 pub id: String,
931 #[serde(default, skip_serializing_if = "Option::is_none")]
932 pub key: Option<String>,
933 #[serde(default, skip_serializing_if = "Option::is_none")]
934 pub field_value: Option<serde_json::Value>,
935}
936
937#[derive(Debug, Clone, Default, Serialize, Deserialize)]
939pub struct RadioField {
940 pub id: String,
942 #[serde(default, skip_serializing_if = "Option::is_none")]
943 pub key: Option<String>,
944 #[serde(default, skip_serializing_if = "Option::is_none")]
945 pub field_value: Option<String>,
946}
947
948#[derive(Debug, Clone, Default, Serialize, Deserialize)]
950pub struct SearchBodyV2DTO {
951 #[serde(flatten)]
953 pub extra: serde_json::Map<String, serde_json::Value>,
954}
955
956#[derive(Debug, Clone, Default, Serialize, Deserialize)]
958pub struct SingleSelectField {
959 pub id: String,
961 #[serde(default, skip_serializing_if = "Option::is_none")]
962 pub key: Option<String>,
963 #[serde(default, skip_serializing_if = "Option::is_none")]
964 pub field_value: Option<String>,
965}
966
967#[derive(Debug, Clone, Default, Serialize, Deserialize)]
969pub struct TagsDTO {
970 #[serde(default, skip_serializing_if = "Vec::is_empty")]
972 pub tags: Vec<String>,
973}
974
975#[derive(Debug, Clone, Default, Serialize, Deserialize)]
977pub struct TaskByIsSuccessfulResponseDto {
978 #[serde(default, skip_serializing_if = "Option::is_none")]
979 pub task: Option<TaskSchema>,
980}
981
982#[derive(Debug, Clone, Default, Serialize, Deserialize)]
984pub struct TaskSchema {
985 #[serde(default, skip_serializing_if = "Option::is_none")]
986 pub id: Option<String>,
987 #[serde(default, skip_serializing_if = "Option::is_none")]
988 pub title: Option<String>,
989 #[serde(default, skip_serializing_if = "Option::is_none")]
990 pub body: Option<String>,
991 #[serde(
992 rename = "assignedTo",
993 default,
994 skip_serializing_if = "Option::is_none"
995 )]
996 pub assigned_to: Option<String>,
997 #[serde(rename = "dueDate", default, skip_serializing_if = "Option::is_none")]
998 pub due_date: Option<String>,
999 #[serde(default, skip_serializing_if = "Option::is_none")]
1000 pub completed: Option<bool>,
1001 #[serde(rename = "contactId", default, skip_serializing_if = "Option::is_none")]
1002 pub contact_id: Option<String>,
1003}
1004
1005#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1007pub struct TasksListSuccessfulResponseDto {
1008 #[serde(default, skip_serializing_if = "Vec::is_empty")]
1009 pub tasks: Vec<TaskSchema>,
1010}
1011
1012#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1014pub struct TextField {
1015 pub id: String,
1017 #[serde(default, skip_serializing_if = "Option::is_none")]
1018 pub key: Option<String>,
1019 #[serde(default, skip_serializing_if = "Option::is_none")]
1020 pub field_value: Option<String>,
1021}
1022
1023#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1025pub struct UpdateContactDto {
1026 #[serde(rename = "firstName", default, skip_serializing_if = "Option::is_none")]
1027 pub first_name: Option<String>,
1028 #[serde(rename = "lastName", default, skip_serializing_if = "Option::is_none")]
1029 pub last_name: Option<String>,
1030 #[serde(default, skip_serializing_if = "Option::is_none")]
1031 pub name: Option<String>,
1032 #[serde(default, skip_serializing_if = "Option::is_none")]
1033 pub email: Option<String>,
1034 #[serde(default, skip_serializing_if = "Option::is_none")]
1035 pub phone: Option<String>,
1036 #[serde(default, skip_serializing_if = "Option::is_none")]
1037 pub address1: Option<String>,
1038 #[serde(default, skip_serializing_if = "Option::is_none")]
1039 pub city: Option<String>,
1040 #[serde(default, skip_serializing_if = "Option::is_none")]
1041 pub state: Option<String>,
1042 #[serde(
1043 rename = "postalCode",
1044 default,
1045 skip_serializing_if = "Option::is_none"
1046 )]
1047 pub postal_code: Option<String>,
1048 #[serde(default, skip_serializing_if = "Option::is_none")]
1049 pub website: Option<String>,
1050 #[serde(default, skip_serializing_if = "Option::is_none")]
1051 pub timezone: Option<String>,
1052 #[serde(default, skip_serializing_if = "Option::is_none")]
1053 pub dnd: Option<bool>,
1054 #[serde(
1055 rename = "dndSettings",
1056 default,
1057 skip_serializing_if = "Option::is_none"
1058 )]
1059 pub dnd_settings: Option<DndSettingsSchema>,
1060 #[serde(
1061 rename = "inboundDndSettings",
1062 default,
1063 skip_serializing_if = "Option::is_none"
1064 )]
1065 pub inbound_dnd_settings: Option<InboundDndSettingsSchema>,
1066 #[serde(default, skip_serializing_if = "Vec::is_empty")]
1069 pub tags: Vec<String>,
1070 #[serde(
1072 rename = "customFields",
1073 default,
1074 skip_serializing_if = "Vec::is_empty"
1075 )]
1076 pub custom_fields: Vec<serde_json::Value>,
1077 #[serde(default, skip_serializing_if = "Option::is_none")]
1078 pub source: Option<String>,
1079 #[serde(
1082 rename = "dateOfBirth",
1083 default,
1084 skip_serializing_if = "Option::is_none"
1085 )]
1086 pub date_of_birth: Option<serde_json::Value>,
1087 #[serde(default, skip_serializing_if = "Option::is_none")]
1088 pub country: Option<String>,
1089 #[serde(
1091 rename = "assignedTo",
1092 default,
1093 skip_serializing_if = "Option::is_none"
1094 )]
1095 pub assigned_to: Option<String>,
1096}
1097
1098#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1100pub struct UpdateContactsSuccessfulResponseDto {
1101 #[serde(default, skip_serializing_if = "Option::is_none")]
1102 pub succeded: Option<bool>,
1103 #[serde(default, skip_serializing_if = "Option::is_none")]
1104 pub contact: Option<GetContectByIdSchema>,
1105}
1106
1107#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1109pub struct UpdateNoteDTO {
1110 #[serde(rename = "userId", default, skip_serializing_if = "Option::is_none")]
1111 pub user_id: Option<String>,
1112 #[serde(default, skip_serializing_if = "Option::is_none")]
1113 pub body: Option<String>,
1114 #[serde(default, skip_serializing_if = "Option::is_none")]
1115 pub title: Option<String>,
1116 #[serde(default, skip_serializing_if = "Option::is_none")]
1117 pub color: Option<String>,
1118 #[serde(default, skip_serializing_if = "Option::is_none")]
1119 pub pinned: Option<bool>,
1120}
1121
1122#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1124pub struct UpdateTagsDTO {
1125 #[serde(default, skip_serializing_if = "Vec::is_empty")]
1128 pub contacts: Vec<String>,
1129 #[serde(default, skip_serializing_if = "Vec::is_empty")]
1132 pub tags: Vec<String>,
1133 #[serde(rename = "locationId")]
1136 pub location_id: String,
1137 #[serde(
1140 rename = "removeAllTags",
1141 default,
1142 skip_serializing_if = "Option::is_none"
1143 )]
1144 pub remove_all_tags: Option<bool>,
1145}
1146
1147#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1149pub struct UpdateTagsResponseDTO {
1150 #[serde(default, skip_serializing_if = "Option::is_none")]
1154 pub succeded: Option<bool>,
1155 #[serde(
1159 rename = "errorCount",
1160 default,
1161 skip_serializing_if = "Option::is_none"
1162 )]
1163 pub error_count: Option<f64>,
1164 #[serde(default, skip_serializing_if = "Vec::is_empty")]
1168 pub responses: Vec<String>,
1169}
1170
1171#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1173pub struct UpdateTaskBody {
1174 #[serde(default, skip_serializing_if = "Option::is_none")]
1175 pub title: Option<String>,
1176 #[serde(default, skip_serializing_if = "Option::is_none")]
1177 pub body: Option<String>,
1178 #[serde(rename = "dueDate", default, skip_serializing_if = "Option::is_none")]
1179 pub due_date: Option<String>,
1180 #[serde(default, skip_serializing_if = "Option::is_none")]
1181 pub completed: Option<bool>,
1182 #[serde(
1183 rename = "assignedTo",
1184 default,
1185 skip_serializing_if = "Option::is_none"
1186 )]
1187 pub assigned_to: Option<String>,
1188}
1189
1190#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1192pub struct UpdateTaskStatusParams {
1193 pub completed: bool,
1195}
1196
1197#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1199pub struct UpsertContactDto {
1200 #[serde(rename = "firstName", default, skip_serializing_if = "Option::is_none")]
1201 pub first_name: Option<String>,
1202 #[serde(rename = "lastName", default, skip_serializing_if = "Option::is_none")]
1203 pub last_name: Option<String>,
1204 #[serde(default, skip_serializing_if = "Option::is_none")]
1205 pub name: Option<String>,
1206 #[serde(default, skip_serializing_if = "Option::is_none")]
1207 pub email: Option<String>,
1208 #[serde(rename = "locationId")]
1210 pub location_id: String,
1211 #[serde(default, skip_serializing_if = "Option::is_none")]
1212 pub gender: Option<String>,
1213 #[serde(default, skip_serializing_if = "Option::is_none")]
1214 pub phone: Option<String>,
1215 #[serde(default, skip_serializing_if = "Option::is_none")]
1216 pub address1: Option<String>,
1217 #[serde(default, skip_serializing_if = "Option::is_none")]
1218 pub city: Option<String>,
1219 #[serde(default, skip_serializing_if = "Option::is_none")]
1220 pub state: Option<String>,
1221 #[serde(
1222 rename = "postalCode",
1223 default,
1224 skip_serializing_if = "Option::is_none"
1225 )]
1226 pub postal_code: Option<String>,
1227 #[serde(default, skip_serializing_if = "Option::is_none")]
1228 pub website: Option<String>,
1229 #[serde(default, skip_serializing_if = "Option::is_none")]
1230 pub timezone: Option<String>,
1231 #[serde(default, skip_serializing_if = "Option::is_none")]
1232 pub dnd: Option<bool>,
1233 #[serde(
1234 rename = "dndSettings",
1235 default,
1236 skip_serializing_if = "Option::is_none"
1237 )]
1238 pub dnd_settings: Option<DndSettingsSchema>,
1239 #[serde(
1240 rename = "inboundDndSettings",
1241 default,
1242 skip_serializing_if = "Option::is_none"
1243 )]
1244 pub inbound_dnd_settings: Option<InboundDndSettingsSchema>,
1245 #[serde(default, skip_serializing_if = "Vec::is_empty")]
1248 pub tags: Vec<String>,
1249 #[serde(
1251 rename = "customFields",
1252 default,
1253 skip_serializing_if = "Vec::is_empty"
1254 )]
1255 pub custom_fields: Vec<serde_json::Value>,
1256 #[serde(default, skip_serializing_if = "Option::is_none")]
1257 pub source: Option<String>,
1258 #[serde(
1261 rename = "dateOfBirth",
1262 default,
1263 skip_serializing_if = "Option::is_none"
1264 )]
1265 pub date_of_birth: Option<serde_json::Value>,
1266 #[serde(default, skip_serializing_if = "Option::is_none")]
1267 pub country: Option<String>,
1268 #[serde(
1269 rename = "companyName",
1270 default,
1271 skip_serializing_if = "Option::is_none"
1272 )]
1273 pub company_name: Option<String>,
1274 #[serde(
1276 rename = "assignedTo",
1277 default,
1278 skip_serializing_if = "Option::is_none"
1279 )]
1280 pub assigned_to: Option<String>,
1281 #[serde(
1290 rename = "createNewIfDuplicateAllowed",
1291 default,
1292 skip_serializing_if = "Option::is_none"
1293 )]
1294 pub create_new_if_duplicate_allowed: Option<bool>,
1295}
1296
1297#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1299pub struct UpsertContactsSuccessfulResponseDto {
1300 #[serde(default, skip_serializing_if = "Option::is_none")]
1301 pub new: Option<bool>,
1302 #[serde(default, skip_serializing_if = "Option::is_none")]
1303 pub contact: Option<GetContectByIdSchema>,
1304 #[serde(rename = "traceId", default, skip_serializing_if = "Option::is_none")]
1305 pub trace_id: Option<String>,
1306}
1307
1308#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1310pub struct CustomFieldsInputArraySchema {
1311 #[serde(default, skip_serializing_if = "Option::is_none")]
1314 pub id: Option<String>,
1315 #[serde(default, skip_serializing_if = "Option::is_none")]
1316 pub key: Option<String>,
1317 #[serde(default, skip_serializing_if = "Vec::is_empty")]
1318 pub field_value: Vec<String>,
1319}
1320
1321#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1323pub struct CustomFieldsInputObjectSchema {
1324 #[serde(default, skip_serializing_if = "Option::is_none")]
1327 pub id: Option<String>,
1328 #[serde(default, skip_serializing_if = "Option::is_none")]
1329 pub key: Option<String>,
1330 #[serde(default, skip_serializing_if = "Option::is_none")]
1331 pub field_value: Option<serde_json::Value>,
1332}
1333
1334#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1336pub struct CustomFieldsInputStringSchema {
1337 #[serde(default, skip_serializing_if = "Option::is_none")]
1339 pub id: Option<String>,
1340 #[serde(default, skip_serializing_if = "Option::is_none")]
1342 pub key: Option<String>,
1343 #[serde(default, skip_serializing_if = "Option::is_none")]
1344 pub field_value: Option<String>,
1345}