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