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