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 AmountSummary {
16 pub subtotal: f64,
19 #[serde(default, skip_serializing_if = "Option::is_none")]
21 pub discount: Option<f64>,
22}
23
24#[derive(Debug, Clone, Default, Serialize, Deserialize)]
26pub struct ApplyToFuturePaymentsConfig {
27 #[serde(rename = "type")]
31 pub type_: String,
32 pub duration: f64,
35 #[serde(rename = "durationType")]
39 pub duration_type: String,
40}
41
42#[derive(Debug, Clone, Default, Serialize, Deserialize)]
44pub struct ApplyToFuturePaymentsConfigDto {
45 #[serde(rename = "type")]
49 pub type_: String,
50 #[serde(default, skip_serializing_if = "Option::is_none")]
52 pub duration: Option<f64>,
53 #[serde(
55 rename = "durationType",
56 default,
57 skip_serializing_if = "Option::is_none"
58 )]
59 pub duration_type: Option<String>,
60}
61
62#[derive(Debug, Clone, Default, Serialize, Deserialize)]
64pub struct CardDto {
65 #[serde(rename = "type")]
68 pub type_: String,
69 pub last4: String,
72}
73
74#[derive(Debug, Clone, Default, Serialize, Deserialize)]
76pub struct ChequeDto {
77 pub number: String,
80}
81
82#[derive(Debug, Clone, Default, Serialize, Deserialize)]
84pub struct ConnectCustomProvidersConfigDto {
85 pub live: CustomProviderKeys,
88 pub test: CustomProviderKeys,
91}
92
93#[derive(Debug, Clone, Default, Serialize, Deserialize)]
95pub struct ConnectCustomProvidersResponseSchema {
96 pub name: String,
99 pub description: String,
102 #[serde(rename = "paymentsUrl")]
105 pub payments_url: String,
106 #[serde(rename = "queryUrl")]
109 pub query_url: String,
110 #[serde(rename = "imageUrl")]
114 pub image_url: String,
115 #[serde(rename = "_id")]
118 pub id: String,
119 #[serde(rename = "locationId")]
122 pub location_id: String,
123 #[serde(rename = "marketplaceAppId")]
126 pub marketplace_app_id: String,
127 #[serde(
129 rename = "paymentProvider",
130 default,
131 skip_serializing_if = "Option::is_none"
132 )]
133 pub payment_provider: Option<serde_json::Value>,
134 pub deleted: bool,
137 #[serde(rename = "createdAt")]
141 pub created_at: String,
142 #[serde(rename = "updatedAt")]
146 pub updated_at: String,
147 #[serde(rename = "traceId", default, skip_serializing_if = "Option::is_none")]
149 pub trace_id: Option<String>,
150}
151
152#[derive(Debug, Clone, Default, Serialize, Deserialize)]
154pub struct CouponDto {
155 #[serde(rename = "_id")]
158 pub id: String,
159 #[serde(rename = "usageCount")]
162 pub usage_count: f64,
163 #[serde(rename = "limitPerCustomer")]
166 pub limit_per_customer: f64,
167 #[serde(rename = "altId")]
170 pub alt_id: String,
171 #[serde(rename = "altType")]
174 pub alt_type: String,
175 pub name: String,
178 pub code: String,
181 #[serde(rename = "discountType")]
185 pub discount_type: String,
186 #[serde(rename = "discountValue")]
189 pub discount_value: f64,
190 pub status: String,
194 #[serde(rename = "startDate")]
197 pub start_date: String,
198 #[serde(rename = "endDate", default, skip_serializing_if = "Option::is_none")]
200 pub end_date: Option<String>,
201 #[serde(rename = "applyToFuturePayments")]
204 pub apply_to_future_payments: bool,
205 #[serde(rename = "applyToFuturePaymentsConfig")]
208 pub apply_to_future_payments_config: ApplyToFuturePaymentsConfigDto,
209 #[serde(rename = "productIds", default, skip_serializing_if = "Vec::is_empty")]
211 pub product_ids: Vec<String>,
212 #[serde(rename = "priceIds", default, skip_serializing_if = "Vec::is_empty")]
214 pub price_ids: Vec<String>,
215 #[serde(rename = "variantIds", default, skip_serializing_if = "Vec::is_empty")]
217 pub variant_ids: Vec<String>,
218 #[serde(rename = "userId", default, skip_serializing_if = "Option::is_none")]
220 pub user_id: Option<String>,
221 #[serde(rename = "createdAt")]
224 pub created_at: String,
225 #[serde(rename = "updatedAt")]
228 pub updated_at: String,
229}
230
231#[derive(Debug, Clone, Default, Serialize, Deserialize)]
233pub struct CreateCouponParams {
234 #[serde(rename = "altId")]
237 pub alt_id: String,
238 #[serde(rename = "altType")]
242 pub alt_type: String,
243 pub name: String,
246 pub code: String,
249 #[serde(rename = "discountType")]
253 pub discount_type: String,
254 #[serde(rename = "discountValue")]
257 pub discount_value: f64,
258 #[serde(rename = "startDate")]
261 pub start_date: String,
262 #[serde(rename = "endDate", default, skip_serializing_if = "Option::is_none")]
264 pub end_date: Option<String>,
265 #[serde(
267 rename = "usageLimit",
268 default,
269 skip_serializing_if = "Option::is_none"
270 )]
271 pub usage_limit: Option<f64>,
272 #[serde(rename = "productIds", default, skip_serializing_if = "Vec::is_empty")]
274 pub product_ids: Vec<String>,
275 #[serde(rename = "priceIds", default, skip_serializing_if = "Vec::is_empty")]
277 pub price_ids: Vec<String>,
278 #[serde(rename = "variantIds", default, skip_serializing_if = "Vec::is_empty")]
280 pub variant_ids: Vec<String>,
281 #[serde(
283 rename = "applyToFuturePayments",
284 default,
285 skip_serializing_if = "Option::is_none"
286 )]
287 pub apply_to_future_payments: Option<bool>,
288 #[serde(
291 rename = "applyToFuturePaymentsConfig",
292 default,
293 skip_serializing_if = "Option::is_none"
294 )]
295 pub apply_to_future_payments_config: Option<ApplyToFuturePaymentsConfig>,
296 #[serde(
298 rename = "limitPerCustomer",
299 default,
300 skip_serializing_if = "Option::is_none"
301 )]
302 pub limit_per_customer: Option<bool>,
303}
304
305#[derive(Debug, Clone, Default, Serialize, Deserialize)]
307pub struct CreateCouponResponseDto {
308 #[serde(rename = "_id")]
311 pub id: String,
312 #[serde(rename = "usageCount")]
315 pub usage_count: f64,
316 #[serde(rename = "limitPerCustomer")]
319 pub limit_per_customer: f64,
320 #[serde(rename = "altId")]
323 pub alt_id: String,
324 #[serde(rename = "altType")]
327 pub alt_type: String,
328 pub name: String,
331 pub code: String,
334 #[serde(rename = "discountType")]
338 pub discount_type: String,
339 #[serde(rename = "discountValue")]
342 pub discount_value: f64,
343 pub status: String,
347 #[serde(rename = "startDate")]
350 pub start_date: String,
351 #[serde(rename = "endDate", default, skip_serializing_if = "Option::is_none")]
353 pub end_date: Option<String>,
354 #[serde(rename = "applyToFuturePayments")]
357 pub apply_to_future_payments: bool,
358 #[serde(rename = "applyToFuturePaymentsConfig")]
361 pub apply_to_future_payments_config: ApplyToFuturePaymentsConfigDto,
362 #[serde(rename = "userId", default, skip_serializing_if = "Option::is_none")]
364 pub user_id: Option<String>,
365 #[serde(rename = "createdAt")]
368 pub created_at: String,
369 #[serde(rename = "updatedAt")]
372 pub updated_at: String,
373 #[serde(rename = "traceId")]
376 pub trace_id: String,
377}
378
379#[derive(Debug, Clone, Default, Serialize, Deserialize)]
381pub struct CreateCustomProvidersDto {
382 pub name: String,
385 pub description: String,
388 #[serde(rename = "paymentsUrl")]
391 pub payments_url: String,
392 #[serde(rename = "queryUrl")]
395 pub query_url: String,
396 #[serde(rename = "imageUrl")]
400 pub image_url: String,
401 #[serde(rename = "supportsSubscriptionSchedule")]
405 pub supports_subscription_schedule: bool,
406}
407
408#[derive(Debug, Clone, Default, Serialize, Deserialize)]
410pub struct CreateCustomProvidersResponseSchema {
411 pub name: String,
414 pub description: String,
417 #[serde(rename = "paymentsUrl")]
420 pub payments_url: String,
421 #[serde(rename = "queryUrl")]
424 pub query_url: String,
425 #[serde(rename = "imageUrl")]
429 pub image_url: String,
430 #[serde(rename = "_id")]
433 pub id: String,
434 #[serde(rename = "locationId")]
437 pub location_id: String,
438 #[serde(rename = "marketplaceAppId")]
441 pub marketplace_app_id: String,
442 #[serde(
444 rename = "paymentProvider",
445 default,
446 skip_serializing_if = "Option::is_none"
447 )]
448 pub payment_provider: Option<serde_json::Value>,
449 pub deleted: bool,
452 #[serde(rename = "createdAt")]
456 pub created_at: String,
457 #[serde(rename = "updatedAt")]
461 pub updated_at: String,
462 #[serde(rename = "traceId", default, skip_serializing_if = "Option::is_none")]
464 pub trace_id: Option<String>,
465}
466
467#[derive(Debug, Clone, Default, Serialize, Deserialize)]
469pub struct CreateFulfillmentDto {
470 #[serde(rename = "altId")]
473 pub alt_id: String,
474 #[serde(rename = "altType")]
477 pub alt_type: String,
478 #[serde(default, skip_serializing_if = "Vec::is_empty")]
481 pub trackings: Vec<FulfillmentTracking>,
482 #[serde(default, skip_serializing_if = "Vec::is_empty")]
485 pub items: Vec<FulfillmentItems>,
486 #[serde(rename = "notifyCustomer")]
489 pub notify_customer: bool,
490}
491
492#[derive(Debug, Clone, Default, Serialize, Deserialize)]
494pub struct CreateFulfillmentResponseDto {
495 pub status: bool,
498 pub data: FulfillmentSchema,
501}
502
503#[derive(Debug, Clone, Default, Serialize, Deserialize)]
505pub struct CreateWhiteLabelIntegrationProviderDto {
506 #[serde(rename = "altId")]
509 pub alt_id: String,
510 #[serde(rename = "altType")]
514 pub alt_type: String,
515 #[serde(rename = "uniqueName")]
519 pub unique_name: String,
520 pub title: String,
523 pub provider: String,
527 pub description: String,
530 #[serde(rename = "imageUrl")]
534 pub image_url: String,
535}
536
537#[derive(Debug, Clone, Default, Serialize, Deserialize)]
539pub struct CreateWhitelabelIntegrationResponseDto {
540 #[serde(rename = "_id")]
543 pub id: String,
544 #[serde(rename = "altId")]
547 pub alt_id: String,
548 #[serde(rename = "altType")]
551 pub alt_type: String,
552 pub title: String,
555 pub route: String,
558 pub provider: String,
561 pub description: String,
564 #[serde(rename = "imageUrl")]
567 pub image_url: String,
568 #[serde(rename = "createdAt")]
572 pub created_at: String,
573 #[serde(rename = "updatedAt")]
577 pub updated_at: String,
578}
579
580#[derive(Debug, Clone, Default, Serialize, Deserialize)]
582pub struct CustomProviderKeys {
583 #[serde(rename = "apiKey")]
586 pub api_key: String,
587 #[serde(rename = "publishableKey")]
590 pub publishable_key: String,
591}
592
593#[derive(Debug, Clone, Default, Serialize, Deserialize)]
595pub struct CustomRRuleOptionsDto {
596 #[serde(rename = "intervalType")]
600 pub interval_type: String,
601 pub interval: f64,
603 #[serde(rename = "startDate")]
606 pub start_date: String,
607 #[serde(rename = "startTime", default, skip_serializing_if = "Option::is_none")]
609 pub start_time: Option<String>,
610 #[serde(rename = "endDate", default, skip_serializing_if = "Option::is_none")]
612 pub end_date: Option<String>,
613 #[serde(rename = "endTime", default, skip_serializing_if = "Option::is_none")]
615 pub end_time: Option<String>,
616 #[serde(
618 rename = "dayOfMonth",
619 default,
620 skip_serializing_if = "Option::is_none"
621 )]
622 pub day_of_month: Option<f64>,
623 #[serde(rename = "dayOfWeek", default, skip_serializing_if = "Option::is_none")]
625 pub day_of_week: Option<String>,
626 #[serde(rename = "numOfWeek", default, skip_serializing_if = "Option::is_none")]
628 pub num_of_week: Option<f64>,
629 #[serde(
632 rename = "monthOfYear",
633 default,
634 skip_serializing_if = "Option::is_none"
635 )]
636 pub month_of_year: Option<String>,
637 #[serde(default, skip_serializing_if = "Option::is_none")]
639 pub count: Option<f64>,
640 #[serde(
642 rename = "daysBefore",
643 default,
644 skip_serializing_if = "Option::is_none"
645 )]
646 pub days_before: Option<f64>,
647}
648
649#[derive(Debug, Clone, Default, Serialize, Deserialize)]
651pub struct DefaultPriceResponseDto {
652 #[serde(rename = "_id")]
655 pub id: String,
656 #[serde(
658 rename = "membershipOffers",
659 default,
660 skip_serializing_if = "Vec::is_empty"
661 )]
662 pub membership_offers: Vec<MembershipOfferDto>,
663 #[serde(
665 rename = "variantOptionIds",
666 default,
667 skip_serializing_if = "Vec::is_empty"
668 )]
669 pub variant_option_ids: Vec<String>,
670 #[serde(
672 rename = "locationId",
673 default,
674 skip_serializing_if = "Option::is_none"
675 )]
676 pub location_id: Option<String>,
677 #[serde(default, skip_serializing_if = "Option::is_none")]
679 pub product: Option<String>,
680 #[serde(rename = "userId", default, skip_serializing_if = "Option::is_none")]
682 pub user_id: Option<String>,
683 pub name: String,
686 #[serde(rename = "type")]
690 pub type_: String,
691 pub currency: String,
694 pub amount: f64,
697 #[serde(default, skip_serializing_if = "Option::is_none")]
699 pub recurring: Option<RecurringDto>,
700 #[serde(rename = "createdAt", default, skip_serializing_if = "Option::is_none")]
703 pub created_at: Option<String>,
704 #[serde(rename = "updatedAt", default, skip_serializing_if = "Option::is_none")]
707 pub updated_at: Option<String>,
708 #[serde(
710 rename = "compareAtPrice",
711 default,
712 skip_serializing_if = "Option::is_none"
713 )]
714 pub compare_at_price: Option<f64>,
715 #[serde(
717 rename = "trackInventory",
718 default,
719 skip_serializing_if = "Option::is_none"
720 )]
721 pub track_inventory: Option<bool>,
722 #[serde(
724 rename = "availableQuantity",
725 default,
726 skip_serializing_if = "Option::is_none"
727 )]
728 pub available_quantity: Option<f64>,
729 #[serde(
731 rename = "allowOutOfStockPurchases",
732 default,
733 skip_serializing_if = "Option::is_none"
734 )]
735 pub allow_out_of_stock_purchases: Option<bool>,
736}
737
738#[derive(Debug, Clone, Default, Serialize, Deserialize)]
740pub struct DefaultProductResponseDto {
741 #[serde(rename = "_id")]
744 pub id: String,
745 #[serde(default, skip_serializing_if = "Option::is_none")]
747 pub description: Option<String>,
748 #[serde(default, skip_serializing_if = "Vec::is_empty")]
750 pub variants: Vec<ProductVariantDto>,
751 #[serde(rename = "locationId")]
754 pub location_id: String,
755 pub name: String,
758 #[serde(rename = "productType")]
761 pub product_type: String,
762 #[serde(
764 rename = "availableInStore",
765 default,
766 skip_serializing_if = "Option::is_none"
767 )]
768 pub available_in_store: Option<bool>,
769 #[serde(rename = "createdAt")]
773 pub created_at: String,
774 #[serde(rename = "updatedAt")]
778 pub updated_at: String,
779 #[serde(
781 rename = "statementDescriptor",
782 default,
783 skip_serializing_if = "Option::is_none"
784 )]
785 pub statement_descriptor: Option<String>,
786 #[serde(default, skip_serializing_if = "Option::is_none")]
788 pub image: Option<String>,
789 #[serde(
791 rename = "collectionIds",
792 default,
793 skip_serializing_if = "Vec::is_empty"
794 )]
795 pub collection_ids: Vec<String>,
796 #[serde(
798 rename = "isTaxesEnabled",
799 default,
800 skip_serializing_if = "Option::is_none"
801 )]
802 pub is_taxes_enabled: Option<bool>,
803 #[serde(default, skip_serializing_if = "Vec::is_empty")]
807 pub taxes: Vec<String>,
808 #[serde(
810 rename = "automaticTaxCategoryId",
811 default,
812 skip_serializing_if = "Option::is_none"
813 )]
814 pub automatic_tax_category_id: Option<String>,
815 #[serde(default, skip_serializing_if = "Option::is_none")]
817 pub label: Option<ProductLabelDto>,
818 #[serde(default, skip_serializing_if = "Option::is_none")]
820 pub slug: Option<String>,
821}
822
823#[derive(Debug, Clone, Default, Serialize, Deserialize)]
825pub struct DeleteCouponParams {
826 #[serde(rename = "altId")]
829 pub alt_id: String,
830 #[serde(rename = "altType")]
834 pub alt_type: String,
835 pub id: String,
838}
839
840#[derive(Debug, Clone, Default, Serialize, Deserialize)]
842pub struct DeleteCouponResponseDto {
843 pub success: bool,
846 #[serde(rename = "traceId")]
849 pub trace_id: String,
850}
851
852#[derive(Debug, Clone, Default, Serialize, Deserialize)]
854pub struct DeleteCustomProvidersConfigDto {
855 #[serde(rename = "liveMode")]
859 pub live_mode: bool,
860}
861
862#[derive(Debug, Clone, Default, Serialize, Deserialize)]
864pub struct DeleteCustomProvidersResponseSchema {
865 pub success: bool,
869}
870
871#[derive(Debug, Clone, Default, Serialize, Deserialize)]
873pub struct DisconnectCustomProvidersResponseSchema {
874 pub success: bool,
878}
879
880#[derive(Debug, Clone, Default, Serialize, Deserialize)]
882pub struct FulfilledItem {
883 #[serde(rename = "_id")]
886 pub id: String,
887 pub name: String,
890 pub product: DefaultProductResponseDto,
893 pub price: DefaultPriceResponseDto,
896 pub qty: f64,
899}
900
901#[derive(Debug, Clone, Default, Serialize, Deserialize)]
903pub struct FulfillmentItems {
904 #[serde(rename = "priceId")]
907 pub price_id: String,
908 pub qty: f64,
911}
912
913#[derive(Debug, Clone, Default, Serialize, Deserialize)]
915pub struct FulfillmentSchema {
916 #[serde(rename = "altId")]
919 pub alt_id: String,
920 #[serde(rename = "altType")]
923 pub alt_type: String,
924 #[serde(default, skip_serializing_if = "Vec::is_empty")]
927 pub trackings: Vec<FulfillmentTracking>,
928 #[serde(rename = "_id")]
931 pub id: String,
932 #[serde(default, skip_serializing_if = "Vec::is_empty")]
935 pub items: Vec<FulfilledItem>,
936 #[serde(rename = "createdAt")]
939 pub created_at: String,
940 #[serde(rename = "updatedAt")]
943 pub updated_at: String,
944}
945
946#[derive(Debug, Clone, Default, Serialize, Deserialize)]
948pub struct FulfillmentTracking {
949 #[serde(
951 rename = "trackingNumber",
952 default,
953 skip_serializing_if = "Option::is_none"
954 )]
955 pub tracking_number: Option<String>,
956 #[serde(
958 rename = "shippingCarrier",
959 default,
960 skip_serializing_if = "Option::is_none"
961 )]
962 pub shipping_carrier: Option<String>,
963 #[serde(
965 rename = "trackingUrl",
966 default,
967 skip_serializing_if = "Option::is_none"
968 )]
969 pub tracking_url: Option<String>,
970}
971
972#[derive(Debug, Clone, Default, Serialize, Deserialize)]
974pub struct GetCustomProvidersResponseSchema {
975 pub name: String,
978 pub description: String,
981 #[serde(rename = "paymentsUrl")]
984 pub payments_url: String,
985 #[serde(rename = "queryUrl")]
988 pub query_url: String,
989 #[serde(rename = "imageUrl")]
993 pub image_url: String,
994 #[serde(rename = "_id")]
997 pub id: String,
998 #[serde(rename = "locationId")]
1001 pub location_id: String,
1002 #[serde(rename = "marketplaceAppId")]
1005 pub marketplace_app_id: String,
1006 #[serde(
1008 rename = "paymentProvider",
1009 default,
1010 skip_serializing_if = "Option::is_none"
1011 )]
1012 pub payment_provider: Option<serde_json::Value>,
1013 pub deleted: bool,
1016 #[serde(rename = "createdAt")]
1020 pub created_at: String,
1021 #[serde(rename = "updatedAt")]
1025 pub updated_at: String,
1026 #[serde(rename = "traceId", default, skip_serializing_if = "Option::is_none")]
1028 pub trace_id: Option<String>,
1029}
1030
1031#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1033pub struct GetOrderResponseSchema {
1034 #[serde(rename = "_id")]
1037 pub id: String,
1038 #[serde(rename = "altId")]
1041 pub alt_id: String,
1042 #[serde(rename = "altType")]
1045 pub alt_type: String,
1046 #[serde(rename = "contactId", default, skip_serializing_if = "Option::is_none")]
1048 pub contact_id: Option<String>,
1049 #[serde(default, skip_serializing_if = "Option::is_none")]
1051 pub currency: Option<String>,
1052 #[serde(default, skip_serializing_if = "Option::is_none")]
1054 pub amount: Option<f64>,
1055 pub status: String,
1058 #[serde(rename = "liveMode", default, skip_serializing_if = "Option::is_none")]
1060 pub live_mode: Option<bool>,
1061 #[serde(rename = "createdAt")]
1065 pub created_at: String,
1066 #[serde(rename = "updatedAt")]
1070 pub updated_at: String,
1071 #[serde(
1073 rename = "fulfillmentStatus",
1074 default,
1075 skip_serializing_if = "Option::is_none"
1076 )]
1077 pub fulfillment_status: Option<String>,
1078 #[serde(
1080 rename = "contactSnapshot",
1081 default,
1082 skip_serializing_if = "Option::is_none"
1083 )]
1084 pub contact_snapshot: Option<serde_json::Value>,
1085 #[serde(
1087 rename = "amountSummary",
1088 default,
1089 skip_serializing_if = "Option::is_none"
1090 )]
1091 pub amount_summary: Option<AmountSummary>,
1092 #[serde(default, skip_serializing_if = "Option::is_none")]
1094 pub source: Option<OrderSource>,
1095 #[serde(default, skip_serializing_if = "Vec::is_empty")]
1097 pub items: Vec<String>,
1098 #[serde(default, skip_serializing_if = "Option::is_none")]
1100 pub coupon: Option<serde_json::Value>,
1101 #[serde(
1103 rename = "trackingId",
1104 default,
1105 skip_serializing_if = "Option::is_none"
1106 )]
1107 pub tracking_id: Option<String>,
1108 #[serde(default, skip_serializing_if = "Option::is_none")]
1110 pub fingerprint: Option<String>,
1111 #[serde(default, skip_serializing_if = "Option::is_none")]
1113 pub meta: Option<serde_json::Value>,
1114 #[serde(
1116 rename = "markAsTest",
1117 default,
1118 skip_serializing_if = "Option::is_none"
1119 )]
1120 pub mark_as_test: Option<bool>,
1121 #[serde(rename = "traceId", default, skip_serializing_if = "Option::is_none")]
1123 pub trace_id: Option<String>,
1124 #[serde(
1126 rename = "automaticTaxesCalculated",
1127 default,
1128 skip_serializing_if = "Option::is_none"
1129 )]
1130 pub automatic_taxes_calculated: Option<bool>,
1131 #[serde(
1133 rename = "taxCalculationProvider",
1134 default,
1135 skip_serializing_if = "Option::is_none"
1136 )]
1137 pub tax_calculation_provider: Option<serde_json::Value>,
1138 #[serde(rename = "createdBy", default, skip_serializing_if = "Option::is_none")]
1140 pub created_by: Option<String>,
1141}
1142
1143#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1145pub struct GetSubscriptionResponseSchema {
1146 #[serde(rename = "_id")]
1149 pub id: String,
1150 #[serde(rename = "altType")]
1153 pub alt_type: serde_json::Value,
1154 #[serde(rename = "altId")]
1157 pub alt_id: String,
1158 #[serde(rename = "contactId", default, skip_serializing_if = "Option::is_none")]
1160 pub contact_id: Option<String>,
1161 #[serde(
1163 rename = "contactSnapshot",
1164 default,
1165 skip_serializing_if = "Option::is_none"
1166 )]
1167 pub contact_snapshot: Option<serde_json::Value>,
1168 #[serde(default, skip_serializing_if = "Option::is_none")]
1170 pub coupon: Option<serde_json::Value>,
1171 #[serde(default, skip_serializing_if = "Option::is_none")]
1173 pub currency: Option<String>,
1174 #[serde(default, skip_serializing_if = "Option::is_none")]
1176 pub amount: Option<f64>,
1177 #[serde(default, skip_serializing_if = "Option::is_none")]
1179 pub status: Option<serde_json::Value>,
1180 #[serde(rename = "liveMode", default, skip_serializing_if = "Option::is_none")]
1182 pub live_mode: Option<bool>,
1183 #[serde(
1185 rename = "entityType",
1186 default,
1187 skip_serializing_if = "Option::is_none"
1188 )]
1189 pub entity_type: Option<String>,
1190 #[serde(rename = "entityId", default, skip_serializing_if = "Option::is_none")]
1192 pub entity_id: Option<String>,
1193 #[serde(
1195 rename = "entitySource",
1196 default,
1197 skip_serializing_if = "Option::is_none"
1198 )]
1199 pub entity_source: Option<OrderSource>,
1200 #[serde(
1202 rename = "subscriptionId",
1203 default,
1204 skip_serializing_if = "Option::is_none"
1205 )]
1206 pub subscription_id: Option<String>,
1207 #[serde(
1209 rename = "subscriptionSnapshot",
1210 default,
1211 skip_serializing_if = "Option::is_none"
1212 )]
1213 pub subscription_snapshot: Option<serde_json::Value>,
1214 #[serde(
1216 rename = "paymentProvider",
1217 default,
1218 skip_serializing_if = "Option::is_none"
1219 )]
1220 pub payment_provider: Option<serde_json::Value>,
1221 #[serde(rename = "ipAddress", default, skip_serializing_if = "Option::is_none")]
1223 pub ip_address: Option<String>,
1224 #[serde(rename = "createdAt")]
1228 pub created_at: String,
1229 #[serde(rename = "updatedAt")]
1233 pub updated_at: String,
1234 #[serde(default, skip_serializing_if = "Option::is_none")]
1236 pub meta: Option<serde_json::Value>,
1237 #[serde(
1239 rename = "markAsTest",
1240 default,
1241 skip_serializing_if = "Option::is_none"
1242 )]
1243 pub mark_as_test: Option<bool>,
1244 #[serde(default, skip_serializing_if = "Option::is_none")]
1246 pub schedule: Option<ScheduleOptionsDto>,
1247 #[serde(
1249 rename = "autoPayment",
1250 default,
1251 skip_serializing_if = "Option::is_none"
1252 )]
1253 pub auto_payment: Option<serde_json::Value>,
1254 #[serde(
1256 rename = "recurringProduct",
1257 default,
1258 skip_serializing_if = "Option::is_none"
1259 )]
1260 pub recurring_product: Option<serde_json::Value>,
1261 #[serde(
1264 rename = "canceledAt",
1265 default,
1266 skip_serializing_if = "Option::is_none"
1267 )]
1268 pub canceled_at: Option<String>,
1269 #[serde(
1271 rename = "canceledBy",
1272 default,
1273 skip_serializing_if = "Option::is_none"
1274 )]
1275 pub canceled_by: Option<String>,
1276 #[serde(rename = "traceId", default, skip_serializing_if = "Option::is_none")]
1278 pub trace_id: Option<String>,
1279 #[serde(rename = "createdBy", default, skip_serializing_if = "Option::is_none")]
1281 pub created_by: Option<String>,
1282}
1283
1284#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1286pub struct GetTxnResponseSchema {
1287 #[serde(rename = "_id")]
1290 pub id: String,
1291 #[serde(rename = "altType")]
1294 pub alt_type: String,
1295 #[serde(rename = "altId")]
1298 pub alt_id: String,
1299 #[serde(rename = "contactId", default, skip_serializing_if = "Option::is_none")]
1301 pub contact_id: Option<String>,
1302 #[serde(
1304 rename = "contactSnapshot",
1305 default,
1306 skip_serializing_if = "Option::is_none"
1307 )]
1308 pub contact_snapshot: Option<serde_json::Value>,
1309 #[serde(default, skip_serializing_if = "Option::is_none")]
1311 pub currency: Option<String>,
1312 #[serde(default, skip_serializing_if = "Option::is_none")]
1314 pub amount: Option<f64>,
1315 #[serde(default, skip_serializing_if = "Option::is_none")]
1317 pub status: Option<serde_json::Value>,
1318 #[serde(rename = "liveMode", default, skip_serializing_if = "Option::is_none")]
1320 pub live_mode: Option<bool>,
1321 #[serde(rename = "createdAt")]
1325 pub created_at: String,
1326 #[serde(rename = "updatedAt")]
1330 pub updated_at: String,
1331 #[serde(
1333 rename = "entityType",
1334 default,
1335 skip_serializing_if = "Option::is_none"
1336 )]
1337 pub entity_type: Option<String>,
1338 #[serde(rename = "entityId", default, skip_serializing_if = "Option::is_none")]
1340 pub entity_id: Option<String>,
1341 #[serde(
1343 rename = "entitySource",
1344 default,
1345 skip_serializing_if = "Option::is_none"
1346 )]
1347 pub entity_source: Option<OrderSource>,
1348 #[serde(rename = "chargeId", default, skip_serializing_if = "Option::is_none")]
1350 pub charge_id: Option<String>,
1351 #[serde(
1353 rename = "chargeSnapshot",
1354 default,
1355 skip_serializing_if = "Option::is_none"
1356 )]
1357 pub charge_snapshot: Option<serde_json::Value>,
1358 #[serde(rename = "invoiceId", default, skip_serializing_if = "Option::is_none")]
1360 pub invoice_id: Option<String>,
1361 #[serde(
1363 rename = "subscriptionId",
1364 default,
1365 skip_serializing_if = "Option::is_none"
1366 )]
1367 pub subscription_id: Option<String>,
1368 #[serde(
1370 rename = "paymentProvider",
1371 default,
1372 skip_serializing_if = "Option::is_none"
1373 )]
1374 pub payment_provider: Option<serde_json::Value>,
1375 #[serde(rename = "ipAddress", default, skip_serializing_if = "Option::is_none")]
1377 pub ip_address: Option<String>,
1378 #[serde(default, skip_serializing_if = "Option::is_none")]
1380 pub meta: Option<serde_json::Value>,
1381 #[serde(
1383 rename = "markAsTest",
1384 default,
1385 skip_serializing_if = "Option::is_none"
1386 )]
1387 pub mark_as_test: Option<bool>,
1388 #[serde(rename = "isParent", default, skip_serializing_if = "Option::is_none")]
1390 pub is_parent: Option<bool>,
1391 #[serde(
1393 rename = "amountRefunded",
1394 default,
1395 skip_serializing_if = "Option::is_none"
1396 )]
1397 pub amount_refunded: Option<f64>,
1398 #[serde(rename = "receiptId", default, skip_serializing_if = "Option::is_none")]
1400 pub receipt_id: Option<String>,
1401 #[serde(rename = "qboSynced", default, skip_serializing_if = "Option::is_none")]
1403 pub qbo_synced: Option<bool>,
1404 #[serde(
1406 rename = "qboResponse",
1407 default,
1408 skip_serializing_if = "Option::is_none"
1409 )]
1410 pub qbo_response: Option<serde_json::Value>,
1411 #[serde(rename = "traceId", default, skip_serializing_if = "Option::is_none")]
1413 pub trace_id: Option<String>,
1414 #[serde(
1416 rename = "mergedFromContactId",
1417 default,
1418 skip_serializing_if = "Option::is_none"
1419 )]
1420 pub merged_from_contact_id: Option<String>,
1421 #[serde(rename = "createdBy", default, skip_serializing_if = "Option::is_none")]
1423 pub created_by: Option<String>,
1424}
1425
1426#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1428pub struct IntegrationProviderSchema {
1429 #[serde(rename = "_id")]
1432 pub id: String,
1433 #[serde(rename = "altId")]
1436 pub alt_id: String,
1437 #[serde(rename = "altType")]
1440 pub alt_type: String,
1441 pub title: String,
1444 pub route: String,
1447 pub provider: String,
1450 pub description: String,
1453 #[serde(rename = "imageUrl")]
1456 pub image_url: String,
1457 #[serde(rename = "createdAt")]
1461 pub created_at: String,
1462 #[serde(rename = "updatedAt")]
1466 pub updated_at: String,
1467}
1468
1469#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1471pub struct ListCouponsResponseDto {
1472 #[serde(default, skip_serializing_if = "Vec::is_empty")]
1475 pub data: Vec<CouponDto>,
1476 #[serde(rename = "totalCount")]
1479 pub total_count: f64,
1480 #[serde(rename = "traceId")]
1483 pub trace_id: String,
1484}
1485
1486#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1488pub struct ListFulfillmentResponseDto {
1489 pub status: bool,
1492 #[serde(default, skip_serializing_if = "Vec::is_empty")]
1495 pub data: Vec<FulfillmentSchema>,
1496}
1497
1498#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1500pub struct ListOrdersResponseDto {
1501 #[serde(default, skip_serializing_if = "Vec::is_empty")]
1504 pub data: Vec<OrderResponseSchema>,
1505 #[serde(rename = "totalCount")]
1508 pub total_count: f64,
1509}
1510
1511#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1513pub struct ListSubscriptionResponseDto {
1514 #[serde(default, skip_serializing_if = "Vec::is_empty")]
1517 pub data: Vec<SubscriptionResponseSchema>,
1518 #[serde(rename = "totalCount")]
1521 pub total_count: f64,
1522}
1523
1524#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1526pub struct ListTxnsResponseDto {
1527 #[serde(default, skip_serializing_if = "Vec::is_empty")]
1530 pub data: Vec<TxnResponseSchema>,
1531 #[serde(rename = "totalCount")]
1534 pub total_count: f64,
1535}
1536
1537#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1539pub struct ListWhitelabelIntegrationProviderResponseDto {
1540 pub providers: IntegrationProviderSchema,
1543}
1544
1545#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1547pub struct MembershipOfferDto {
1548 pub label: String,
1551 pub value: String,
1554 #[serde(rename = "_id")]
1557 pub id: String,
1558}
1559
1560#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1562pub struct OrderResponseSchema {
1563 #[serde(rename = "_id")]
1566 pub id: String,
1567 #[serde(rename = "altId")]
1570 pub alt_id: String,
1571 #[serde(rename = "altType")]
1574 pub alt_type: String,
1575 #[serde(rename = "contactId", default, skip_serializing_if = "Option::is_none")]
1577 pub contact_id: Option<String>,
1578 #[serde(
1580 rename = "contactName",
1581 default,
1582 skip_serializing_if = "Option::is_none"
1583 )]
1584 pub contact_name: Option<String>,
1585 #[serde(
1587 rename = "contactEmail",
1588 default,
1589 skip_serializing_if = "Option::is_none"
1590 )]
1591 pub contact_email: Option<String>,
1592 #[serde(default, skip_serializing_if = "Option::is_none")]
1594 pub currency: Option<String>,
1595 #[serde(default, skip_serializing_if = "Option::is_none")]
1597 pub amount: Option<f64>,
1598 #[serde(default, skip_serializing_if = "Option::is_none")]
1600 pub subtotal: Option<f64>,
1601 #[serde(default, skip_serializing_if = "Option::is_none")]
1603 pub discount: Option<f64>,
1604 pub status: String,
1607 #[serde(rename = "liveMode", default, skip_serializing_if = "Option::is_none")]
1609 pub live_mode: Option<bool>,
1610 #[serde(
1612 rename = "totalProducts",
1613 default,
1614 skip_serializing_if = "Option::is_none"
1615 )]
1616 pub total_products: Option<f64>,
1617 #[serde(rename = "sourceType")]
1620 pub source_type: String,
1621 #[serde(
1623 rename = "sourceName",
1624 default,
1625 skip_serializing_if = "Option::is_none"
1626 )]
1627 pub source_name: Option<String>,
1628 #[serde(rename = "sourceId", default, skip_serializing_if = "Option::is_none")]
1630 pub source_id: Option<String>,
1631 #[serde(
1633 rename = "sourceMeta",
1634 default,
1635 skip_serializing_if = "Option::is_none"
1636 )]
1637 pub source_meta: Option<serde_json::Value>,
1638 #[serde(
1640 rename = "couponCode",
1641 default,
1642 skip_serializing_if = "Option::is_none"
1643 )]
1644 pub coupon_code: Option<String>,
1645 #[serde(rename = "createdAt")]
1649 pub created_at: String,
1650 #[serde(rename = "updatedAt")]
1654 pub updated_at: String,
1655 #[serde(
1657 rename = "sourceSubType",
1658 default,
1659 skip_serializing_if = "Option::is_none"
1660 )]
1661 pub source_sub_type: Option<String>,
1662 #[serde(
1664 rename = "fulfillmentStatus",
1665 default,
1666 skip_serializing_if = "Option::is_none"
1667 )]
1668 pub fulfillment_status: Option<String>,
1669 #[serde(
1671 rename = "onetimeProducts",
1672 default,
1673 skip_serializing_if = "Option::is_none"
1674 )]
1675 pub onetime_products: Option<f64>,
1676 #[serde(
1678 rename = "recurringProducts",
1679 default,
1680 skip_serializing_if = "Option::is_none"
1681 )]
1682 pub recurring_products: Option<f64>,
1683 #[serde(rename = "createdBy", default, skip_serializing_if = "Option::is_none")]
1685 pub created_by: Option<String>,
1686}
1687
1688#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1690pub struct OrderSource {
1691 #[serde(rename = "type")]
1696 pub type_: String,
1697 #[serde(rename = "subType", default, skip_serializing_if = "Option::is_none")]
1701 pub sub_type: Option<String>,
1702 pub id: String,
1704 #[serde(default, skip_serializing_if = "Option::is_none")]
1705 pub name: Option<String>,
1706 #[serde(default, skip_serializing_if = "Option::is_none")]
1707 pub meta: Option<serde_json::Value>,
1708}
1709
1710#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1712pub struct PostRecordOrderPaymentBody {
1713 #[serde(rename = "altId")]
1716 pub alt_id: String,
1717 #[serde(rename = "altType")]
1721 pub alt_type: String,
1722 pub mode: String,
1726 #[serde(default, skip_serializing_if = "Option::is_none")]
1728 pub card: Option<CardDto>,
1729 #[serde(default, skip_serializing_if = "Option::is_none")]
1731 pub cheque: Option<ChequeDto>,
1732 #[serde(default, skip_serializing_if = "Option::is_none")]
1734 pub notes: Option<String>,
1735 #[serde(default, skip_serializing_if = "Option::is_none")]
1737 pub amount: Option<f64>,
1738 #[serde(default, skip_serializing_if = "Option::is_none")]
1740 pub meta: Option<serde_json::Value>,
1741 #[serde(
1743 rename = "isPartialPayment",
1744 default,
1745 skip_serializing_if = "Option::is_none"
1746 )]
1747 pub is_partial_payment: Option<bool>,
1748}
1749
1750#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1752pub struct PostRecordOrderPaymentResponse {
1753 pub success: bool,
1756}
1757
1758#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1760pub struct ProductLabelDto {
1761 pub title: String,
1764 #[serde(rename = "startDate", default, skip_serializing_if = "Option::is_none")]
1766 pub start_date: Option<String>,
1767 #[serde(rename = "endDate", default, skip_serializing_if = "Option::is_none")]
1769 pub end_date: Option<String>,
1770}
1771
1772#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1774pub struct ProductVariantDto {
1775 pub id: String,
1778 pub name: String,
1781 #[serde(default, skip_serializing_if = "Vec::is_empty")]
1784 pub options: Vec<ProductVariantOptionDto>,
1785}
1786
1787#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1789pub struct ProductVariantOptionDto {
1790 pub id: String,
1793 pub name: String,
1796}
1797
1798#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1800pub struct RecurringDto {
1801 pub interval: String,
1805 #[serde(rename = "intervalCount")]
1808 pub interval_count: f64,
1809}
1810
1811#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1813pub struct ScheduleOptionsDto {
1814 #[serde(rename = "executeAt", default, skip_serializing_if = "Option::is_none")]
1815 pub execute_at: Option<String>,
1816 #[serde(default, skip_serializing_if = "Option::is_none")]
1817 pub rrule: Option<CustomRRuleOptionsDto>,
1818}
1819
1820#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1822pub struct SubscriptionResponseSchema {
1823 #[serde(rename = "_id")]
1826 pub id: String,
1827 #[serde(rename = "altId")]
1830 pub alt_id: String,
1831 #[serde(rename = "altType")]
1835 pub alt_type: String,
1836 #[serde(rename = "contactId", default, skip_serializing_if = "Option::is_none")]
1838 pub contact_id: Option<String>,
1839 #[serde(
1841 rename = "contactName",
1842 default,
1843 skip_serializing_if = "Option::is_none"
1844 )]
1845 pub contact_name: Option<String>,
1846 #[serde(
1848 rename = "contactEmail",
1849 default,
1850 skip_serializing_if = "Option::is_none"
1851 )]
1852 pub contact_email: Option<String>,
1853 #[serde(default, skip_serializing_if = "Option::is_none")]
1855 pub currency: Option<String>,
1856 #[serde(default, skip_serializing_if = "Option::is_none")]
1858 pub amount: Option<f64>,
1859 pub status: serde_json::Value,
1862 #[serde(rename = "liveMode", default, skip_serializing_if = "Option::is_none")]
1864 pub live_mode: Option<bool>,
1865 #[serde(
1867 rename = "entityType",
1868 default,
1869 skip_serializing_if = "Option::is_none"
1870 )]
1871 pub entity_type: Option<String>,
1872 #[serde(rename = "entityId", default, skip_serializing_if = "Option::is_none")]
1874 pub entity_id: Option<String>,
1875 #[serde(rename = "entitySourceType")]
1878 pub entity_source_type: String,
1879 #[serde(
1881 rename = "entitySourceName",
1882 default,
1883 skip_serializing_if = "Option::is_none"
1884 )]
1885 pub entity_source_name: Option<String>,
1886 #[serde(
1888 rename = "entitySourceId",
1889 default,
1890 skip_serializing_if = "Option::is_none"
1891 )]
1892 pub entity_source_id: Option<String>,
1893 #[serde(
1895 rename = "entitySourceMeta",
1896 default,
1897 skip_serializing_if = "Option::is_none"
1898 )]
1899 pub entity_source_meta: Option<serde_json::Value>,
1900 #[serde(
1902 rename = "subscriptionId",
1903 default,
1904 skip_serializing_if = "Option::is_none"
1905 )]
1906 pub subscription_id: Option<String>,
1907 #[serde(
1909 rename = "subscriptionSnapshot",
1910 default,
1911 skip_serializing_if = "Option::is_none"
1912 )]
1913 pub subscription_snapshot: Option<serde_json::Value>,
1914 #[serde(
1916 rename = "paymentProviderType",
1917 default,
1918 skip_serializing_if = "Option::is_none"
1919 )]
1920 pub payment_provider_type: Option<String>,
1921 #[serde(
1923 rename = "paymentProviderConnectedAccount",
1924 default,
1925 skip_serializing_if = "Option::is_none"
1926 )]
1927 pub payment_provider_connected_account: Option<String>,
1928 #[serde(rename = "ipAddress", default, skip_serializing_if = "Option::is_none")]
1930 pub ip_address: Option<String>,
1931 #[serde(rename = "createdAt")]
1935 pub created_at: String,
1936 #[serde(rename = "updatedAt")]
1940 pub updated_at: String,
1941 #[serde(rename = "createdBy", default, skip_serializing_if = "Option::is_none")]
1943 pub created_by: Option<String>,
1944}
1945
1946#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1948pub struct TxnResponseSchema {
1949 #[serde(rename = "_id")]
1952 pub id: String,
1953 #[serde(rename = "altId")]
1956 pub alt_id: String,
1957 #[serde(rename = "altType")]
1960 pub alt_type: String,
1961 #[serde(rename = "contactId", default, skip_serializing_if = "Option::is_none")]
1963 pub contact_id: Option<String>,
1964 #[serde(
1966 rename = "mergedFromContactId",
1967 default,
1968 skip_serializing_if = "Option::is_none"
1969 )]
1970 pub merged_from_contact_id: Option<String>,
1971 #[serde(
1973 rename = "contactName",
1974 default,
1975 skip_serializing_if = "Option::is_none"
1976 )]
1977 pub contact_name: Option<String>,
1978 #[serde(
1980 rename = "contactEmail",
1981 default,
1982 skip_serializing_if = "Option::is_none"
1983 )]
1984 pub contact_email: Option<String>,
1985 #[serde(default, skip_serializing_if = "Option::is_none")]
1987 pub currency: Option<String>,
1988 #[serde(default, skip_serializing_if = "Option::is_none")]
1990 pub amount: Option<f64>,
1991 pub status: serde_json::Value,
1994 #[serde(rename = "liveMode", default, skip_serializing_if = "Option::is_none")]
1996 pub live_mode: Option<bool>,
1997 #[serde(
1999 rename = "entityType",
2000 default,
2001 skip_serializing_if = "Option::is_none"
2002 )]
2003 pub entity_type: Option<String>,
2004 #[serde(rename = "entityId", default, skip_serializing_if = "Option::is_none")]
2006 pub entity_id: Option<String>,
2007 #[serde(rename = "entitySourceType")]
2010 pub entity_source_type: String,
2011 #[serde(
2013 rename = "entitySourceSubType",
2014 default,
2015 skip_serializing_if = "Option::is_none"
2016 )]
2017 pub entity_source_sub_type: Option<String>,
2018 #[serde(
2020 rename = "entitySourceName",
2021 default,
2022 skip_serializing_if = "Option::is_none"
2023 )]
2024 pub entity_source_name: Option<String>,
2025 #[serde(
2027 rename = "entitySourceId",
2028 default,
2029 skip_serializing_if = "Option::is_none"
2030 )]
2031 pub entity_source_id: Option<String>,
2032 #[serde(
2034 rename = "entitySourceMeta",
2035 default,
2036 skip_serializing_if = "Option::is_none"
2037 )]
2038 pub entity_source_meta: Option<serde_json::Value>,
2039 #[serde(
2041 rename = "subscriptionId",
2042 default,
2043 skip_serializing_if = "Option::is_none"
2044 )]
2045 pub subscription_id: Option<String>,
2046 #[serde(rename = "chargeId", default, skip_serializing_if = "Option::is_none")]
2048 pub charge_id: Option<String>,
2049 #[serde(
2051 rename = "chargeSnapshot",
2052 default,
2053 skip_serializing_if = "Option::is_none"
2054 )]
2055 pub charge_snapshot: Option<serde_json::Value>,
2056 #[serde(
2058 rename = "paymentProviderType",
2059 default,
2060 skip_serializing_if = "Option::is_none"
2061 )]
2062 pub payment_provider_type: Option<String>,
2063 #[serde(
2065 rename = "paymentProviderConnectedAccount",
2066 default,
2067 skip_serializing_if = "Option::is_none"
2068 )]
2069 pub payment_provider_connected_account: Option<String>,
2070 #[serde(rename = "ipAddress", default, skip_serializing_if = "Option::is_none")]
2072 pub ip_address: Option<String>,
2073 #[serde(rename = "createdAt")]
2077 pub created_at: String,
2078 #[serde(rename = "updatedAt")]
2082 pub updated_at: String,
2083 #[serde(
2085 rename = "amountRefunded",
2086 default,
2087 skip_serializing_if = "Option::is_none"
2088 )]
2089 pub amount_refunded: Option<f64>,
2090 #[serde(
2092 rename = "paymentMethod",
2093 default,
2094 skip_serializing_if = "Option::is_none"
2095 )]
2096 pub payment_method: Option<serde_json::Value>,
2097 #[serde(rename = "fulfilledAt")]
2101 pub fulfilled_at: String,
2102 #[serde(rename = "createdBy", default, skip_serializing_if = "Option::is_none")]
2104 pub created_by: Option<String>,
2105}
2106
2107#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2109pub struct UpdateCouponParams {
2110 #[serde(rename = "altId")]
2113 pub alt_id: String,
2114 #[serde(rename = "altType")]
2118 pub alt_type: String,
2119 pub name: String,
2122 pub code: String,
2125 #[serde(rename = "discountType")]
2129 pub discount_type: String,
2130 #[serde(rename = "discountValue")]
2133 pub discount_value: f64,
2134 #[serde(rename = "startDate")]
2137 pub start_date: String,
2138 #[serde(rename = "endDate", default, skip_serializing_if = "Option::is_none")]
2140 pub end_date: Option<String>,
2141 #[serde(
2143 rename = "usageLimit",
2144 default,
2145 skip_serializing_if = "Option::is_none"
2146 )]
2147 pub usage_limit: Option<f64>,
2148 #[serde(rename = "productIds", default, skip_serializing_if = "Vec::is_empty")]
2150 pub product_ids: Vec<String>,
2151 #[serde(rename = "priceIds", default, skip_serializing_if = "Vec::is_empty")]
2153 pub price_ids: Vec<String>,
2154 #[serde(rename = "variantIds", default, skip_serializing_if = "Vec::is_empty")]
2156 pub variant_ids: Vec<String>,
2157 #[serde(
2159 rename = "applyToFuturePayments",
2160 default,
2161 skip_serializing_if = "Option::is_none"
2162 )]
2163 pub apply_to_future_payments: Option<bool>,
2164 #[serde(
2167 rename = "applyToFuturePaymentsConfig",
2168 default,
2169 skip_serializing_if = "Option::is_none"
2170 )]
2171 pub apply_to_future_payments_config: Option<ApplyToFuturePaymentsConfig>,
2172 #[serde(
2174 rename = "limitPerCustomer",
2175 default,
2176 skip_serializing_if = "Option::is_none"
2177 )]
2178 pub limit_per_customer: Option<bool>,
2179 pub id: String,
2182}
2183
2184#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2186pub struct UpdateCustomProviderCapabilitiesDto {
2187 #[serde(rename = "supportsSubscriptionSchedules")]
2190 pub supports_subscription_schedules: bool,
2191 #[serde(rename = "companyId", default, skip_serializing_if = "Option::is_none")]
2193 pub company_id: Option<String>,
2194 #[serde(
2196 rename = "locationId",
2197 default,
2198 skip_serializing_if = "Option::is_none"
2199 )]
2200 pub location_id: Option<String>,
2201}
2202
2203#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2205pub struct UpdateCustomProviderCapabilitiesResponseSchema {
2206 pub success: bool,
2210}