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 = "userId", default, skip_serializing_if = "Option::is_none")]
211 pub user_id: Option<String>,
212 #[serde(rename = "createdAt")]
215 pub created_at: String,
216 #[serde(rename = "updatedAt")]
219 pub updated_at: String,
220}
221
222#[derive(Debug, Clone, Default, Serialize, Deserialize)]
224pub struct CreateCouponParams {
225 #[serde(rename = "altId")]
228 pub alt_id: String,
229 #[serde(rename = "altType")]
233 pub alt_type: String,
234 pub name: String,
237 pub code: String,
240 #[serde(rename = "discountType")]
244 pub discount_type: String,
245 #[serde(rename = "discountValue")]
248 pub discount_value: f64,
249 #[serde(rename = "startDate")]
252 pub start_date: String,
253 #[serde(rename = "endDate", default, skip_serializing_if = "Option::is_none")]
255 pub end_date: Option<String>,
256 #[serde(
258 rename = "usageLimit",
259 default,
260 skip_serializing_if = "Option::is_none"
261 )]
262 pub usage_limit: Option<f64>,
263 #[serde(rename = "productIds", default, skip_serializing_if = "Vec::is_empty")]
265 pub product_ids: Vec<String>,
266 #[serde(
268 rename = "applyToFuturePayments",
269 default,
270 skip_serializing_if = "Option::is_none"
271 )]
272 pub apply_to_future_payments: Option<bool>,
273 #[serde(
276 rename = "applyToFuturePaymentsConfig",
277 default,
278 skip_serializing_if = "Option::is_none"
279 )]
280 pub apply_to_future_payments_config: Option<ApplyToFuturePaymentsConfig>,
281 #[serde(
283 rename = "limitPerCustomer",
284 default,
285 skip_serializing_if = "Option::is_none"
286 )]
287 pub limit_per_customer: Option<bool>,
288}
289
290#[derive(Debug, Clone, Default, Serialize, Deserialize)]
292pub struct CreateCouponResponseDto {
293 #[serde(rename = "_id")]
296 pub id: String,
297 #[serde(rename = "usageCount")]
300 pub usage_count: f64,
301 #[serde(rename = "limitPerCustomer")]
304 pub limit_per_customer: f64,
305 #[serde(rename = "altId")]
308 pub alt_id: String,
309 #[serde(rename = "altType")]
312 pub alt_type: String,
313 pub name: String,
316 pub code: String,
319 #[serde(rename = "discountType")]
323 pub discount_type: String,
324 #[serde(rename = "discountValue")]
327 pub discount_value: f64,
328 pub status: String,
332 #[serde(rename = "startDate")]
335 pub start_date: String,
336 #[serde(rename = "endDate", default, skip_serializing_if = "Option::is_none")]
338 pub end_date: Option<String>,
339 #[serde(rename = "applyToFuturePayments")]
342 pub apply_to_future_payments: bool,
343 #[serde(rename = "applyToFuturePaymentsConfig")]
346 pub apply_to_future_payments_config: ApplyToFuturePaymentsConfigDto,
347 #[serde(rename = "userId", default, skip_serializing_if = "Option::is_none")]
349 pub user_id: Option<String>,
350 #[serde(rename = "createdAt")]
353 pub created_at: String,
354 #[serde(rename = "updatedAt")]
357 pub updated_at: String,
358 #[serde(rename = "traceId")]
361 pub trace_id: String,
362}
363
364#[derive(Debug, Clone, Default, Serialize, Deserialize)]
366pub struct CreateCustomProvidersDto {
367 pub name: String,
370 pub description: String,
373 #[serde(rename = "paymentsUrl")]
376 pub payments_url: String,
377 #[serde(rename = "queryUrl")]
380 pub query_url: String,
381 #[serde(rename = "imageUrl")]
385 pub image_url: String,
386 #[serde(rename = "supportsSubscriptionSchedule")]
390 pub supports_subscription_schedule: bool,
391}
392
393#[derive(Debug, Clone, Default, Serialize, Deserialize)]
395pub struct CreateCustomProvidersResponseSchema {
396 pub name: String,
399 pub description: String,
402 #[serde(rename = "paymentsUrl")]
405 pub payments_url: String,
406 #[serde(rename = "queryUrl")]
409 pub query_url: String,
410 #[serde(rename = "imageUrl")]
414 pub image_url: String,
415 #[serde(rename = "_id")]
418 pub id: String,
419 #[serde(rename = "locationId")]
422 pub location_id: String,
423 #[serde(rename = "marketplaceAppId")]
426 pub marketplace_app_id: String,
427 #[serde(
429 rename = "paymentProvider",
430 default,
431 skip_serializing_if = "Option::is_none"
432 )]
433 pub payment_provider: Option<serde_json::Value>,
434 pub deleted: bool,
437 #[serde(rename = "createdAt")]
441 pub created_at: String,
442 #[serde(rename = "updatedAt")]
446 pub updated_at: String,
447 #[serde(rename = "traceId", default, skip_serializing_if = "Option::is_none")]
449 pub trace_id: Option<String>,
450}
451
452#[derive(Debug, Clone, Default, Serialize, Deserialize)]
454pub struct CreateFulfillmentDto {
455 #[serde(rename = "altId")]
458 pub alt_id: String,
459 #[serde(rename = "altType")]
462 pub alt_type: String,
463 #[serde(default, skip_serializing_if = "Vec::is_empty")]
466 pub trackings: Vec<FulfillmentTracking>,
467 #[serde(default, skip_serializing_if = "Vec::is_empty")]
470 pub items: Vec<FulfillmentItems>,
471 #[serde(rename = "notifyCustomer")]
474 pub notify_customer: bool,
475}
476
477#[derive(Debug, Clone, Default, Serialize, Deserialize)]
479pub struct CreateFulfillmentResponseDto {
480 pub status: bool,
483 pub data: FulfillmentSchema,
486}
487
488#[derive(Debug, Clone, Default, Serialize, Deserialize)]
490pub struct CreateWhiteLabelIntegrationProviderDto {
491 #[serde(rename = "altId")]
494 pub alt_id: String,
495 #[serde(rename = "altType")]
499 pub alt_type: String,
500 #[serde(rename = "uniqueName")]
504 pub unique_name: String,
505 pub title: String,
508 pub provider: String,
512 pub description: String,
515 #[serde(rename = "imageUrl")]
519 pub image_url: String,
520}
521
522#[derive(Debug, Clone, Default, Serialize, Deserialize)]
524pub struct CreateWhitelabelIntegrationResponseDto {
525 #[serde(rename = "_id")]
528 pub id: String,
529 #[serde(rename = "altId")]
532 pub alt_id: String,
533 #[serde(rename = "altType")]
536 pub alt_type: String,
537 pub title: String,
540 pub route: String,
543 pub provider: String,
546 pub description: String,
549 #[serde(rename = "imageUrl")]
552 pub image_url: String,
553 #[serde(rename = "createdAt")]
557 pub created_at: String,
558 #[serde(rename = "updatedAt")]
562 pub updated_at: String,
563}
564
565#[derive(Debug, Clone, Default, Serialize, Deserialize)]
567pub struct CustomProviderKeys {
568 #[serde(rename = "apiKey")]
571 pub api_key: String,
572 #[serde(rename = "publishableKey")]
575 pub publishable_key: String,
576}
577
578#[derive(Debug, Clone, Default, Serialize, Deserialize)]
580pub struct CustomRRuleOptionsDto {
581 #[serde(rename = "intervalType")]
585 pub interval_type: String,
586 pub interval: f64,
588 #[serde(rename = "startDate")]
591 pub start_date: String,
592 #[serde(rename = "startTime", default, skip_serializing_if = "Option::is_none")]
594 pub start_time: Option<String>,
595 #[serde(rename = "endDate", default, skip_serializing_if = "Option::is_none")]
597 pub end_date: Option<String>,
598 #[serde(rename = "endTime", default, skip_serializing_if = "Option::is_none")]
600 pub end_time: Option<String>,
601 #[serde(
603 rename = "dayOfMonth",
604 default,
605 skip_serializing_if = "Option::is_none"
606 )]
607 pub day_of_month: Option<f64>,
608 #[serde(rename = "dayOfWeek", default, skip_serializing_if = "Option::is_none")]
610 pub day_of_week: Option<String>,
611 #[serde(rename = "numOfWeek", default, skip_serializing_if = "Option::is_none")]
613 pub num_of_week: Option<f64>,
614 #[serde(
617 rename = "monthOfYear",
618 default,
619 skip_serializing_if = "Option::is_none"
620 )]
621 pub month_of_year: Option<String>,
622 #[serde(default, skip_serializing_if = "Option::is_none")]
624 pub count: Option<f64>,
625 #[serde(
627 rename = "daysBefore",
628 default,
629 skip_serializing_if = "Option::is_none"
630 )]
631 pub days_before: Option<f64>,
632}
633
634#[derive(Debug, Clone, Default, Serialize, Deserialize)]
636pub struct DefaultPriceResponseDto {
637 #[serde(rename = "_id")]
640 pub id: String,
641 #[serde(
643 rename = "membershipOffers",
644 default,
645 skip_serializing_if = "Vec::is_empty"
646 )]
647 pub membership_offers: Vec<MembershipOfferDto>,
648 #[serde(
650 rename = "variantOptionIds",
651 default,
652 skip_serializing_if = "Vec::is_empty"
653 )]
654 pub variant_option_ids: Vec<String>,
655 #[serde(
657 rename = "locationId",
658 default,
659 skip_serializing_if = "Option::is_none"
660 )]
661 pub location_id: Option<String>,
662 #[serde(default, skip_serializing_if = "Option::is_none")]
664 pub product: Option<String>,
665 #[serde(rename = "userId", default, skip_serializing_if = "Option::is_none")]
667 pub user_id: Option<String>,
668 pub name: String,
671 #[serde(rename = "type")]
675 pub type_: String,
676 pub currency: String,
679 pub amount: f64,
682 #[serde(default, skip_serializing_if = "Option::is_none")]
684 pub recurring: Option<RecurringDto>,
685 #[serde(rename = "createdAt", default, skip_serializing_if = "Option::is_none")]
688 pub created_at: Option<String>,
689 #[serde(rename = "updatedAt", default, skip_serializing_if = "Option::is_none")]
692 pub updated_at: Option<String>,
693 #[serde(
695 rename = "compareAtPrice",
696 default,
697 skip_serializing_if = "Option::is_none"
698 )]
699 pub compare_at_price: Option<f64>,
700 #[serde(
702 rename = "trackInventory",
703 default,
704 skip_serializing_if = "Option::is_none"
705 )]
706 pub track_inventory: Option<bool>,
707 #[serde(
709 rename = "availableQuantity",
710 default,
711 skip_serializing_if = "Option::is_none"
712 )]
713 pub available_quantity: Option<f64>,
714 #[serde(
716 rename = "allowOutOfStockPurchases",
717 default,
718 skip_serializing_if = "Option::is_none"
719 )]
720 pub allow_out_of_stock_purchases: Option<bool>,
721}
722
723#[derive(Debug, Clone, Default, Serialize, Deserialize)]
725pub struct DefaultProductResponseDto {
726 #[serde(rename = "_id")]
729 pub id: String,
730 #[serde(default, skip_serializing_if = "Option::is_none")]
732 pub description: Option<String>,
733 #[serde(default, skip_serializing_if = "Vec::is_empty")]
735 pub variants: Vec<ProductVariantDto>,
736 #[serde(rename = "locationId")]
739 pub location_id: String,
740 pub name: String,
743 #[serde(rename = "productType")]
746 pub product_type: String,
747 #[serde(
749 rename = "availableInStore",
750 default,
751 skip_serializing_if = "Option::is_none"
752 )]
753 pub available_in_store: Option<bool>,
754 #[serde(rename = "createdAt")]
758 pub created_at: String,
759 #[serde(rename = "updatedAt")]
763 pub updated_at: String,
764 #[serde(
766 rename = "statementDescriptor",
767 default,
768 skip_serializing_if = "Option::is_none"
769 )]
770 pub statement_descriptor: Option<String>,
771 #[serde(default, skip_serializing_if = "Option::is_none")]
773 pub image: Option<String>,
774 #[serde(
776 rename = "collectionIds",
777 default,
778 skip_serializing_if = "Vec::is_empty"
779 )]
780 pub collection_ids: Vec<String>,
781 #[serde(
783 rename = "isTaxesEnabled",
784 default,
785 skip_serializing_if = "Option::is_none"
786 )]
787 pub is_taxes_enabled: Option<bool>,
788 #[serde(default, skip_serializing_if = "Vec::is_empty")]
792 pub taxes: Vec<String>,
793 #[serde(
795 rename = "automaticTaxCategoryId",
796 default,
797 skip_serializing_if = "Option::is_none"
798 )]
799 pub automatic_tax_category_id: Option<String>,
800 #[serde(default, skip_serializing_if = "Option::is_none")]
802 pub label: Option<ProductLabelDto>,
803 #[serde(default, skip_serializing_if = "Option::is_none")]
805 pub slug: Option<String>,
806}
807
808#[derive(Debug, Clone, Default, Serialize, Deserialize)]
810pub struct DeleteCouponParams {
811 #[serde(rename = "altId")]
814 pub alt_id: String,
815 #[serde(rename = "altType")]
819 pub alt_type: String,
820 pub id: String,
823}
824
825#[derive(Debug, Clone, Default, Serialize, Deserialize)]
827pub struct DeleteCouponResponseDto {
828 pub success: bool,
831 #[serde(rename = "traceId")]
834 pub trace_id: String,
835}
836
837#[derive(Debug, Clone, Default, Serialize, Deserialize)]
839pub struct DeleteCustomProvidersConfigDto {
840 #[serde(rename = "liveMode")]
844 pub live_mode: bool,
845}
846
847#[derive(Debug, Clone, Default, Serialize, Deserialize)]
849pub struct DeleteCustomProvidersResponseSchema {
850 pub success: bool,
854}
855
856#[derive(Debug, Clone, Default, Serialize, Deserialize)]
858pub struct DisconnectCustomProvidersResponseSchema {
859 pub success: bool,
863}
864
865#[derive(Debug, Clone, Default, Serialize, Deserialize)]
867pub struct FulfilledItem {
868 #[serde(rename = "_id")]
871 pub id: String,
872 pub name: String,
875 pub product: DefaultProductResponseDto,
878 pub price: DefaultPriceResponseDto,
881 pub qty: f64,
884}
885
886#[derive(Debug, Clone, Default, Serialize, Deserialize)]
888pub struct FulfillmentItems {
889 #[serde(rename = "priceId")]
892 pub price_id: String,
893 pub qty: f64,
896}
897
898#[derive(Debug, Clone, Default, Serialize, Deserialize)]
900pub struct FulfillmentSchema {
901 #[serde(rename = "altId")]
904 pub alt_id: String,
905 #[serde(rename = "altType")]
908 pub alt_type: String,
909 #[serde(default, skip_serializing_if = "Vec::is_empty")]
912 pub trackings: Vec<FulfillmentTracking>,
913 #[serde(rename = "_id")]
916 pub id: String,
917 #[serde(default, skip_serializing_if = "Vec::is_empty")]
920 pub items: Vec<FulfilledItem>,
921 #[serde(rename = "createdAt")]
924 pub created_at: String,
925 #[serde(rename = "updatedAt")]
928 pub updated_at: String,
929}
930
931#[derive(Debug, Clone, Default, Serialize, Deserialize)]
933pub struct FulfillmentTracking {
934 #[serde(
936 rename = "trackingNumber",
937 default,
938 skip_serializing_if = "Option::is_none"
939 )]
940 pub tracking_number: Option<String>,
941 #[serde(
943 rename = "shippingCarrier",
944 default,
945 skip_serializing_if = "Option::is_none"
946 )]
947 pub shipping_carrier: Option<String>,
948 #[serde(
950 rename = "trackingUrl",
951 default,
952 skip_serializing_if = "Option::is_none"
953 )]
954 pub tracking_url: Option<String>,
955}
956
957#[derive(Debug, Clone, Default, Serialize, Deserialize)]
959pub struct GetCustomProvidersResponseSchema {
960 pub name: String,
963 pub description: String,
966 #[serde(rename = "paymentsUrl")]
969 pub payments_url: String,
970 #[serde(rename = "queryUrl")]
973 pub query_url: String,
974 #[serde(rename = "imageUrl")]
978 pub image_url: String,
979 #[serde(rename = "_id")]
982 pub id: String,
983 #[serde(rename = "locationId")]
986 pub location_id: String,
987 #[serde(rename = "marketplaceAppId")]
990 pub marketplace_app_id: String,
991 #[serde(
993 rename = "paymentProvider",
994 default,
995 skip_serializing_if = "Option::is_none"
996 )]
997 pub payment_provider: Option<serde_json::Value>,
998 pub deleted: bool,
1001 #[serde(rename = "createdAt")]
1005 pub created_at: String,
1006 #[serde(rename = "updatedAt")]
1010 pub updated_at: String,
1011 #[serde(rename = "traceId", default, skip_serializing_if = "Option::is_none")]
1013 pub trace_id: Option<String>,
1014}
1015
1016#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1018pub struct GetOrderResponseSchema {
1019 #[serde(rename = "_id")]
1022 pub id: String,
1023 #[serde(rename = "altId")]
1026 pub alt_id: String,
1027 #[serde(rename = "altType")]
1030 pub alt_type: String,
1031 #[serde(rename = "contactId", default, skip_serializing_if = "Option::is_none")]
1033 pub contact_id: Option<String>,
1034 #[serde(default, skip_serializing_if = "Option::is_none")]
1036 pub currency: Option<String>,
1037 #[serde(default, skip_serializing_if = "Option::is_none")]
1039 pub amount: Option<f64>,
1040 pub status: String,
1043 #[serde(rename = "liveMode", default, skip_serializing_if = "Option::is_none")]
1045 pub live_mode: Option<bool>,
1046 #[serde(rename = "createdAt")]
1050 pub created_at: String,
1051 #[serde(rename = "updatedAt")]
1055 pub updated_at: String,
1056 #[serde(
1058 rename = "fulfillmentStatus",
1059 default,
1060 skip_serializing_if = "Option::is_none"
1061 )]
1062 pub fulfillment_status: Option<String>,
1063 #[serde(
1065 rename = "contactSnapshot",
1066 default,
1067 skip_serializing_if = "Option::is_none"
1068 )]
1069 pub contact_snapshot: Option<serde_json::Value>,
1070 #[serde(
1072 rename = "amountSummary",
1073 default,
1074 skip_serializing_if = "Option::is_none"
1075 )]
1076 pub amount_summary: Option<AmountSummary>,
1077 #[serde(default, skip_serializing_if = "Option::is_none")]
1079 pub source: Option<OrderSource>,
1080 #[serde(default, skip_serializing_if = "Vec::is_empty")]
1082 pub items: Vec<String>,
1083 #[serde(default, skip_serializing_if = "Option::is_none")]
1085 pub coupon: Option<serde_json::Value>,
1086 #[serde(
1088 rename = "trackingId",
1089 default,
1090 skip_serializing_if = "Option::is_none"
1091 )]
1092 pub tracking_id: Option<String>,
1093 #[serde(default, skip_serializing_if = "Option::is_none")]
1095 pub fingerprint: Option<String>,
1096 #[serde(default, skip_serializing_if = "Option::is_none")]
1098 pub meta: Option<serde_json::Value>,
1099 #[serde(
1101 rename = "markAsTest",
1102 default,
1103 skip_serializing_if = "Option::is_none"
1104 )]
1105 pub mark_as_test: Option<bool>,
1106 #[serde(rename = "traceId", default, skip_serializing_if = "Option::is_none")]
1108 pub trace_id: Option<String>,
1109 #[serde(
1111 rename = "automaticTaxesCalculated",
1112 default,
1113 skip_serializing_if = "Option::is_none"
1114 )]
1115 pub automatic_taxes_calculated: Option<bool>,
1116 #[serde(
1118 rename = "taxCalculationProvider",
1119 default,
1120 skip_serializing_if = "Option::is_none"
1121 )]
1122 pub tax_calculation_provider: Option<serde_json::Value>,
1123 #[serde(rename = "createdBy", default, skip_serializing_if = "Option::is_none")]
1125 pub created_by: Option<String>,
1126}
1127
1128#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1130pub struct GetSubscriptionResponseSchema {
1131 #[serde(rename = "_id")]
1134 pub id: String,
1135 #[serde(rename = "altType")]
1138 pub alt_type: serde_json::Value,
1139 #[serde(rename = "altId")]
1142 pub alt_id: String,
1143 #[serde(rename = "contactId", default, skip_serializing_if = "Option::is_none")]
1145 pub contact_id: Option<String>,
1146 #[serde(
1148 rename = "contactSnapshot",
1149 default,
1150 skip_serializing_if = "Option::is_none"
1151 )]
1152 pub contact_snapshot: Option<serde_json::Value>,
1153 #[serde(default, skip_serializing_if = "Option::is_none")]
1155 pub coupon: Option<serde_json::Value>,
1156 #[serde(default, skip_serializing_if = "Option::is_none")]
1158 pub currency: Option<String>,
1159 #[serde(default, skip_serializing_if = "Option::is_none")]
1161 pub amount: Option<f64>,
1162 #[serde(default, skip_serializing_if = "Option::is_none")]
1164 pub status: Option<serde_json::Value>,
1165 #[serde(rename = "liveMode", default, skip_serializing_if = "Option::is_none")]
1167 pub live_mode: Option<bool>,
1168 #[serde(
1170 rename = "entityType",
1171 default,
1172 skip_serializing_if = "Option::is_none"
1173 )]
1174 pub entity_type: Option<String>,
1175 #[serde(rename = "entityId", default, skip_serializing_if = "Option::is_none")]
1177 pub entity_id: Option<String>,
1178 #[serde(
1180 rename = "entitySource",
1181 default,
1182 skip_serializing_if = "Option::is_none"
1183 )]
1184 pub entity_source: Option<OrderSource>,
1185 #[serde(
1187 rename = "subscriptionId",
1188 default,
1189 skip_serializing_if = "Option::is_none"
1190 )]
1191 pub subscription_id: Option<String>,
1192 #[serde(
1194 rename = "subscriptionSnapshot",
1195 default,
1196 skip_serializing_if = "Option::is_none"
1197 )]
1198 pub subscription_snapshot: Option<serde_json::Value>,
1199 #[serde(
1201 rename = "paymentProvider",
1202 default,
1203 skip_serializing_if = "Option::is_none"
1204 )]
1205 pub payment_provider: Option<serde_json::Value>,
1206 #[serde(rename = "ipAddress", default, skip_serializing_if = "Option::is_none")]
1208 pub ip_address: Option<String>,
1209 #[serde(rename = "createdAt")]
1213 pub created_at: String,
1214 #[serde(rename = "updatedAt")]
1218 pub updated_at: String,
1219 #[serde(default, skip_serializing_if = "Option::is_none")]
1221 pub meta: Option<serde_json::Value>,
1222 #[serde(
1224 rename = "markAsTest",
1225 default,
1226 skip_serializing_if = "Option::is_none"
1227 )]
1228 pub mark_as_test: Option<bool>,
1229 #[serde(default, skip_serializing_if = "Option::is_none")]
1231 pub schedule: Option<ScheduleOptionsDto>,
1232 #[serde(
1234 rename = "autoPayment",
1235 default,
1236 skip_serializing_if = "Option::is_none"
1237 )]
1238 pub auto_payment: Option<serde_json::Value>,
1239 #[serde(
1241 rename = "recurringProduct",
1242 default,
1243 skip_serializing_if = "Option::is_none"
1244 )]
1245 pub recurring_product: Option<serde_json::Value>,
1246 #[serde(
1249 rename = "canceledAt",
1250 default,
1251 skip_serializing_if = "Option::is_none"
1252 )]
1253 pub canceled_at: Option<String>,
1254 #[serde(
1256 rename = "canceledBy",
1257 default,
1258 skip_serializing_if = "Option::is_none"
1259 )]
1260 pub canceled_by: Option<String>,
1261 #[serde(rename = "traceId", default, skip_serializing_if = "Option::is_none")]
1263 pub trace_id: Option<String>,
1264 #[serde(rename = "createdBy", default, skip_serializing_if = "Option::is_none")]
1266 pub created_by: Option<String>,
1267}
1268
1269#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1271pub struct GetTxnResponseSchema {
1272 #[serde(rename = "_id")]
1275 pub id: String,
1276 #[serde(rename = "altType")]
1279 pub alt_type: String,
1280 #[serde(rename = "altId")]
1283 pub alt_id: String,
1284 #[serde(rename = "contactId", default, skip_serializing_if = "Option::is_none")]
1286 pub contact_id: Option<String>,
1287 #[serde(
1289 rename = "contactSnapshot",
1290 default,
1291 skip_serializing_if = "Option::is_none"
1292 )]
1293 pub contact_snapshot: Option<serde_json::Value>,
1294 #[serde(default, skip_serializing_if = "Option::is_none")]
1296 pub currency: Option<String>,
1297 #[serde(default, skip_serializing_if = "Option::is_none")]
1299 pub amount: Option<f64>,
1300 #[serde(default, skip_serializing_if = "Option::is_none")]
1302 pub status: Option<serde_json::Value>,
1303 #[serde(rename = "liveMode", default, skip_serializing_if = "Option::is_none")]
1305 pub live_mode: Option<bool>,
1306 #[serde(rename = "createdAt")]
1310 pub created_at: String,
1311 #[serde(rename = "updatedAt")]
1315 pub updated_at: String,
1316 #[serde(
1318 rename = "entityType",
1319 default,
1320 skip_serializing_if = "Option::is_none"
1321 )]
1322 pub entity_type: Option<String>,
1323 #[serde(rename = "entityId", default, skip_serializing_if = "Option::is_none")]
1325 pub entity_id: Option<String>,
1326 #[serde(
1328 rename = "entitySource",
1329 default,
1330 skip_serializing_if = "Option::is_none"
1331 )]
1332 pub entity_source: Option<OrderSource>,
1333 #[serde(rename = "chargeId", default, skip_serializing_if = "Option::is_none")]
1335 pub charge_id: Option<String>,
1336 #[serde(
1338 rename = "chargeSnapshot",
1339 default,
1340 skip_serializing_if = "Option::is_none"
1341 )]
1342 pub charge_snapshot: Option<serde_json::Value>,
1343 #[serde(rename = "invoiceId", default, skip_serializing_if = "Option::is_none")]
1345 pub invoice_id: Option<String>,
1346 #[serde(
1348 rename = "subscriptionId",
1349 default,
1350 skip_serializing_if = "Option::is_none"
1351 )]
1352 pub subscription_id: Option<String>,
1353 #[serde(
1355 rename = "paymentProvider",
1356 default,
1357 skip_serializing_if = "Option::is_none"
1358 )]
1359 pub payment_provider: Option<serde_json::Value>,
1360 #[serde(rename = "ipAddress", default, skip_serializing_if = "Option::is_none")]
1362 pub ip_address: Option<String>,
1363 #[serde(default, skip_serializing_if = "Option::is_none")]
1365 pub meta: Option<serde_json::Value>,
1366 #[serde(
1368 rename = "markAsTest",
1369 default,
1370 skip_serializing_if = "Option::is_none"
1371 )]
1372 pub mark_as_test: Option<bool>,
1373 #[serde(rename = "isParent", default, skip_serializing_if = "Option::is_none")]
1375 pub is_parent: Option<bool>,
1376 #[serde(
1378 rename = "amountRefunded",
1379 default,
1380 skip_serializing_if = "Option::is_none"
1381 )]
1382 pub amount_refunded: Option<f64>,
1383 #[serde(rename = "receiptId", default, skip_serializing_if = "Option::is_none")]
1385 pub receipt_id: Option<String>,
1386 #[serde(rename = "qboSynced", default, skip_serializing_if = "Option::is_none")]
1388 pub qbo_synced: Option<bool>,
1389 #[serde(
1391 rename = "qboResponse",
1392 default,
1393 skip_serializing_if = "Option::is_none"
1394 )]
1395 pub qbo_response: Option<serde_json::Value>,
1396 #[serde(rename = "traceId", default, skip_serializing_if = "Option::is_none")]
1398 pub trace_id: Option<String>,
1399 #[serde(
1401 rename = "mergedFromContactId",
1402 default,
1403 skip_serializing_if = "Option::is_none"
1404 )]
1405 pub merged_from_contact_id: Option<String>,
1406 #[serde(rename = "createdBy", default, skip_serializing_if = "Option::is_none")]
1408 pub created_by: Option<String>,
1409}
1410
1411#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1413pub struct IntegrationProviderSchema {
1414 #[serde(rename = "_id")]
1417 pub id: String,
1418 #[serde(rename = "altId")]
1421 pub alt_id: String,
1422 #[serde(rename = "altType")]
1425 pub alt_type: String,
1426 pub title: String,
1429 pub route: String,
1432 pub provider: String,
1435 pub description: String,
1438 #[serde(rename = "imageUrl")]
1441 pub image_url: String,
1442 #[serde(rename = "createdAt")]
1446 pub created_at: String,
1447 #[serde(rename = "updatedAt")]
1451 pub updated_at: String,
1452}
1453
1454#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1456pub struct ListCouponsResponseDto {
1457 #[serde(default, skip_serializing_if = "Vec::is_empty")]
1460 pub data: Vec<CouponDto>,
1461 #[serde(rename = "totalCount")]
1464 pub total_count: f64,
1465 #[serde(rename = "traceId")]
1468 pub trace_id: String,
1469}
1470
1471#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1473pub struct ListFulfillmentResponseDto {
1474 pub status: bool,
1477 #[serde(default, skip_serializing_if = "Vec::is_empty")]
1480 pub data: Vec<FulfillmentSchema>,
1481}
1482
1483#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1485pub struct ListOrdersResponseDto {
1486 #[serde(default, skip_serializing_if = "Vec::is_empty")]
1489 pub data: Vec<OrderResponseSchema>,
1490 #[serde(rename = "totalCount")]
1493 pub total_count: f64,
1494}
1495
1496#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1498pub struct ListSubscriptionResponseDto {
1499 #[serde(default, skip_serializing_if = "Vec::is_empty")]
1502 pub data: Vec<SubscriptionResponseSchema>,
1503 #[serde(rename = "totalCount")]
1506 pub total_count: f64,
1507}
1508
1509#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1511pub struct ListTxnsResponseDto {
1512 #[serde(default, skip_serializing_if = "Vec::is_empty")]
1515 pub data: Vec<TxnResponseSchema>,
1516 #[serde(rename = "totalCount")]
1519 pub total_count: f64,
1520}
1521
1522#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1524pub struct ListWhitelabelIntegrationProviderResponseDto {
1525 pub providers: IntegrationProviderSchema,
1528}
1529
1530#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1532pub struct MembershipOfferDto {
1533 pub label: String,
1536 pub value: String,
1539 #[serde(rename = "_id")]
1542 pub id: String,
1543}
1544
1545#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1547pub struct OrderResponseSchema {
1548 #[serde(rename = "_id")]
1551 pub id: String,
1552 #[serde(rename = "altId")]
1555 pub alt_id: String,
1556 #[serde(rename = "altType")]
1559 pub alt_type: String,
1560 #[serde(rename = "contactId", default, skip_serializing_if = "Option::is_none")]
1562 pub contact_id: Option<String>,
1563 #[serde(
1565 rename = "contactName",
1566 default,
1567 skip_serializing_if = "Option::is_none"
1568 )]
1569 pub contact_name: Option<String>,
1570 #[serde(
1572 rename = "contactEmail",
1573 default,
1574 skip_serializing_if = "Option::is_none"
1575 )]
1576 pub contact_email: Option<String>,
1577 #[serde(default, skip_serializing_if = "Option::is_none")]
1579 pub currency: Option<String>,
1580 #[serde(default, skip_serializing_if = "Option::is_none")]
1582 pub amount: Option<f64>,
1583 #[serde(default, skip_serializing_if = "Option::is_none")]
1585 pub subtotal: Option<f64>,
1586 #[serde(default, skip_serializing_if = "Option::is_none")]
1588 pub discount: Option<f64>,
1589 pub status: String,
1592 #[serde(rename = "liveMode", default, skip_serializing_if = "Option::is_none")]
1594 pub live_mode: Option<bool>,
1595 #[serde(
1597 rename = "totalProducts",
1598 default,
1599 skip_serializing_if = "Option::is_none"
1600 )]
1601 pub total_products: Option<f64>,
1602 #[serde(rename = "sourceType")]
1605 pub source_type: String,
1606 #[serde(
1608 rename = "sourceName",
1609 default,
1610 skip_serializing_if = "Option::is_none"
1611 )]
1612 pub source_name: Option<String>,
1613 #[serde(rename = "sourceId", default, skip_serializing_if = "Option::is_none")]
1615 pub source_id: Option<String>,
1616 #[serde(
1618 rename = "sourceMeta",
1619 default,
1620 skip_serializing_if = "Option::is_none"
1621 )]
1622 pub source_meta: Option<serde_json::Value>,
1623 #[serde(
1625 rename = "couponCode",
1626 default,
1627 skip_serializing_if = "Option::is_none"
1628 )]
1629 pub coupon_code: Option<String>,
1630 #[serde(rename = "createdAt")]
1634 pub created_at: String,
1635 #[serde(rename = "updatedAt")]
1639 pub updated_at: String,
1640 #[serde(
1642 rename = "sourceSubType",
1643 default,
1644 skip_serializing_if = "Option::is_none"
1645 )]
1646 pub source_sub_type: Option<String>,
1647 #[serde(
1649 rename = "fulfillmentStatus",
1650 default,
1651 skip_serializing_if = "Option::is_none"
1652 )]
1653 pub fulfillment_status: Option<String>,
1654 #[serde(
1656 rename = "onetimeProducts",
1657 default,
1658 skip_serializing_if = "Option::is_none"
1659 )]
1660 pub onetime_products: Option<f64>,
1661 #[serde(
1663 rename = "recurringProducts",
1664 default,
1665 skip_serializing_if = "Option::is_none"
1666 )]
1667 pub recurring_products: Option<f64>,
1668 #[serde(rename = "createdBy", default, skip_serializing_if = "Option::is_none")]
1670 pub created_by: Option<String>,
1671}
1672
1673#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1675pub struct OrderSource {
1676 #[serde(rename = "type")]
1681 pub type_: String,
1682 #[serde(rename = "subType", default, skip_serializing_if = "Option::is_none")]
1686 pub sub_type: Option<String>,
1687 pub id: String,
1689 #[serde(default, skip_serializing_if = "Option::is_none")]
1690 pub name: Option<String>,
1691 #[serde(default, skip_serializing_if = "Option::is_none")]
1692 pub meta: Option<serde_json::Value>,
1693}
1694
1695#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1697pub struct PostRecordOrderPaymentBody {
1698 #[serde(rename = "altId")]
1701 pub alt_id: String,
1702 #[serde(rename = "altType")]
1706 pub alt_type: String,
1707 pub mode: String,
1711 #[serde(default, skip_serializing_if = "Option::is_none")]
1713 pub card: Option<CardDto>,
1714 #[serde(default, skip_serializing_if = "Option::is_none")]
1716 pub cheque: Option<ChequeDto>,
1717 #[serde(default, skip_serializing_if = "Option::is_none")]
1719 pub notes: Option<String>,
1720 #[serde(default, skip_serializing_if = "Option::is_none")]
1722 pub amount: Option<f64>,
1723 #[serde(default, skip_serializing_if = "Option::is_none")]
1725 pub meta: Option<serde_json::Value>,
1726 #[serde(
1728 rename = "isPartialPayment",
1729 default,
1730 skip_serializing_if = "Option::is_none"
1731 )]
1732 pub is_partial_payment: Option<bool>,
1733}
1734
1735#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1737pub struct PostRecordOrderPaymentResponse {
1738 pub success: bool,
1741}
1742
1743#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1745pub struct ProductLabelDto {
1746 pub title: String,
1749 #[serde(rename = "startDate", default, skip_serializing_if = "Option::is_none")]
1751 pub start_date: Option<String>,
1752 #[serde(rename = "endDate", default, skip_serializing_if = "Option::is_none")]
1754 pub end_date: Option<String>,
1755}
1756
1757#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1759pub struct ProductVariantDto {
1760 pub id: String,
1763 pub name: String,
1766 #[serde(default, skip_serializing_if = "Vec::is_empty")]
1769 pub options: Vec<ProductVariantOptionDto>,
1770}
1771
1772#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1774pub struct ProductVariantOptionDto {
1775 pub id: String,
1778 pub name: String,
1781}
1782
1783#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1785pub struct RecurringDto {
1786 pub interval: String,
1790 #[serde(rename = "intervalCount")]
1793 pub interval_count: f64,
1794}
1795
1796#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1798pub struct ScheduleOptionsDto {
1799 #[serde(rename = "executeAt", default, skip_serializing_if = "Option::is_none")]
1800 pub execute_at: Option<String>,
1801 #[serde(default, skip_serializing_if = "Option::is_none")]
1802 pub rrule: Option<CustomRRuleOptionsDto>,
1803}
1804
1805#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1807pub struct SubscriptionResponseSchema {
1808 #[serde(rename = "_id")]
1811 pub id: String,
1812 #[serde(rename = "altId")]
1815 pub alt_id: String,
1816 #[serde(rename = "altType")]
1820 pub alt_type: String,
1821 #[serde(rename = "contactId", default, skip_serializing_if = "Option::is_none")]
1823 pub contact_id: Option<String>,
1824 #[serde(
1826 rename = "contactName",
1827 default,
1828 skip_serializing_if = "Option::is_none"
1829 )]
1830 pub contact_name: Option<String>,
1831 #[serde(
1833 rename = "contactEmail",
1834 default,
1835 skip_serializing_if = "Option::is_none"
1836 )]
1837 pub contact_email: Option<String>,
1838 #[serde(default, skip_serializing_if = "Option::is_none")]
1840 pub currency: Option<String>,
1841 #[serde(default, skip_serializing_if = "Option::is_none")]
1843 pub amount: Option<f64>,
1844 pub status: serde_json::Value,
1847 #[serde(rename = "liveMode", default, skip_serializing_if = "Option::is_none")]
1849 pub live_mode: Option<bool>,
1850 #[serde(
1852 rename = "entityType",
1853 default,
1854 skip_serializing_if = "Option::is_none"
1855 )]
1856 pub entity_type: Option<String>,
1857 #[serde(rename = "entityId", default, skip_serializing_if = "Option::is_none")]
1859 pub entity_id: Option<String>,
1860 #[serde(rename = "entitySourceType")]
1863 pub entity_source_type: String,
1864 #[serde(
1866 rename = "entitySourceName",
1867 default,
1868 skip_serializing_if = "Option::is_none"
1869 )]
1870 pub entity_source_name: Option<String>,
1871 #[serde(
1873 rename = "entitySourceId",
1874 default,
1875 skip_serializing_if = "Option::is_none"
1876 )]
1877 pub entity_source_id: Option<String>,
1878 #[serde(
1880 rename = "entitySourceMeta",
1881 default,
1882 skip_serializing_if = "Option::is_none"
1883 )]
1884 pub entity_source_meta: Option<serde_json::Value>,
1885 #[serde(
1887 rename = "subscriptionId",
1888 default,
1889 skip_serializing_if = "Option::is_none"
1890 )]
1891 pub subscription_id: Option<String>,
1892 #[serde(
1894 rename = "subscriptionSnapshot",
1895 default,
1896 skip_serializing_if = "Option::is_none"
1897 )]
1898 pub subscription_snapshot: Option<serde_json::Value>,
1899 #[serde(
1901 rename = "paymentProviderType",
1902 default,
1903 skip_serializing_if = "Option::is_none"
1904 )]
1905 pub payment_provider_type: Option<String>,
1906 #[serde(
1908 rename = "paymentProviderConnectedAccount",
1909 default,
1910 skip_serializing_if = "Option::is_none"
1911 )]
1912 pub payment_provider_connected_account: Option<String>,
1913 #[serde(rename = "ipAddress", default, skip_serializing_if = "Option::is_none")]
1915 pub ip_address: Option<String>,
1916 #[serde(rename = "createdAt")]
1920 pub created_at: String,
1921 #[serde(rename = "updatedAt")]
1925 pub updated_at: String,
1926 #[serde(rename = "createdBy", default, skip_serializing_if = "Option::is_none")]
1928 pub created_by: Option<String>,
1929}
1930
1931#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1933pub struct TxnResponseSchema {
1934 #[serde(rename = "_id")]
1937 pub id: String,
1938 #[serde(rename = "altId")]
1941 pub alt_id: String,
1942 #[serde(rename = "altType")]
1945 pub alt_type: String,
1946 #[serde(rename = "contactId", default, skip_serializing_if = "Option::is_none")]
1948 pub contact_id: Option<String>,
1949 #[serde(
1951 rename = "mergedFromContactId",
1952 default,
1953 skip_serializing_if = "Option::is_none"
1954 )]
1955 pub merged_from_contact_id: Option<String>,
1956 #[serde(
1958 rename = "contactName",
1959 default,
1960 skip_serializing_if = "Option::is_none"
1961 )]
1962 pub contact_name: Option<String>,
1963 #[serde(
1965 rename = "contactEmail",
1966 default,
1967 skip_serializing_if = "Option::is_none"
1968 )]
1969 pub contact_email: Option<String>,
1970 #[serde(default, skip_serializing_if = "Option::is_none")]
1972 pub currency: Option<String>,
1973 #[serde(default, skip_serializing_if = "Option::is_none")]
1975 pub amount: Option<f64>,
1976 pub status: serde_json::Value,
1979 #[serde(rename = "liveMode", default, skip_serializing_if = "Option::is_none")]
1981 pub live_mode: Option<bool>,
1982 #[serde(
1984 rename = "entityType",
1985 default,
1986 skip_serializing_if = "Option::is_none"
1987 )]
1988 pub entity_type: Option<String>,
1989 #[serde(rename = "entityId", default, skip_serializing_if = "Option::is_none")]
1991 pub entity_id: Option<String>,
1992 #[serde(rename = "entitySourceType")]
1995 pub entity_source_type: String,
1996 #[serde(
1998 rename = "entitySourceSubType",
1999 default,
2000 skip_serializing_if = "Option::is_none"
2001 )]
2002 pub entity_source_sub_type: Option<String>,
2003 #[serde(
2005 rename = "entitySourceName",
2006 default,
2007 skip_serializing_if = "Option::is_none"
2008 )]
2009 pub entity_source_name: Option<String>,
2010 #[serde(
2012 rename = "entitySourceId",
2013 default,
2014 skip_serializing_if = "Option::is_none"
2015 )]
2016 pub entity_source_id: Option<String>,
2017 #[serde(
2019 rename = "entitySourceMeta",
2020 default,
2021 skip_serializing_if = "Option::is_none"
2022 )]
2023 pub entity_source_meta: Option<serde_json::Value>,
2024 #[serde(
2026 rename = "subscriptionId",
2027 default,
2028 skip_serializing_if = "Option::is_none"
2029 )]
2030 pub subscription_id: Option<String>,
2031 #[serde(rename = "chargeId", default, skip_serializing_if = "Option::is_none")]
2033 pub charge_id: Option<String>,
2034 #[serde(
2036 rename = "chargeSnapshot",
2037 default,
2038 skip_serializing_if = "Option::is_none"
2039 )]
2040 pub charge_snapshot: Option<serde_json::Value>,
2041 #[serde(
2043 rename = "paymentProviderType",
2044 default,
2045 skip_serializing_if = "Option::is_none"
2046 )]
2047 pub payment_provider_type: Option<String>,
2048 #[serde(
2050 rename = "paymentProviderConnectedAccount",
2051 default,
2052 skip_serializing_if = "Option::is_none"
2053 )]
2054 pub payment_provider_connected_account: Option<String>,
2055 #[serde(rename = "ipAddress", default, skip_serializing_if = "Option::is_none")]
2057 pub ip_address: Option<String>,
2058 #[serde(rename = "createdAt")]
2062 pub created_at: String,
2063 #[serde(rename = "updatedAt")]
2067 pub updated_at: String,
2068 #[serde(
2070 rename = "amountRefunded",
2071 default,
2072 skip_serializing_if = "Option::is_none"
2073 )]
2074 pub amount_refunded: Option<f64>,
2075 #[serde(
2077 rename = "paymentMethod",
2078 default,
2079 skip_serializing_if = "Option::is_none"
2080 )]
2081 pub payment_method: Option<serde_json::Value>,
2082 #[serde(rename = "fulfilledAt")]
2086 pub fulfilled_at: String,
2087 #[serde(rename = "createdBy", default, skip_serializing_if = "Option::is_none")]
2089 pub created_by: Option<String>,
2090}
2091
2092#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2094pub struct UpdateCouponParams {
2095 #[serde(rename = "altId")]
2098 pub alt_id: String,
2099 #[serde(rename = "altType")]
2103 pub alt_type: String,
2104 pub name: String,
2107 pub code: String,
2110 #[serde(rename = "discountType")]
2114 pub discount_type: String,
2115 #[serde(rename = "discountValue")]
2118 pub discount_value: f64,
2119 #[serde(rename = "startDate")]
2122 pub start_date: String,
2123 #[serde(rename = "endDate", default, skip_serializing_if = "Option::is_none")]
2125 pub end_date: Option<String>,
2126 #[serde(
2128 rename = "usageLimit",
2129 default,
2130 skip_serializing_if = "Option::is_none"
2131 )]
2132 pub usage_limit: Option<f64>,
2133 #[serde(rename = "productIds", default, skip_serializing_if = "Vec::is_empty")]
2135 pub product_ids: Vec<String>,
2136 #[serde(
2138 rename = "applyToFuturePayments",
2139 default,
2140 skip_serializing_if = "Option::is_none"
2141 )]
2142 pub apply_to_future_payments: Option<bool>,
2143 #[serde(
2146 rename = "applyToFuturePaymentsConfig",
2147 default,
2148 skip_serializing_if = "Option::is_none"
2149 )]
2150 pub apply_to_future_payments_config: Option<ApplyToFuturePaymentsConfig>,
2151 #[serde(
2153 rename = "limitPerCustomer",
2154 default,
2155 skip_serializing_if = "Option::is_none"
2156 )]
2157 pub limit_per_customer: Option<bool>,
2158 pub id: String,
2161}
2162
2163#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2165pub struct UpdateCustomProviderCapabilitiesDto {
2166 #[serde(rename = "supportsSubscriptionSchedules")]
2169 pub supports_subscription_schedules: bool,
2170 #[serde(rename = "companyId", default, skip_serializing_if = "Option::is_none")]
2172 pub company_id: Option<String>,
2173 #[serde(
2175 rename = "locationId",
2176 default,
2177 skip_serializing_if = "Option::is_none"
2178 )]
2179 pub location_id: Option<String>,
2180}
2181
2182#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2184pub struct UpdateCustomProviderCapabilitiesResponseSchema {
2185 pub success: bool,
2189}