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 AgencyPlanResponseDto {
24 #[serde(rename = "planId", default, skip_serializing_if = "Option::is_none")]
28 pub plan_id: Option<String>,
29 #[serde(default, skip_serializing_if = "Option::is_none")]
33 pub title: Option<String>,
34 #[serde(default, skip_serializing_if = "Option::is_none")]
38 pub description: Option<String>,
39 #[serde(
43 rename = "saasProducts",
44 default,
45 skip_serializing_if = "Vec::is_empty"
46 )]
47 pub saas_products: Vec<String>,
48 #[serde(rename = "addOns", default, skip_serializing_if = "Vec::is_empty")]
50 pub add_ons: Vec<String>,
51 #[serde(rename = "planLevel", default, skip_serializing_if = "Option::is_none")]
55 pub plan_level: Option<f64>,
56 #[serde(
60 rename = "trialPeriod",
61 default,
62 skip_serializing_if = "Option::is_none"
63 )]
64 pub trial_period: Option<f64>,
65 #[serde(rename = "userLimit", default, skip_serializing_if = "Option::is_none")]
67 pub user_limit: Option<f64>,
68 #[serde(
70 rename = "contactLimit",
71 default,
72 skip_serializing_if = "Option::is_none"
73 )]
74 pub contact_limit: Option<f64>,
75 #[serde(default, skip_serializing_if = "Vec::is_empty")]
80 pub prices: Vec<serde_json::Value>,
81 #[serde(
83 rename = "categoryId",
84 default,
85 skip_serializing_if = "Option::is_none"
86 )]
87 pub category_id: Option<String>,
88 #[serde(
90 rename = "snapshotId",
91 default,
92 skip_serializing_if = "Option::is_none"
93 )]
94 pub snapshot_id: Option<String>,
95 #[serde(rename = "productId", default, skip_serializing_if = "Option::is_none")]
97 pub product_id: Option<String>,
98 #[serde(rename = "isSaaSV2", default, skip_serializing_if = "Option::is_none")]
102 pub is_saa_sv2: Option<bool>,
103 #[serde(
105 rename = "providerLocationId",
106 default,
107 skip_serializing_if = "Option::is_none"
108 )]
109 pub provider_location_id: Option<String>,
110 #[serde(rename = "createdAt", default, skip_serializing_if = "Option::is_none")]
114 pub created_at: Option<String>,
115 #[serde(rename = "updatedAt", default, skip_serializing_if = "Option::is_none")]
119 pub updated_at: Option<String>,
120}
121
122#[derive(Debug, Clone, Default, Serialize, Deserialize)]
124pub struct BadRequestDTO {
125 #[serde(
127 rename = "statusCode",
128 default,
129 skip_serializing_if = "Option::is_none"
130 )]
131 pub status_code: Option<f64>,
132 #[serde(default, skip_serializing_if = "Option::is_none")]
134 pub message: Option<String>,
135}
136
137#[derive(Debug, Clone, Default, Serialize, Deserialize)]
139pub struct BulkDisableSaasDto {
140 #[serde(rename = "locationIds", default, skip_serializing_if = "Vec::is_empty")]
143 pub location_ids: Vec<String>,
144}
145
146#[derive(Debug, Clone, Default, Serialize, Deserialize)]
148pub struct BulkDisableSaasResponseDto {
149 #[serde(default, skip_serializing_if = "Option::is_none")]
153 pub data: Option<serde_json::Value>,
154}
155
156#[derive(Debug, Clone, Default, Serialize, Deserialize)]
158pub struct BulkEnableSaasActionPayloadDto {
159 #[serde(rename = "priceId", default, skip_serializing_if = "Option::is_none")]
161 pub price_id: Option<String>,
162 #[serde(
164 rename = "stripeAccountId",
165 default,
166 skip_serializing_if = "Option::is_none"
167 )]
168 pub stripe_account_id: Option<String>,
169 #[serde(rename = "saasPlanId")]
172 pub saas_plan_id: String,
173 #[serde(
175 rename = "providerLocationId",
176 default,
177 skip_serializing_if = "Option::is_none"
178 )]
179 pub provider_location_id: Option<String>,
180}
181
182#[derive(Debug, Clone, Default, Serialize, Deserialize)]
184pub struct BulkEnableSaasRequestDto {
185 #[serde(rename = "locationIds", default, skip_serializing_if = "Vec::is_empty")]
188 pub location_ids: Vec<String>,
189 #[serde(rename = "isSaaSV2")]
192 pub is_saa_sv2: bool,
193 #[serde(rename = "actionPayload")]
196 pub action_payload: BulkEnableSaasActionPayloadDto,
197}
198
199#[derive(Debug, Clone, Default, Serialize, Deserialize)]
201pub struct BulkEnableSaasResponseDto {
202 #[serde(default, skip_serializing_if = "Option::is_none")]
206 pub success: Option<bool>,
207 #[serde(default, skip_serializing_if = "Option::is_none")]
211 pub message: Option<String>,
212 #[serde(
214 rename = "bulkActionUrl",
215 default,
216 skip_serializing_if = "Option::is_none"
217 )]
218 pub bulk_action_url: Option<String>,
219}
220
221#[derive(Debug, Clone, Default, Serialize, Deserialize)]
223pub struct EnableSaasDto {
224 #[serde(
226 rename = "stripeAccountId",
227 default,
228 skip_serializing_if = "Option::is_none"
229 )]
230 pub stripe_account_id: Option<String>,
231 #[serde(default, skip_serializing_if = "Option::is_none")]
233 pub name: Option<String>,
234 #[serde(default, skip_serializing_if = "Option::is_none")]
236 pub email: Option<String>,
237 #[serde(
239 rename = "stripeCustomerId",
240 default,
241 skip_serializing_if = "Option::is_none"
242 )]
243 pub stripe_customer_id: Option<String>,
244 #[serde(rename = "companyId")]
246 pub company_id: String,
247 #[serde(rename = "isSaaSV2")]
250 pub is_saa_sv2: bool,
251 #[serde(rename = "contactId", default, skip_serializing_if = "Option::is_none")]
253 pub contact_id: Option<String>,
254 #[serde(
256 rename = "providerLocationId",
257 default,
258 skip_serializing_if = "Option::is_none"
259 )]
260 pub provider_location_id: Option<String>,
261 #[serde(default, skip_serializing_if = "Option::is_none")]
263 pub description: Option<String>,
264 #[serde(
266 rename = "saasPlanId",
267 default,
268 skip_serializing_if = "Option::is_none"
269 )]
270 pub saas_plan_id: Option<String>,
271 #[serde(rename = "priceId", default, skip_serializing_if = "Option::is_none")]
273 pub price_id: Option<String>,
274}
275
276#[derive(Debug, Clone, Default, Serialize, Deserialize)]
278pub struct EnableSaasResponseDto {
279 #[serde(default, skip_serializing_if = "Option::is_none")]
283 pub data: Option<serde_json::Value>,
284}
285
286#[derive(Debug, Clone, Default, Serialize, Deserialize)]
288pub struct GetSaasLocationsResponseDto {
289 #[serde(default, skip_serializing_if = "Vec::is_empty")]
293 pub locations: Vec<SaasLocationDto>,
294 #[serde(default, skip_serializing_if = "Option::is_none")]
298 pub pagination: Option<serde_json::Value>,
299}
300
301#[derive(Debug, Clone, Default, Serialize, Deserialize)]
303pub struct InternalServerErrorDTO {
304 #[serde(
306 rename = "statusCode",
307 default,
308 skip_serializing_if = "Option::is_none"
309 )]
310 pub status_code: Option<f64>,
311 #[serde(default, skip_serializing_if = "Option::is_none")]
313 pub message: Option<String>,
314}
315
316#[derive(Debug, Clone, Default, Serialize, Deserialize)]
318pub struct LocationSubscriptionResponseDto {
319 #[serde(
323 rename = "locationId",
324 default,
325 skip_serializing_if = "Option::is_none"
326 )]
327 pub location_id: Option<String>,
328 #[serde(rename = "isSaaSV2", default, skip_serializing_if = "Option::is_none")]
332 pub is_saa_sv2: Option<bool>,
333 #[serde(rename = "companyId", default, skip_serializing_if = "Option::is_none")]
337 pub company_id: Option<String>,
338 #[serde(rename = "saasMode", default, skip_serializing_if = "Option::is_none")]
340 pub saas_mode: Option<String>,
341 #[serde(
343 rename = "subscriptionId",
344 default,
345 skip_serializing_if = "Option::is_none"
346 )]
347 pub subscription_id: Option<String>,
348 #[serde(
350 rename = "customerId",
351 default,
352 skip_serializing_if = "Option::is_none"
353 )]
354 pub customer_id: Option<String>,
355 #[serde(rename = "productId", default, skip_serializing_if = "Option::is_none")]
357 pub product_id: Option<String>,
358 #[serde(rename = "priceId", default, skip_serializing_if = "Option::is_none")]
360 pub price_id: Option<String>,
361 #[serde(
363 rename = "saasPlanId",
364 default,
365 skip_serializing_if = "Option::is_none"
366 )]
367 pub saas_plan_id: Option<String>,
368 #[serde(
370 rename = "subscriptionStatus",
371 default,
372 skip_serializing_if = "Option::is_none"
373 )]
374 pub subscription_status: Option<String>,
375}
376
377#[derive(Debug, Clone, Default, Serialize, Deserialize)]
379pub struct PauseLocationDto {
380 pub paused: bool,
383 #[serde(rename = "companyId")]
386 pub company_id: String,
387}
388
389#[derive(Debug, Clone, Default, Serialize, Deserialize)]
391pub struct ResourceNotFoundDTO {
392 #[serde(
394 rename = "statusCode",
395 default,
396 skip_serializing_if = "Option::is_none"
397 )]
398 pub status_code: Option<f64>,
399 #[serde(default, skip_serializing_if = "Option::is_none")]
401 pub message: Option<String>,
402}
403
404#[derive(Debug, Clone, Default, Serialize, Deserialize)]
406pub struct SaasLocationDto {
407 #[serde(
411 rename = "locationId",
412 default,
413 skip_serializing_if = "Option::is_none"
414 )]
415 pub location_id: Option<String>,
416 #[serde(rename = "companyId", default, skip_serializing_if = "Option::is_none")]
420 pub company_id: Option<String>,
421 #[serde(rename = "saasMode", default, skip_serializing_if = "Option::is_none")]
425 pub saas_mode: Option<String>,
426 #[serde(
430 rename = "subscriptionId",
431 default,
432 skip_serializing_if = "Option::is_none"
433 )]
434 pub subscription_id: Option<String>,
435 #[serde(
437 rename = "customerId",
438 default,
439 skip_serializing_if = "Option::is_none"
440 )]
441 pub customer_id: Option<String>,
442 #[serde(default, skip_serializing_if = "Option::is_none")]
444 pub name: Option<String>,
445 #[serde(default, skip_serializing_if = "Option::is_none")]
447 pub email: Option<String>,
448 #[serde(
450 rename = "providerLocationId",
451 default,
452 skip_serializing_if = "Option::is_none"
453 )]
454 pub provider_location_id: Option<String>,
455 #[serde(rename = "isSaaSV2", default, skip_serializing_if = "Option::is_none")]
457 pub is_saa_sv2: Option<bool>,
458 #[serde(
460 rename = "subscriptionInfo",
461 default,
462 skip_serializing_if = "Option::is_none"
463 )]
464 pub subscription_info: Option<serde_json::Value>,
465}
466
467#[derive(Debug, Clone, Default, Serialize, Deserialize)]
469pub struct SaasPlanResponseDto {
470 #[serde(rename = "planId", default, skip_serializing_if = "Option::is_none")]
474 pub plan_id: Option<String>,
475 #[serde(rename = "companyId", default, skip_serializing_if = "Option::is_none")]
479 pub company_id: Option<String>,
480 #[serde(default, skip_serializing_if = "Option::is_none")]
484 pub title: Option<String>,
485 #[serde(default, skip_serializing_if = "Option::is_none")]
489 pub description: Option<String>,
490 #[serde(
494 rename = "saasProducts",
495 default,
496 skip_serializing_if = "Vec::is_empty"
497 )]
498 pub saas_products: Vec<String>,
499 #[serde(rename = "addOns", default, skip_serializing_if = "Vec::is_empty")]
501 pub add_ons: Vec<String>,
502 #[serde(rename = "planLevel", default, skip_serializing_if = "Option::is_none")]
506 pub plan_level: Option<f64>,
507 #[serde(
511 rename = "trialPeriod",
512 default,
513 skip_serializing_if = "Option::is_none"
514 )]
515 pub trial_period: Option<f64>,
516 #[serde(rename = "setupFee", default, skip_serializing_if = "Option::is_none")]
518 pub setup_fee: Option<f64>,
519 #[serde(rename = "userLimit", default, skip_serializing_if = "Option::is_none")]
521 pub user_limit: Option<f64>,
522 #[serde(
524 rename = "contactLimit",
525 default,
526 skip_serializing_if = "Option::is_none"
527 )]
528 pub contact_limit: Option<f64>,
529 #[serde(default, skip_serializing_if = "Vec::is_empty")]
534 pub prices: Vec<serde_json::Value>,
535 #[serde(
537 rename = "categoryId",
538 default,
539 skip_serializing_if = "Option::is_none"
540 )]
541 pub category_id: Option<String>,
542 #[serde(
544 rename = "snapshotId",
545 default,
546 skip_serializing_if = "Option::is_none"
547 )]
548 pub snapshot_id: Option<String>,
549 #[serde(
551 rename = "providerLocationId",
552 default,
553 skip_serializing_if = "Option::is_none"
554 )]
555 pub provider_location_id: Option<String>,
556 #[serde(rename = "productId", default, skip_serializing_if = "Option::is_none")]
558 pub product_id: Option<String>,
559 #[serde(rename = "isSaaSV2", default, skip_serializing_if = "Option::is_none")]
563 pub is_saa_sv2: Option<bool>,
564 #[serde(rename = "createdAt", default, skip_serializing_if = "Option::is_none")]
569 pub created_at: Option<String>,
570 #[serde(rename = "updatedAt", default, skip_serializing_if = "Option::is_none")]
575 pub updated_at: Option<String>,
576}
577
578#[derive(Debug, Clone, Default, Serialize, Deserialize)]
580pub struct UnauthorizedDTO {
581 #[serde(
583 rename = "statusCode",
584 default,
585 skip_serializing_if = "Option::is_none"
586 )]
587 pub status_code: Option<f64>,
588 #[serde(default, skip_serializing_if = "Option::is_none")]
590 pub message: Option<String>,
591 #[serde(default, skip_serializing_if = "Option::is_none")]
593 pub error: Option<String>,
594}
595
596#[derive(Debug, Clone, Default, Serialize, Deserialize)]
598pub struct UpdateRebillingDto {
599 pub product: String,
605 #[serde(rename = "locationIds", default, skip_serializing_if = "Vec::is_empty")]
608 pub location_ids: Vec<String>,
609 pub config: serde_json::Value,
613}
614
615#[derive(Debug, Clone, Default, Serialize, Deserialize)]
617pub struct UpdateRebillingResponseDto {
618 #[serde(default, skip_serializing_if = "Option::is_none")]
622 pub success: Option<bool>,
623}
624
625#[derive(Debug, Clone, Default, Serialize, Deserialize)]
627pub struct UpdateSubscriptionDto {
628 #[serde(rename = "subscriptionId")]
631 pub subscription_id: String,
632 #[serde(rename = "customerId")]
635 pub customer_id: String,
636 #[serde(rename = "companyId")]
639 pub company_id: String,
640}