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 AmountSummary {
24 pub subtotal: f64,
27 #[serde(default, skip_serializing_if = "Option::is_none")]
29 pub discount: Option<f64>,
30}
31
32#[derive(Debug, Clone, Default, Serialize, Deserialize)]
34pub struct ApplyToFuturePaymentsConfig {
35 #[serde(rename = "type")]
39 pub type_: String,
40 pub duration: f64,
43 #[serde(rename = "durationType")]
47 pub duration_type: String,
48}
49
50#[derive(Debug, Clone, Default, Serialize, Deserialize)]
52pub struct ApplyToFuturePaymentsConfigDto {
53 #[serde(rename = "type")]
57 pub type_: String,
58 #[serde(default, skip_serializing_if = "Option::is_none")]
60 pub duration: Option<f64>,
61 #[serde(
63 rename = "durationType",
64 default,
65 skip_serializing_if = "Option::is_none"
66 )]
67 pub duration_type: Option<String>,
68}
69
70#[derive(Debug, Clone, Default, Serialize, Deserialize)]
72pub struct CardDto {
73 #[serde(rename = "type")]
76 pub type_: String,
77 pub last4: String,
80}
81
82#[derive(Debug, Clone, Default, Serialize, Deserialize)]
84pub struct ChequeDto {
85 pub number: String,
88}
89
90#[derive(Debug, Clone, Default, Serialize, Deserialize)]
92pub struct ConnectCustomProvidersConfigDto {
93 pub live: CustomProviderKeys,
96 pub test: CustomProviderKeys,
99}
100
101#[derive(Debug, Clone, Default, Serialize, Deserialize)]
103pub struct ConnectCustomProvidersResponseSchema {
104 pub name: String,
107 pub description: String,
110 #[serde(rename = "paymentsUrl")]
113 pub payments_url: String,
114 #[serde(rename = "queryUrl")]
117 pub query_url: String,
118 #[serde(rename = "imageUrl")]
122 pub image_url: String,
123 #[serde(rename = "_id")]
126 pub id: String,
127 #[serde(rename = "locationId")]
130 pub location_id: String,
131 #[serde(rename = "marketplaceAppId")]
134 pub marketplace_app_id: String,
135 #[serde(
137 rename = "paymentProvider",
138 default,
139 skip_serializing_if = "Option::is_none"
140 )]
141 pub payment_provider: Option<serde_json::Value>,
142 pub deleted: bool,
145 #[serde(rename = "createdAt")]
149 pub created_at: String,
150 #[serde(rename = "updatedAt")]
154 pub updated_at: String,
155 #[serde(rename = "traceId", default, skip_serializing_if = "Option::is_none")]
157 pub trace_id: Option<String>,
158}
159
160#[derive(Debug, Clone, Default, Serialize, Deserialize)]
162pub struct CouponDto {
163 #[serde(rename = "_id")]
166 pub id: String,
167 #[serde(rename = "usageCount")]
170 pub usage_count: f64,
171 #[serde(rename = "limitPerCustomer")]
174 pub limit_per_customer: f64,
175 #[serde(rename = "altId")]
178 pub alt_id: String,
179 #[serde(rename = "altType")]
182 pub alt_type: String,
183 pub name: String,
186 pub code: String,
189 #[serde(rename = "discountType")]
193 pub discount_type: String,
194 #[serde(rename = "discountValue")]
197 pub discount_value: f64,
198 pub status: String,
202 #[serde(rename = "startDate")]
205 pub start_date: String,
206 #[serde(rename = "endDate", default, skip_serializing_if = "Option::is_none")]
208 pub end_date: Option<String>,
209 #[serde(rename = "applyToFuturePayments")]
212 pub apply_to_future_payments: bool,
213 #[serde(rename = "applyToFuturePaymentsConfig")]
216 pub apply_to_future_payments_config: ApplyToFuturePaymentsConfigDto,
217 #[serde(rename = "productIds", default, skip_serializing_if = "Vec::is_empty")]
219 pub product_ids: Vec<String>,
220 #[serde(rename = "priceIds", default, skip_serializing_if = "Vec::is_empty")]
222 pub price_ids: Vec<String>,
223 #[serde(rename = "variantIds", default, skip_serializing_if = "Vec::is_empty")]
225 pub variant_ids: Vec<String>,
226 #[serde(rename = "userId", default, skip_serializing_if = "Option::is_none")]
228 pub user_id: Option<String>,
229 #[serde(rename = "createdAt")]
232 pub created_at: String,
233 #[serde(rename = "updatedAt")]
236 pub updated_at: String,
237}
238
239#[derive(Debug, Clone, Default, Serialize, Deserialize)]
241pub struct CreateCouponParams {
242 #[serde(rename = "altId")]
245 pub alt_id: String,
246 #[serde(rename = "altType")]
250 pub alt_type: String,
251 pub name: String,
254 pub code: String,
257 #[serde(rename = "discountType")]
261 pub discount_type: String,
262 #[serde(rename = "discountValue")]
265 pub discount_value: f64,
266 #[serde(rename = "startDate")]
269 pub start_date: String,
270 #[serde(rename = "endDate", default, skip_serializing_if = "Option::is_none")]
272 pub end_date: Option<String>,
273 #[serde(
275 rename = "usageLimit",
276 default,
277 skip_serializing_if = "Option::is_none"
278 )]
279 pub usage_limit: Option<f64>,
280 #[serde(rename = "productIds", default, skip_serializing_if = "Vec::is_empty")]
282 pub product_ids: Vec<String>,
283 #[serde(rename = "priceIds", default, skip_serializing_if = "Vec::is_empty")]
285 pub price_ids: Vec<String>,
286 #[serde(rename = "variantIds", default, skip_serializing_if = "Vec::is_empty")]
288 pub variant_ids: Vec<String>,
289 #[serde(
291 rename = "applyToFuturePayments",
292 default,
293 skip_serializing_if = "Option::is_none"
294 )]
295 pub apply_to_future_payments: Option<bool>,
296 #[serde(
299 rename = "applyToFuturePaymentsConfig",
300 default,
301 skip_serializing_if = "Option::is_none"
302 )]
303 pub apply_to_future_payments_config: Option<ApplyToFuturePaymentsConfig>,
304 #[serde(
306 rename = "limitPerCustomer",
307 default,
308 skip_serializing_if = "Option::is_none"
309 )]
310 pub limit_per_customer: Option<bool>,
311}
312
313#[derive(Debug, Clone, Default, Serialize, Deserialize)]
315pub struct CreateCouponResponseDto {
316 #[serde(rename = "_id")]
319 pub id: String,
320 #[serde(rename = "usageCount")]
323 pub usage_count: f64,
324 #[serde(rename = "limitPerCustomer")]
327 pub limit_per_customer: f64,
328 #[serde(rename = "altId")]
331 pub alt_id: String,
332 #[serde(rename = "altType")]
335 pub alt_type: String,
336 pub name: String,
339 pub code: String,
342 #[serde(rename = "discountType")]
346 pub discount_type: String,
347 #[serde(rename = "discountValue")]
350 pub discount_value: f64,
351 pub status: String,
355 #[serde(rename = "startDate")]
358 pub start_date: String,
359 #[serde(rename = "endDate", default, skip_serializing_if = "Option::is_none")]
361 pub end_date: Option<String>,
362 #[serde(rename = "applyToFuturePayments")]
365 pub apply_to_future_payments: bool,
366 #[serde(rename = "applyToFuturePaymentsConfig")]
369 pub apply_to_future_payments_config: ApplyToFuturePaymentsConfigDto,
370 #[serde(rename = "userId", default, skip_serializing_if = "Option::is_none")]
372 pub user_id: Option<String>,
373 #[serde(rename = "createdAt")]
376 pub created_at: String,
377 #[serde(rename = "updatedAt")]
380 pub updated_at: String,
381 #[serde(rename = "traceId")]
384 pub trace_id: String,
385}
386
387#[derive(Debug, Clone, Default, Serialize, Deserialize)]
389pub struct CreateCustomProvidersDto {
390 pub name: String,
393 pub description: String,
396 #[serde(rename = "paymentsUrl")]
399 pub payments_url: String,
400 #[serde(rename = "queryUrl")]
403 pub query_url: String,
404 #[serde(rename = "imageUrl")]
408 pub image_url: String,
409 #[serde(rename = "supportsSubscriptionSchedule")]
413 pub supports_subscription_schedule: bool,
414}
415
416#[derive(Debug, Clone, Default, Serialize, Deserialize)]
418pub struct CreateCustomProvidersResponseSchema {
419 pub name: String,
422 pub description: String,
425 #[serde(rename = "paymentsUrl")]
428 pub payments_url: String,
429 #[serde(rename = "queryUrl")]
432 pub query_url: String,
433 #[serde(rename = "imageUrl")]
437 pub image_url: String,
438 #[serde(rename = "_id")]
441 pub id: String,
442 #[serde(rename = "locationId")]
445 pub location_id: String,
446 #[serde(rename = "marketplaceAppId")]
449 pub marketplace_app_id: String,
450 #[serde(
452 rename = "paymentProvider",
453 default,
454 skip_serializing_if = "Option::is_none"
455 )]
456 pub payment_provider: Option<serde_json::Value>,
457 pub deleted: bool,
460 #[serde(rename = "createdAt")]
464 pub created_at: String,
465 #[serde(rename = "updatedAt")]
469 pub updated_at: String,
470 #[serde(rename = "traceId", default, skip_serializing_if = "Option::is_none")]
472 pub trace_id: Option<String>,
473}
474
475#[derive(Debug, Clone, Default, Serialize, Deserialize)]
477pub struct CreateFulfillmentDto {
478 #[serde(rename = "altId")]
481 pub alt_id: String,
482 #[serde(rename = "altType")]
485 pub alt_type: String,
486 #[serde(default, skip_serializing_if = "Vec::is_empty")]
489 pub trackings: Vec<FulfillmentTracking>,
490 #[serde(default, skip_serializing_if = "Vec::is_empty")]
493 pub items: Vec<FulfillmentItems>,
494 #[serde(rename = "notifyCustomer")]
497 pub notify_customer: bool,
498}
499
500#[derive(Debug, Clone, Default, Serialize, Deserialize)]
502pub struct CreateFulfillmentResponseDto {
503 pub status: bool,
506 pub data: FulfillmentSchema,
509}
510
511#[derive(Debug, Clone, Default, Serialize, Deserialize)]
513pub struct CreateWhiteLabelIntegrationProviderDto {
514 #[serde(rename = "altId")]
517 pub alt_id: String,
518 #[serde(rename = "altType")]
522 pub alt_type: String,
523 #[serde(rename = "uniqueName")]
527 pub unique_name: String,
528 pub title: String,
531 pub provider: String,
535 pub description: String,
538 #[serde(rename = "imageUrl")]
542 pub image_url: String,
543}
544
545#[derive(Debug, Clone, Default, Serialize, Deserialize)]
547pub struct CreateWhitelabelIntegrationResponseDto {
548 #[serde(rename = "_id")]
551 pub id: String,
552 #[serde(rename = "altId")]
555 pub alt_id: String,
556 #[serde(rename = "altType")]
559 pub alt_type: String,
560 pub title: String,
563 pub route: String,
566 pub provider: String,
569 pub description: String,
572 #[serde(rename = "imageUrl")]
575 pub image_url: String,
576 #[serde(rename = "createdAt")]
580 pub created_at: String,
581 #[serde(rename = "updatedAt")]
585 pub updated_at: String,
586}
587
588#[derive(Debug, Clone, Default, Serialize, Deserialize)]
590pub struct CustomProviderKeys {
591 #[serde(rename = "apiKey")]
594 pub api_key: String,
595 #[serde(rename = "publishableKey")]
598 pub publishable_key: String,
599}
600
601#[derive(Debug, Clone, Default, Serialize, Deserialize)]
603pub struct CustomRRuleOptionsDto {
604 #[serde(rename = "intervalType")]
608 pub interval_type: String,
609 pub interval: f64,
611 #[serde(rename = "startDate")]
614 pub start_date: String,
615 #[serde(rename = "startTime", default, skip_serializing_if = "Option::is_none")]
617 pub start_time: Option<String>,
618 #[serde(rename = "endDate", default, skip_serializing_if = "Option::is_none")]
620 pub end_date: Option<String>,
621 #[serde(rename = "endTime", default, skip_serializing_if = "Option::is_none")]
623 pub end_time: Option<String>,
624 #[serde(
626 rename = "dayOfMonth",
627 default,
628 skip_serializing_if = "Option::is_none"
629 )]
630 pub day_of_month: Option<f64>,
631 #[serde(rename = "dayOfWeek", default, skip_serializing_if = "Option::is_none")]
633 pub day_of_week: Option<String>,
634 #[serde(rename = "numOfWeek", default, skip_serializing_if = "Option::is_none")]
636 pub num_of_week: Option<f64>,
637 #[serde(
640 rename = "monthOfYear",
641 default,
642 skip_serializing_if = "Option::is_none"
643 )]
644 pub month_of_year: Option<String>,
645 #[serde(default, skip_serializing_if = "Option::is_none")]
647 pub count: Option<f64>,
648 #[serde(
650 rename = "daysBefore",
651 default,
652 skip_serializing_if = "Option::is_none"
653 )]
654 pub days_before: Option<f64>,
655}
656
657#[derive(Debug, Clone, Default, Serialize, Deserialize)]
659pub struct DefaultPriceResponseDto {
660 #[serde(rename = "_id")]
663 pub id: String,
664 #[serde(
666 rename = "membershipOffers",
667 default,
668 skip_serializing_if = "Vec::is_empty"
669 )]
670 pub membership_offers: Vec<MembershipOfferDto>,
671 #[serde(
673 rename = "variantOptionIds",
674 default,
675 skip_serializing_if = "Vec::is_empty"
676 )]
677 pub variant_option_ids: Vec<String>,
678 #[serde(
680 rename = "locationId",
681 default,
682 skip_serializing_if = "Option::is_none"
683 )]
684 pub location_id: Option<String>,
685 #[serde(default, skip_serializing_if = "Option::is_none")]
687 pub product: Option<String>,
688 #[serde(rename = "userId", default, skip_serializing_if = "Option::is_none")]
690 pub user_id: Option<String>,
691 pub name: String,
694 #[serde(rename = "type")]
698 pub type_: String,
699 pub currency: String,
702 pub amount: f64,
705 #[serde(default, skip_serializing_if = "Option::is_none")]
707 pub recurring: Option<RecurringDto>,
708 #[serde(rename = "createdAt", default, skip_serializing_if = "Option::is_none")]
711 pub created_at: Option<String>,
712 #[serde(rename = "updatedAt", default, skip_serializing_if = "Option::is_none")]
715 pub updated_at: Option<String>,
716 #[serde(
718 rename = "compareAtPrice",
719 default,
720 skip_serializing_if = "Option::is_none"
721 )]
722 pub compare_at_price: Option<f64>,
723 #[serde(
725 rename = "trackInventory",
726 default,
727 skip_serializing_if = "Option::is_none"
728 )]
729 pub track_inventory: Option<bool>,
730 #[serde(
732 rename = "availableQuantity",
733 default,
734 skip_serializing_if = "Option::is_none"
735 )]
736 pub available_quantity: Option<f64>,
737 #[serde(
739 rename = "allowOutOfStockPurchases",
740 default,
741 skip_serializing_if = "Option::is_none"
742 )]
743 pub allow_out_of_stock_purchases: Option<bool>,
744}
745
746#[derive(Debug, Clone, Default, Serialize, Deserialize)]
748pub struct DefaultProductResponseDto {
749 #[serde(rename = "_id")]
752 pub id: String,
753 #[serde(default, skip_serializing_if = "Option::is_none")]
755 pub description: Option<String>,
756 #[serde(default, skip_serializing_if = "Vec::is_empty")]
758 pub variants: Vec<ProductVariantDto>,
759 #[serde(rename = "locationId")]
762 pub location_id: String,
763 pub name: String,
766 #[serde(rename = "productType")]
769 pub product_type: String,
770 #[serde(
772 rename = "availableInStore",
773 default,
774 skip_serializing_if = "Option::is_none"
775 )]
776 pub available_in_store: Option<bool>,
777 #[serde(rename = "createdAt")]
781 pub created_at: String,
782 #[serde(rename = "updatedAt")]
786 pub updated_at: String,
787 #[serde(
789 rename = "statementDescriptor",
790 default,
791 skip_serializing_if = "Option::is_none"
792 )]
793 pub statement_descriptor: Option<String>,
794 #[serde(default, skip_serializing_if = "Option::is_none")]
796 pub image: Option<String>,
797 #[serde(
799 rename = "collectionIds",
800 default,
801 skip_serializing_if = "Vec::is_empty"
802 )]
803 pub collection_ids: Vec<String>,
804 #[serde(
806 rename = "isTaxesEnabled",
807 default,
808 skip_serializing_if = "Option::is_none"
809 )]
810 pub is_taxes_enabled: Option<bool>,
811 #[serde(default, skip_serializing_if = "Vec::is_empty")]
815 pub taxes: Vec<String>,
816 #[serde(
818 rename = "automaticTaxCategoryId",
819 default,
820 skip_serializing_if = "Option::is_none"
821 )]
822 pub automatic_tax_category_id: Option<String>,
823 #[serde(default, skip_serializing_if = "Option::is_none")]
825 pub label: Option<ProductLabelDto>,
826 #[serde(default, skip_serializing_if = "Option::is_none")]
828 pub slug: Option<String>,
829}
830
831#[derive(Debug, Clone, Default, Serialize, Deserialize)]
833pub struct DeleteCouponParams {
834 #[serde(rename = "altId")]
837 pub alt_id: String,
838 #[serde(rename = "altType")]
842 pub alt_type: String,
843 pub id: String,
846}
847
848#[derive(Debug, Clone, Default, Serialize, Deserialize)]
850pub struct DeleteCouponResponseDto {
851 pub success: bool,
854 #[serde(rename = "traceId")]
857 pub trace_id: String,
858}
859
860#[derive(Debug, Clone, Default, Serialize, Deserialize)]
862pub struct DeleteCustomProvidersConfigDto {
863 #[serde(rename = "liveMode")]
867 pub live_mode: bool,
868}
869
870#[derive(Debug, Clone, Default, Serialize, Deserialize)]
872pub struct DeleteCustomProvidersResponseSchema {
873 pub success: bool,
877}
878
879#[derive(Debug, Clone, Default, Serialize, Deserialize)]
881pub struct DisconnectCustomProvidersResponseSchema {
882 pub success: bool,
886}
887
888#[derive(Debug, Clone, Default, Serialize, Deserialize)]
890pub struct FulfilledItem {
891 #[serde(rename = "_id")]
894 pub id: String,
895 pub name: String,
898 pub product: DefaultProductResponseDto,
901 pub price: DefaultPriceResponseDto,
904 pub qty: f64,
907}
908
909#[derive(Debug, Clone, Default, Serialize, Deserialize)]
911pub struct FulfillmentItems {
912 #[serde(rename = "priceId")]
915 pub price_id: String,
916 pub qty: f64,
919}
920
921#[derive(Debug, Clone, Default, Serialize, Deserialize)]
923pub struct FulfillmentSchema {
924 #[serde(rename = "altId")]
927 pub alt_id: String,
928 #[serde(rename = "altType")]
931 pub alt_type: String,
932 #[serde(default, skip_serializing_if = "Vec::is_empty")]
935 pub trackings: Vec<FulfillmentTracking>,
936 #[serde(rename = "_id")]
939 pub id: String,
940 #[serde(default, skip_serializing_if = "Vec::is_empty")]
943 pub items: Vec<FulfilledItem>,
944 #[serde(rename = "createdAt")]
947 pub created_at: String,
948 #[serde(rename = "updatedAt")]
951 pub updated_at: String,
952}
953
954#[derive(Debug, Clone, Default, Serialize, Deserialize)]
956pub struct FulfillmentTracking {
957 #[serde(
959 rename = "trackingNumber",
960 default,
961 skip_serializing_if = "Option::is_none"
962 )]
963 pub tracking_number: Option<String>,
964 #[serde(
966 rename = "shippingCarrier",
967 default,
968 skip_serializing_if = "Option::is_none"
969 )]
970 pub shipping_carrier: Option<String>,
971 #[serde(
973 rename = "trackingUrl",
974 default,
975 skip_serializing_if = "Option::is_none"
976 )]
977 pub tracking_url: Option<String>,
978}
979
980#[derive(Debug, Clone, Default, Serialize, Deserialize)]
982pub struct GetCustomProvidersResponseSchema {
983 pub name: String,
986 pub description: String,
989 #[serde(rename = "paymentsUrl")]
992 pub payments_url: String,
993 #[serde(rename = "queryUrl")]
996 pub query_url: String,
997 #[serde(rename = "imageUrl")]
1001 pub image_url: String,
1002 #[serde(rename = "_id")]
1005 pub id: String,
1006 #[serde(rename = "locationId")]
1009 pub location_id: String,
1010 #[serde(rename = "marketplaceAppId")]
1013 pub marketplace_app_id: String,
1014 #[serde(
1016 rename = "paymentProvider",
1017 default,
1018 skip_serializing_if = "Option::is_none"
1019 )]
1020 pub payment_provider: Option<serde_json::Value>,
1021 pub deleted: bool,
1024 #[serde(rename = "createdAt")]
1028 pub created_at: String,
1029 #[serde(rename = "updatedAt")]
1033 pub updated_at: String,
1034 #[serde(rename = "traceId", default, skip_serializing_if = "Option::is_none")]
1036 pub trace_id: Option<String>,
1037}
1038
1039#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1041pub struct GetOrderResponseSchema {
1042 #[serde(rename = "_id")]
1045 pub id: String,
1046 #[serde(rename = "altId")]
1049 pub alt_id: String,
1050 #[serde(rename = "altType")]
1053 pub alt_type: String,
1054 #[serde(rename = "contactId", default, skip_serializing_if = "Option::is_none")]
1056 pub contact_id: Option<String>,
1057 #[serde(default, skip_serializing_if = "Option::is_none")]
1059 pub currency: Option<String>,
1060 #[serde(default, skip_serializing_if = "Option::is_none")]
1062 pub amount: Option<f64>,
1063 pub status: String,
1066 #[serde(rename = "liveMode", default, skip_serializing_if = "Option::is_none")]
1068 pub live_mode: Option<bool>,
1069 #[serde(rename = "createdAt")]
1073 pub created_at: String,
1074 #[serde(rename = "updatedAt")]
1078 pub updated_at: String,
1079 #[serde(
1081 rename = "fulfillmentStatus",
1082 default,
1083 skip_serializing_if = "Option::is_none"
1084 )]
1085 pub fulfillment_status: Option<String>,
1086 #[serde(
1088 rename = "contactSnapshot",
1089 default,
1090 skip_serializing_if = "Option::is_none"
1091 )]
1092 pub contact_snapshot: Option<serde_json::Value>,
1093 #[serde(
1095 rename = "amountSummary",
1096 default,
1097 skip_serializing_if = "Option::is_none"
1098 )]
1099 pub amount_summary: Option<AmountSummary>,
1100 #[serde(default, skip_serializing_if = "Option::is_none")]
1102 pub source: Option<OrderSource>,
1103 #[serde(default, skip_serializing_if = "Vec::is_empty")]
1105 pub items: Vec<String>,
1106 #[serde(default, skip_serializing_if = "Option::is_none")]
1108 pub coupon: Option<serde_json::Value>,
1109 #[serde(
1111 rename = "trackingId",
1112 default,
1113 skip_serializing_if = "Option::is_none"
1114 )]
1115 pub tracking_id: Option<String>,
1116 #[serde(default, skip_serializing_if = "Option::is_none")]
1118 pub fingerprint: Option<String>,
1119 #[serde(default, skip_serializing_if = "Option::is_none")]
1121 pub meta: Option<serde_json::Value>,
1122 #[serde(
1124 rename = "markAsTest",
1125 default,
1126 skip_serializing_if = "Option::is_none"
1127 )]
1128 pub mark_as_test: Option<bool>,
1129 #[serde(rename = "traceId", default, skip_serializing_if = "Option::is_none")]
1131 pub trace_id: Option<String>,
1132 #[serde(
1134 rename = "automaticTaxesCalculated",
1135 default,
1136 skip_serializing_if = "Option::is_none"
1137 )]
1138 pub automatic_taxes_calculated: Option<bool>,
1139 #[serde(
1141 rename = "taxCalculationProvider",
1142 default,
1143 skip_serializing_if = "Option::is_none"
1144 )]
1145 pub tax_calculation_provider: Option<serde_json::Value>,
1146 #[serde(rename = "createdBy", default, skip_serializing_if = "Option::is_none")]
1148 pub created_by: Option<String>,
1149}
1150
1151#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1153pub struct GetSubscriptionResponseSchema {
1154 #[serde(rename = "_id")]
1157 pub id: String,
1158 #[serde(rename = "altType")]
1161 pub alt_type: serde_json::Value,
1162 #[serde(rename = "altId")]
1165 pub alt_id: String,
1166 #[serde(rename = "contactId", default, skip_serializing_if = "Option::is_none")]
1168 pub contact_id: Option<String>,
1169 #[serde(
1171 rename = "contactSnapshot",
1172 default,
1173 skip_serializing_if = "Option::is_none"
1174 )]
1175 pub contact_snapshot: Option<serde_json::Value>,
1176 #[serde(default, skip_serializing_if = "Option::is_none")]
1178 pub coupon: Option<serde_json::Value>,
1179 #[serde(default, skip_serializing_if = "Option::is_none")]
1181 pub currency: Option<String>,
1182 #[serde(default, skip_serializing_if = "Option::is_none")]
1184 pub amount: Option<f64>,
1185 #[serde(default, skip_serializing_if = "Option::is_none")]
1187 pub status: Option<serde_json::Value>,
1188 #[serde(rename = "liveMode", default, skip_serializing_if = "Option::is_none")]
1190 pub live_mode: Option<bool>,
1191 #[serde(
1193 rename = "entityType",
1194 default,
1195 skip_serializing_if = "Option::is_none"
1196 )]
1197 pub entity_type: Option<String>,
1198 #[serde(rename = "entityId", default, skip_serializing_if = "Option::is_none")]
1200 pub entity_id: Option<String>,
1201 #[serde(
1203 rename = "entitySource",
1204 default,
1205 skip_serializing_if = "Option::is_none"
1206 )]
1207 pub entity_source: Option<OrderSource>,
1208 #[serde(
1210 rename = "subscriptionId",
1211 default,
1212 skip_serializing_if = "Option::is_none"
1213 )]
1214 pub subscription_id: Option<String>,
1215 #[serde(
1217 rename = "subscriptionSnapshot",
1218 default,
1219 skip_serializing_if = "Option::is_none"
1220 )]
1221 pub subscription_snapshot: Option<serde_json::Value>,
1222 #[serde(
1224 rename = "paymentProvider",
1225 default,
1226 skip_serializing_if = "Option::is_none"
1227 )]
1228 pub payment_provider: Option<serde_json::Value>,
1229 #[serde(rename = "ipAddress", default, skip_serializing_if = "Option::is_none")]
1231 pub ip_address: Option<String>,
1232 #[serde(rename = "createdAt")]
1236 pub created_at: String,
1237 #[serde(rename = "updatedAt")]
1241 pub updated_at: String,
1242 #[serde(default, skip_serializing_if = "Option::is_none")]
1244 pub meta: Option<serde_json::Value>,
1245 #[serde(
1247 rename = "markAsTest",
1248 default,
1249 skip_serializing_if = "Option::is_none"
1250 )]
1251 pub mark_as_test: Option<bool>,
1252 #[serde(default, skip_serializing_if = "Option::is_none")]
1254 pub schedule: Option<ScheduleOptionsDto>,
1255 #[serde(
1257 rename = "autoPayment",
1258 default,
1259 skip_serializing_if = "Option::is_none"
1260 )]
1261 pub auto_payment: Option<serde_json::Value>,
1262 #[serde(
1264 rename = "recurringProduct",
1265 default,
1266 skip_serializing_if = "Option::is_none"
1267 )]
1268 pub recurring_product: Option<serde_json::Value>,
1269 #[serde(
1272 rename = "canceledAt",
1273 default,
1274 skip_serializing_if = "Option::is_none"
1275 )]
1276 pub canceled_at: Option<String>,
1277 #[serde(
1279 rename = "canceledBy",
1280 default,
1281 skip_serializing_if = "Option::is_none"
1282 )]
1283 pub canceled_by: Option<String>,
1284 #[serde(rename = "traceId", default, skip_serializing_if = "Option::is_none")]
1286 pub trace_id: Option<String>,
1287 #[serde(rename = "createdBy", default, skip_serializing_if = "Option::is_none")]
1289 pub created_by: Option<String>,
1290}
1291
1292#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1294pub struct GetTxnResponseSchema {
1295 #[serde(rename = "_id")]
1298 pub id: String,
1299 #[serde(rename = "altType")]
1302 pub alt_type: String,
1303 #[serde(rename = "altId")]
1306 pub alt_id: String,
1307 #[serde(rename = "contactId", default, skip_serializing_if = "Option::is_none")]
1309 pub contact_id: Option<String>,
1310 #[serde(
1312 rename = "contactSnapshot",
1313 default,
1314 skip_serializing_if = "Option::is_none"
1315 )]
1316 pub contact_snapshot: Option<serde_json::Value>,
1317 #[serde(default, skip_serializing_if = "Option::is_none")]
1319 pub currency: Option<String>,
1320 #[serde(default, skip_serializing_if = "Option::is_none")]
1322 pub amount: Option<f64>,
1323 #[serde(default, skip_serializing_if = "Option::is_none")]
1325 pub status: Option<serde_json::Value>,
1326 #[serde(rename = "liveMode", default, skip_serializing_if = "Option::is_none")]
1328 pub live_mode: Option<bool>,
1329 #[serde(rename = "createdAt")]
1333 pub created_at: String,
1334 #[serde(rename = "updatedAt")]
1338 pub updated_at: String,
1339 #[serde(
1341 rename = "entityType",
1342 default,
1343 skip_serializing_if = "Option::is_none"
1344 )]
1345 pub entity_type: Option<String>,
1346 #[serde(rename = "entityId", default, skip_serializing_if = "Option::is_none")]
1348 pub entity_id: Option<String>,
1349 #[serde(
1351 rename = "entitySource",
1352 default,
1353 skip_serializing_if = "Option::is_none"
1354 )]
1355 pub entity_source: Option<OrderSource>,
1356 #[serde(rename = "chargeId", default, skip_serializing_if = "Option::is_none")]
1358 pub charge_id: Option<String>,
1359 #[serde(
1361 rename = "chargeSnapshot",
1362 default,
1363 skip_serializing_if = "Option::is_none"
1364 )]
1365 pub charge_snapshot: Option<serde_json::Value>,
1366 #[serde(rename = "invoiceId", default, skip_serializing_if = "Option::is_none")]
1368 pub invoice_id: Option<String>,
1369 #[serde(
1371 rename = "subscriptionId",
1372 default,
1373 skip_serializing_if = "Option::is_none"
1374 )]
1375 pub subscription_id: Option<String>,
1376 #[serde(
1378 rename = "paymentProvider",
1379 default,
1380 skip_serializing_if = "Option::is_none"
1381 )]
1382 pub payment_provider: Option<serde_json::Value>,
1383 #[serde(rename = "ipAddress", default, skip_serializing_if = "Option::is_none")]
1385 pub ip_address: Option<String>,
1386 #[serde(default, skip_serializing_if = "Option::is_none")]
1388 pub meta: Option<serde_json::Value>,
1389 #[serde(
1391 rename = "markAsTest",
1392 default,
1393 skip_serializing_if = "Option::is_none"
1394 )]
1395 pub mark_as_test: Option<bool>,
1396 #[serde(rename = "isParent", default, skip_serializing_if = "Option::is_none")]
1398 pub is_parent: Option<bool>,
1399 #[serde(
1401 rename = "amountRefunded",
1402 default,
1403 skip_serializing_if = "Option::is_none"
1404 )]
1405 pub amount_refunded: Option<f64>,
1406 #[serde(rename = "receiptId", default, skip_serializing_if = "Option::is_none")]
1408 pub receipt_id: Option<String>,
1409 #[serde(rename = "qboSynced", default, skip_serializing_if = "Option::is_none")]
1411 pub qbo_synced: Option<bool>,
1412 #[serde(
1414 rename = "qboResponse",
1415 default,
1416 skip_serializing_if = "Option::is_none"
1417 )]
1418 pub qbo_response: Option<serde_json::Value>,
1419 #[serde(rename = "traceId", default, skip_serializing_if = "Option::is_none")]
1421 pub trace_id: Option<String>,
1422 #[serde(
1424 rename = "mergedFromContactId",
1425 default,
1426 skip_serializing_if = "Option::is_none"
1427 )]
1428 pub merged_from_contact_id: Option<String>,
1429 #[serde(rename = "createdBy", default, skip_serializing_if = "Option::is_none")]
1431 pub created_by: Option<String>,
1432}
1433
1434#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1436pub struct IntegrationProviderSchema {
1437 #[serde(rename = "_id")]
1440 pub id: String,
1441 #[serde(rename = "altId")]
1444 pub alt_id: String,
1445 #[serde(rename = "altType")]
1448 pub alt_type: String,
1449 pub title: String,
1452 pub route: String,
1455 pub provider: String,
1458 pub description: String,
1461 #[serde(rename = "imageUrl")]
1464 pub image_url: String,
1465 #[serde(rename = "createdAt")]
1469 pub created_at: String,
1470 #[serde(rename = "updatedAt")]
1474 pub updated_at: String,
1475}
1476
1477#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1479pub struct ListCouponsResponseDto {
1480 #[serde(default, skip_serializing_if = "Vec::is_empty")]
1483 pub data: Vec<CouponDto>,
1484 #[serde(rename = "totalCount")]
1487 pub total_count: f64,
1488 #[serde(rename = "traceId")]
1491 pub trace_id: String,
1492}
1493
1494#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1496pub struct ListFulfillmentResponseDto {
1497 pub status: bool,
1500 #[serde(default, skip_serializing_if = "Vec::is_empty")]
1503 pub data: Vec<FulfillmentSchema>,
1504}
1505
1506#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1508pub struct ListOrdersResponseDto {
1509 #[serde(default, skip_serializing_if = "Vec::is_empty")]
1512 pub data: Vec<OrderResponseSchema>,
1513 #[serde(rename = "totalCount")]
1516 pub total_count: f64,
1517}
1518
1519#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1521pub struct ListSubscriptionResponseDto {
1522 #[serde(default, skip_serializing_if = "Vec::is_empty")]
1525 pub data: Vec<SubscriptionResponseSchema>,
1526 #[serde(rename = "totalCount")]
1529 pub total_count: f64,
1530}
1531
1532#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1534pub struct ListTxnsResponseDto {
1535 #[serde(default, skip_serializing_if = "Vec::is_empty")]
1538 pub data: Vec<TxnResponseSchema>,
1539 #[serde(rename = "totalCount")]
1542 pub total_count: f64,
1543}
1544
1545#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1547pub struct ListWhitelabelIntegrationProviderResponseDto {
1548 pub providers: IntegrationProviderSchema,
1551}
1552
1553#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1555pub struct MembershipOfferDto {
1556 pub label: String,
1559 pub value: String,
1562 #[serde(rename = "_id")]
1565 pub id: String,
1566}
1567
1568#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1570pub struct OrderResponseSchema {
1571 #[serde(rename = "_id")]
1574 pub id: String,
1575 #[serde(rename = "altId")]
1578 pub alt_id: String,
1579 #[serde(rename = "altType")]
1582 pub alt_type: String,
1583 #[serde(rename = "contactId", default, skip_serializing_if = "Option::is_none")]
1585 pub contact_id: Option<String>,
1586 #[serde(
1588 rename = "contactName",
1589 default,
1590 skip_serializing_if = "Option::is_none"
1591 )]
1592 pub contact_name: Option<String>,
1593 #[serde(
1595 rename = "contactEmail",
1596 default,
1597 skip_serializing_if = "Option::is_none"
1598 )]
1599 pub contact_email: Option<String>,
1600 #[serde(default, skip_serializing_if = "Option::is_none")]
1602 pub currency: Option<String>,
1603 #[serde(default, skip_serializing_if = "Option::is_none")]
1605 pub amount: Option<f64>,
1606 #[serde(default, skip_serializing_if = "Option::is_none")]
1608 pub subtotal: Option<f64>,
1609 #[serde(default, skip_serializing_if = "Option::is_none")]
1611 pub discount: Option<f64>,
1612 pub status: String,
1615 #[serde(rename = "liveMode", default, skip_serializing_if = "Option::is_none")]
1617 pub live_mode: Option<bool>,
1618 #[serde(
1620 rename = "totalProducts",
1621 default,
1622 skip_serializing_if = "Option::is_none"
1623 )]
1624 pub total_products: Option<f64>,
1625 #[serde(rename = "sourceType")]
1628 pub source_type: String,
1629 #[serde(
1631 rename = "sourceName",
1632 default,
1633 skip_serializing_if = "Option::is_none"
1634 )]
1635 pub source_name: Option<String>,
1636 #[serde(rename = "sourceId", default, skip_serializing_if = "Option::is_none")]
1638 pub source_id: Option<String>,
1639 #[serde(
1641 rename = "sourceMeta",
1642 default,
1643 skip_serializing_if = "Option::is_none"
1644 )]
1645 pub source_meta: Option<serde_json::Value>,
1646 #[serde(
1648 rename = "couponCode",
1649 default,
1650 skip_serializing_if = "Option::is_none"
1651 )]
1652 pub coupon_code: Option<String>,
1653 #[serde(rename = "createdAt")]
1657 pub created_at: String,
1658 #[serde(rename = "updatedAt")]
1662 pub updated_at: String,
1663 #[serde(
1665 rename = "sourceSubType",
1666 default,
1667 skip_serializing_if = "Option::is_none"
1668 )]
1669 pub source_sub_type: Option<String>,
1670 #[serde(
1672 rename = "fulfillmentStatus",
1673 default,
1674 skip_serializing_if = "Option::is_none"
1675 )]
1676 pub fulfillment_status: Option<String>,
1677 #[serde(
1679 rename = "onetimeProducts",
1680 default,
1681 skip_serializing_if = "Option::is_none"
1682 )]
1683 pub onetime_products: Option<f64>,
1684 #[serde(
1686 rename = "recurringProducts",
1687 default,
1688 skip_serializing_if = "Option::is_none"
1689 )]
1690 pub recurring_products: Option<f64>,
1691 #[serde(rename = "createdBy", default, skip_serializing_if = "Option::is_none")]
1693 pub created_by: Option<String>,
1694}
1695
1696#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1698pub struct OrderSource {
1699 #[serde(rename = "type")]
1704 pub type_: String,
1705 #[serde(rename = "subType", default, skip_serializing_if = "Option::is_none")]
1709 pub sub_type: Option<String>,
1710 pub id: String,
1712 #[serde(default, skip_serializing_if = "Option::is_none")]
1713 pub name: Option<String>,
1714 #[serde(default, skip_serializing_if = "Option::is_none")]
1715 pub meta: Option<serde_json::Value>,
1716}
1717
1718#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1720pub struct PostRecordOrderPaymentBody {
1721 #[serde(rename = "altId")]
1724 pub alt_id: String,
1725 #[serde(rename = "altType")]
1729 pub alt_type: String,
1730 pub mode: String,
1734 #[serde(default, skip_serializing_if = "Option::is_none")]
1736 pub card: Option<CardDto>,
1737 #[serde(default, skip_serializing_if = "Option::is_none")]
1739 pub cheque: Option<ChequeDto>,
1740 #[serde(default, skip_serializing_if = "Option::is_none")]
1742 pub notes: Option<String>,
1743 #[serde(default, skip_serializing_if = "Option::is_none")]
1745 pub amount: Option<f64>,
1746 #[serde(default, skip_serializing_if = "Option::is_none")]
1748 pub meta: Option<serde_json::Value>,
1749 #[serde(
1751 rename = "isPartialPayment",
1752 default,
1753 skip_serializing_if = "Option::is_none"
1754 )]
1755 pub is_partial_payment: Option<bool>,
1756}
1757
1758#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1760pub struct PostRecordOrderPaymentResponse {
1761 pub success: bool,
1764}
1765
1766#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1768pub struct ProductLabelDto {
1769 pub title: String,
1772 #[serde(rename = "startDate", default, skip_serializing_if = "Option::is_none")]
1774 pub start_date: Option<String>,
1775 #[serde(rename = "endDate", default, skip_serializing_if = "Option::is_none")]
1777 pub end_date: Option<String>,
1778}
1779
1780#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1782pub struct ProductVariantDto {
1783 pub id: String,
1786 pub name: String,
1789 #[serde(default, skip_serializing_if = "Vec::is_empty")]
1792 pub options: Vec<ProductVariantOptionDto>,
1793}
1794
1795#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1797pub struct ProductVariantOptionDto {
1798 pub id: String,
1801 pub name: String,
1804}
1805
1806#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1808pub struct RecurringDto {
1809 pub interval: String,
1813 #[serde(rename = "intervalCount")]
1816 pub interval_count: f64,
1817}
1818
1819#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1821pub struct ScheduleOptionsDto {
1822 #[serde(rename = "executeAt", default, skip_serializing_if = "Option::is_none")]
1823 pub execute_at: Option<String>,
1824 #[serde(default, skip_serializing_if = "Option::is_none")]
1825 pub rrule: Option<CustomRRuleOptionsDto>,
1826}
1827
1828#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1830pub struct SubscriptionResponseSchema {
1831 #[serde(rename = "_id")]
1834 pub id: String,
1835 #[serde(rename = "altId")]
1838 pub alt_id: String,
1839 #[serde(rename = "altType")]
1843 pub alt_type: String,
1844 #[serde(rename = "contactId", default, skip_serializing_if = "Option::is_none")]
1846 pub contact_id: Option<String>,
1847 #[serde(
1849 rename = "contactName",
1850 default,
1851 skip_serializing_if = "Option::is_none"
1852 )]
1853 pub contact_name: Option<String>,
1854 #[serde(
1856 rename = "contactEmail",
1857 default,
1858 skip_serializing_if = "Option::is_none"
1859 )]
1860 pub contact_email: Option<String>,
1861 #[serde(default, skip_serializing_if = "Option::is_none")]
1863 pub currency: Option<String>,
1864 #[serde(default, skip_serializing_if = "Option::is_none")]
1866 pub amount: Option<f64>,
1867 pub status: serde_json::Value,
1870 #[serde(rename = "liveMode", default, skip_serializing_if = "Option::is_none")]
1872 pub live_mode: Option<bool>,
1873 #[serde(
1875 rename = "entityType",
1876 default,
1877 skip_serializing_if = "Option::is_none"
1878 )]
1879 pub entity_type: Option<String>,
1880 #[serde(rename = "entityId", default, skip_serializing_if = "Option::is_none")]
1882 pub entity_id: Option<String>,
1883 #[serde(rename = "entitySourceType")]
1886 pub entity_source_type: String,
1887 #[serde(
1889 rename = "entitySourceName",
1890 default,
1891 skip_serializing_if = "Option::is_none"
1892 )]
1893 pub entity_source_name: Option<String>,
1894 #[serde(
1896 rename = "entitySourceId",
1897 default,
1898 skip_serializing_if = "Option::is_none"
1899 )]
1900 pub entity_source_id: Option<String>,
1901 #[serde(
1903 rename = "entitySourceMeta",
1904 default,
1905 skip_serializing_if = "Option::is_none"
1906 )]
1907 pub entity_source_meta: Option<serde_json::Value>,
1908 #[serde(
1910 rename = "subscriptionId",
1911 default,
1912 skip_serializing_if = "Option::is_none"
1913 )]
1914 pub subscription_id: Option<String>,
1915 #[serde(
1917 rename = "subscriptionSnapshot",
1918 default,
1919 skip_serializing_if = "Option::is_none"
1920 )]
1921 pub subscription_snapshot: Option<serde_json::Value>,
1922 #[serde(
1924 rename = "paymentProviderType",
1925 default,
1926 skip_serializing_if = "Option::is_none"
1927 )]
1928 pub payment_provider_type: Option<String>,
1929 #[serde(
1931 rename = "paymentProviderConnectedAccount",
1932 default,
1933 skip_serializing_if = "Option::is_none"
1934 )]
1935 pub payment_provider_connected_account: Option<String>,
1936 #[serde(rename = "ipAddress", default, skip_serializing_if = "Option::is_none")]
1938 pub ip_address: Option<String>,
1939 #[serde(rename = "createdAt")]
1943 pub created_at: String,
1944 #[serde(rename = "updatedAt")]
1948 pub updated_at: String,
1949 #[serde(rename = "createdBy", default, skip_serializing_if = "Option::is_none")]
1951 pub created_by: Option<String>,
1952}
1953
1954#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1956pub struct TxnResponseSchema {
1957 #[serde(rename = "_id")]
1960 pub id: String,
1961 #[serde(rename = "altId")]
1964 pub alt_id: String,
1965 #[serde(rename = "altType")]
1968 pub alt_type: String,
1969 #[serde(rename = "contactId", default, skip_serializing_if = "Option::is_none")]
1971 pub contact_id: Option<String>,
1972 #[serde(
1974 rename = "mergedFromContactId",
1975 default,
1976 skip_serializing_if = "Option::is_none"
1977 )]
1978 pub merged_from_contact_id: Option<String>,
1979 #[serde(
1981 rename = "contactName",
1982 default,
1983 skip_serializing_if = "Option::is_none"
1984 )]
1985 pub contact_name: Option<String>,
1986 #[serde(
1988 rename = "contactEmail",
1989 default,
1990 skip_serializing_if = "Option::is_none"
1991 )]
1992 pub contact_email: Option<String>,
1993 #[serde(default, skip_serializing_if = "Option::is_none")]
1995 pub currency: Option<String>,
1996 #[serde(default, skip_serializing_if = "Option::is_none")]
1998 pub amount: Option<f64>,
1999 pub status: serde_json::Value,
2002 #[serde(rename = "liveMode", default, skip_serializing_if = "Option::is_none")]
2004 pub live_mode: Option<bool>,
2005 #[serde(
2007 rename = "entityType",
2008 default,
2009 skip_serializing_if = "Option::is_none"
2010 )]
2011 pub entity_type: Option<String>,
2012 #[serde(rename = "entityId", default, skip_serializing_if = "Option::is_none")]
2014 pub entity_id: Option<String>,
2015 #[serde(rename = "entitySourceType")]
2018 pub entity_source_type: String,
2019 #[serde(
2021 rename = "entitySourceSubType",
2022 default,
2023 skip_serializing_if = "Option::is_none"
2024 )]
2025 pub entity_source_sub_type: Option<String>,
2026 #[serde(
2028 rename = "entitySourceName",
2029 default,
2030 skip_serializing_if = "Option::is_none"
2031 )]
2032 pub entity_source_name: Option<String>,
2033 #[serde(
2035 rename = "entitySourceId",
2036 default,
2037 skip_serializing_if = "Option::is_none"
2038 )]
2039 pub entity_source_id: Option<String>,
2040 #[serde(
2042 rename = "entitySourceMeta",
2043 default,
2044 skip_serializing_if = "Option::is_none"
2045 )]
2046 pub entity_source_meta: Option<serde_json::Value>,
2047 #[serde(
2049 rename = "subscriptionId",
2050 default,
2051 skip_serializing_if = "Option::is_none"
2052 )]
2053 pub subscription_id: Option<String>,
2054 #[serde(rename = "chargeId", default, skip_serializing_if = "Option::is_none")]
2056 pub charge_id: Option<String>,
2057 #[serde(
2059 rename = "chargeSnapshot",
2060 default,
2061 skip_serializing_if = "Option::is_none"
2062 )]
2063 pub charge_snapshot: Option<serde_json::Value>,
2064 #[serde(
2066 rename = "paymentProviderType",
2067 default,
2068 skip_serializing_if = "Option::is_none"
2069 )]
2070 pub payment_provider_type: Option<String>,
2071 #[serde(
2073 rename = "paymentProviderConnectedAccount",
2074 default,
2075 skip_serializing_if = "Option::is_none"
2076 )]
2077 pub payment_provider_connected_account: Option<String>,
2078 #[serde(rename = "ipAddress", default, skip_serializing_if = "Option::is_none")]
2080 pub ip_address: Option<String>,
2081 #[serde(rename = "createdAt")]
2085 pub created_at: String,
2086 #[serde(rename = "updatedAt")]
2090 pub updated_at: String,
2091 #[serde(
2093 rename = "amountRefunded",
2094 default,
2095 skip_serializing_if = "Option::is_none"
2096 )]
2097 pub amount_refunded: Option<f64>,
2098 #[serde(
2100 rename = "paymentMethod",
2101 default,
2102 skip_serializing_if = "Option::is_none"
2103 )]
2104 pub payment_method: Option<serde_json::Value>,
2105 #[serde(rename = "fulfilledAt")]
2109 pub fulfilled_at: String,
2110 #[serde(rename = "createdBy", default, skip_serializing_if = "Option::is_none")]
2112 pub created_by: Option<String>,
2113}
2114
2115#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2117pub struct UpdateCouponParams {
2118 #[serde(rename = "altId")]
2121 pub alt_id: String,
2122 #[serde(rename = "altType")]
2126 pub alt_type: String,
2127 pub name: String,
2130 pub code: String,
2133 #[serde(rename = "discountType")]
2137 pub discount_type: String,
2138 #[serde(rename = "discountValue")]
2141 pub discount_value: f64,
2142 #[serde(rename = "startDate")]
2145 pub start_date: String,
2146 #[serde(rename = "endDate", default, skip_serializing_if = "Option::is_none")]
2148 pub end_date: Option<String>,
2149 #[serde(
2151 rename = "usageLimit",
2152 default,
2153 skip_serializing_if = "Option::is_none"
2154 )]
2155 pub usage_limit: Option<f64>,
2156 #[serde(rename = "productIds", default, skip_serializing_if = "Vec::is_empty")]
2158 pub product_ids: Vec<String>,
2159 #[serde(rename = "priceIds", default, skip_serializing_if = "Vec::is_empty")]
2161 pub price_ids: Vec<String>,
2162 #[serde(rename = "variantIds", default, skip_serializing_if = "Vec::is_empty")]
2164 pub variant_ids: Vec<String>,
2165 #[serde(
2167 rename = "applyToFuturePayments",
2168 default,
2169 skip_serializing_if = "Option::is_none"
2170 )]
2171 pub apply_to_future_payments: Option<bool>,
2172 #[serde(
2175 rename = "applyToFuturePaymentsConfig",
2176 default,
2177 skip_serializing_if = "Option::is_none"
2178 )]
2179 pub apply_to_future_payments_config: Option<ApplyToFuturePaymentsConfig>,
2180 #[serde(
2182 rename = "limitPerCustomer",
2183 default,
2184 skip_serializing_if = "Option::is_none"
2185 )]
2186 pub limit_per_customer: Option<bool>,
2187 pub id: String,
2190}
2191
2192#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2194pub struct UpdateCustomProviderCapabilitiesDto {
2195 #[serde(rename = "supportsSubscriptionSchedules")]
2198 pub supports_subscription_schedules: bool,
2199 #[serde(rename = "companyId", default, skip_serializing_if = "Option::is_none")]
2201 pub company_id: Option<String>,
2202 #[serde(
2204 rename = "locationId",
2205 default,
2206 skip_serializing_if = "Option::is_none"
2207 )]
2208 pub location_id: Option<String>,
2209}
2210
2211#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2213pub struct UpdateCustomProviderCapabilitiesResponseSchema {
2214 pub success: bool,
2218}