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 = "userId", default, skip_serializing_if = "Option::is_none")]
219 pub user_id: Option<String>,
220 #[serde(rename = "createdAt")]
223 pub created_at: String,
224 #[serde(rename = "updatedAt")]
227 pub updated_at: String,
228}
229
230#[derive(Debug, Clone, Default, Serialize, Deserialize)]
232pub struct CreateCouponParams {
233 #[serde(rename = "altId")]
236 pub alt_id: String,
237 #[serde(rename = "altType")]
241 pub alt_type: String,
242 pub name: String,
245 pub code: String,
248 #[serde(rename = "discountType")]
252 pub discount_type: String,
253 #[serde(rename = "discountValue")]
256 pub discount_value: f64,
257 #[serde(rename = "startDate")]
260 pub start_date: String,
261 #[serde(rename = "endDate", default, skip_serializing_if = "Option::is_none")]
263 pub end_date: Option<String>,
264 #[serde(
266 rename = "usageLimit",
267 default,
268 skip_serializing_if = "Option::is_none"
269 )]
270 pub usage_limit: Option<f64>,
271 #[serde(rename = "productIds", default, skip_serializing_if = "Vec::is_empty")]
273 pub product_ids: Vec<String>,
274 #[serde(
276 rename = "applyToFuturePayments",
277 default,
278 skip_serializing_if = "Option::is_none"
279 )]
280 pub apply_to_future_payments: Option<bool>,
281 #[serde(
284 rename = "applyToFuturePaymentsConfig",
285 default,
286 skip_serializing_if = "Option::is_none"
287 )]
288 pub apply_to_future_payments_config: Option<ApplyToFuturePaymentsConfig>,
289 #[serde(
291 rename = "limitPerCustomer",
292 default,
293 skip_serializing_if = "Option::is_none"
294 )]
295 pub limit_per_customer: Option<bool>,
296}
297
298#[derive(Debug, Clone, Default, Serialize, Deserialize)]
300pub struct CreateCouponResponseDto {
301 #[serde(rename = "_id")]
304 pub id: String,
305 #[serde(rename = "usageCount")]
308 pub usage_count: f64,
309 #[serde(rename = "limitPerCustomer")]
312 pub limit_per_customer: f64,
313 #[serde(rename = "altId")]
316 pub alt_id: String,
317 #[serde(rename = "altType")]
320 pub alt_type: String,
321 pub name: String,
324 pub code: String,
327 #[serde(rename = "discountType")]
331 pub discount_type: String,
332 #[serde(rename = "discountValue")]
335 pub discount_value: f64,
336 pub status: String,
340 #[serde(rename = "startDate")]
343 pub start_date: String,
344 #[serde(rename = "endDate", default, skip_serializing_if = "Option::is_none")]
346 pub end_date: Option<String>,
347 #[serde(rename = "applyToFuturePayments")]
350 pub apply_to_future_payments: bool,
351 #[serde(rename = "applyToFuturePaymentsConfig")]
354 pub apply_to_future_payments_config: ApplyToFuturePaymentsConfigDto,
355 #[serde(rename = "userId", default, skip_serializing_if = "Option::is_none")]
357 pub user_id: Option<String>,
358 #[serde(rename = "createdAt")]
361 pub created_at: String,
362 #[serde(rename = "updatedAt")]
365 pub updated_at: String,
366 #[serde(rename = "traceId")]
369 pub trace_id: String,
370}
371
372#[derive(Debug, Clone, Default, Serialize, Deserialize)]
374pub struct CreateCustomProvidersDto {
375 pub name: String,
378 pub description: String,
381 #[serde(rename = "paymentsUrl")]
384 pub payments_url: String,
385 #[serde(rename = "queryUrl")]
388 pub query_url: String,
389 #[serde(rename = "imageUrl")]
393 pub image_url: String,
394 #[serde(rename = "supportsSubscriptionSchedule")]
398 pub supports_subscription_schedule: bool,
399}
400
401#[derive(Debug, Clone, Default, Serialize, Deserialize)]
403pub struct CreateCustomProvidersResponseSchema {
404 pub name: String,
407 pub description: String,
410 #[serde(rename = "paymentsUrl")]
413 pub payments_url: String,
414 #[serde(rename = "queryUrl")]
417 pub query_url: String,
418 #[serde(rename = "imageUrl")]
422 pub image_url: String,
423 #[serde(rename = "_id")]
426 pub id: String,
427 #[serde(rename = "locationId")]
430 pub location_id: String,
431 #[serde(rename = "marketplaceAppId")]
434 pub marketplace_app_id: String,
435 #[serde(
437 rename = "paymentProvider",
438 default,
439 skip_serializing_if = "Option::is_none"
440 )]
441 pub payment_provider: Option<serde_json::Value>,
442 pub deleted: bool,
445 #[serde(rename = "createdAt")]
449 pub created_at: String,
450 #[serde(rename = "updatedAt")]
454 pub updated_at: String,
455 #[serde(rename = "traceId", default, skip_serializing_if = "Option::is_none")]
457 pub trace_id: Option<String>,
458}
459
460#[derive(Debug, Clone, Default, Serialize, Deserialize)]
462pub struct CreateFulfillmentDto {
463 #[serde(rename = "altId")]
466 pub alt_id: String,
467 #[serde(rename = "altType")]
470 pub alt_type: String,
471 #[serde(default, skip_serializing_if = "Vec::is_empty")]
474 pub trackings: Vec<FulfillmentTracking>,
475 #[serde(default, skip_serializing_if = "Vec::is_empty")]
478 pub items: Vec<FulfillmentItems>,
479 #[serde(rename = "notifyCustomer")]
482 pub notify_customer: bool,
483}
484
485#[derive(Debug, Clone, Default, Serialize, Deserialize)]
487pub struct CreateFulfillmentResponseDto {
488 pub status: bool,
491 pub data: FulfillmentSchema,
494}
495
496#[derive(Debug, Clone, Default, Serialize, Deserialize)]
498pub struct CreateWhiteLabelIntegrationProviderDto {
499 #[serde(rename = "altId")]
502 pub alt_id: String,
503 #[serde(rename = "altType")]
507 pub alt_type: String,
508 #[serde(rename = "uniqueName")]
512 pub unique_name: String,
513 pub title: String,
516 pub provider: String,
520 pub description: String,
523 #[serde(rename = "imageUrl")]
527 pub image_url: String,
528}
529
530#[derive(Debug, Clone, Default, Serialize, Deserialize)]
532pub struct CreateWhitelabelIntegrationResponseDto {
533 #[serde(rename = "_id")]
536 pub id: String,
537 #[serde(rename = "altId")]
540 pub alt_id: String,
541 #[serde(rename = "altType")]
544 pub alt_type: String,
545 pub title: String,
548 pub route: String,
551 pub provider: String,
554 pub description: String,
557 #[serde(rename = "imageUrl")]
560 pub image_url: String,
561 #[serde(rename = "createdAt")]
565 pub created_at: String,
566 #[serde(rename = "updatedAt")]
570 pub updated_at: String,
571}
572
573#[derive(Debug, Clone, Default, Serialize, Deserialize)]
575pub struct CustomProviderKeys {
576 #[serde(rename = "apiKey")]
579 pub api_key: String,
580 #[serde(rename = "publishableKey")]
583 pub publishable_key: String,
584}
585
586#[derive(Debug, Clone, Default, Serialize, Deserialize)]
588pub struct CustomRRuleOptionsDto {
589 #[serde(rename = "intervalType")]
593 pub interval_type: String,
594 pub interval: f64,
596 #[serde(rename = "startDate")]
599 pub start_date: String,
600 #[serde(rename = "startTime", default, skip_serializing_if = "Option::is_none")]
602 pub start_time: Option<String>,
603 #[serde(rename = "endDate", default, skip_serializing_if = "Option::is_none")]
605 pub end_date: Option<String>,
606 #[serde(rename = "endTime", default, skip_serializing_if = "Option::is_none")]
608 pub end_time: Option<String>,
609 #[serde(
611 rename = "dayOfMonth",
612 default,
613 skip_serializing_if = "Option::is_none"
614 )]
615 pub day_of_month: Option<f64>,
616 #[serde(rename = "dayOfWeek", default, skip_serializing_if = "Option::is_none")]
618 pub day_of_week: Option<String>,
619 #[serde(rename = "numOfWeek", default, skip_serializing_if = "Option::is_none")]
621 pub num_of_week: Option<f64>,
622 #[serde(
625 rename = "monthOfYear",
626 default,
627 skip_serializing_if = "Option::is_none"
628 )]
629 pub month_of_year: Option<String>,
630 #[serde(default, skip_serializing_if = "Option::is_none")]
632 pub count: Option<f64>,
633 #[serde(
635 rename = "daysBefore",
636 default,
637 skip_serializing_if = "Option::is_none"
638 )]
639 pub days_before: Option<f64>,
640}
641
642#[derive(Debug, Clone, Default, Serialize, Deserialize)]
644pub struct DefaultPriceResponseDto {
645 #[serde(rename = "_id")]
648 pub id: String,
649 #[serde(
651 rename = "membershipOffers",
652 default,
653 skip_serializing_if = "Vec::is_empty"
654 )]
655 pub membership_offers: Vec<MembershipOfferDto>,
656 #[serde(
658 rename = "variantOptionIds",
659 default,
660 skip_serializing_if = "Vec::is_empty"
661 )]
662 pub variant_option_ids: Vec<String>,
663 #[serde(
665 rename = "locationId",
666 default,
667 skip_serializing_if = "Option::is_none"
668 )]
669 pub location_id: Option<String>,
670 #[serde(default, skip_serializing_if = "Option::is_none")]
672 pub product: Option<String>,
673 #[serde(rename = "userId", default, skip_serializing_if = "Option::is_none")]
675 pub user_id: Option<String>,
676 pub name: String,
679 #[serde(rename = "type")]
683 pub type_: String,
684 pub currency: String,
687 pub amount: f64,
690 #[serde(default, skip_serializing_if = "Option::is_none")]
692 pub recurring: Option<RecurringDto>,
693 #[serde(rename = "createdAt", default, skip_serializing_if = "Option::is_none")]
696 pub created_at: Option<String>,
697 #[serde(rename = "updatedAt", default, skip_serializing_if = "Option::is_none")]
700 pub updated_at: Option<String>,
701 #[serde(
703 rename = "compareAtPrice",
704 default,
705 skip_serializing_if = "Option::is_none"
706 )]
707 pub compare_at_price: Option<f64>,
708 #[serde(
710 rename = "trackInventory",
711 default,
712 skip_serializing_if = "Option::is_none"
713 )]
714 pub track_inventory: Option<bool>,
715 #[serde(
717 rename = "availableQuantity",
718 default,
719 skip_serializing_if = "Option::is_none"
720 )]
721 pub available_quantity: Option<f64>,
722 #[serde(
724 rename = "allowOutOfStockPurchases",
725 default,
726 skip_serializing_if = "Option::is_none"
727 )]
728 pub allow_out_of_stock_purchases: Option<bool>,
729}
730
731#[derive(Debug, Clone, Default, Serialize, Deserialize)]
733pub struct DefaultProductResponseDto {
734 #[serde(rename = "_id")]
737 pub id: String,
738 #[serde(default, skip_serializing_if = "Option::is_none")]
740 pub description: Option<String>,
741 #[serde(default, skip_serializing_if = "Vec::is_empty")]
743 pub variants: Vec<ProductVariantDto>,
744 #[serde(rename = "locationId")]
747 pub location_id: String,
748 pub name: String,
751 #[serde(rename = "productType")]
754 pub product_type: String,
755 #[serde(
757 rename = "availableInStore",
758 default,
759 skip_serializing_if = "Option::is_none"
760 )]
761 pub available_in_store: Option<bool>,
762 #[serde(rename = "createdAt")]
766 pub created_at: String,
767 #[serde(rename = "updatedAt")]
771 pub updated_at: String,
772 #[serde(
774 rename = "statementDescriptor",
775 default,
776 skip_serializing_if = "Option::is_none"
777 )]
778 pub statement_descriptor: Option<String>,
779 #[serde(default, skip_serializing_if = "Option::is_none")]
781 pub image: Option<String>,
782 #[serde(
784 rename = "collectionIds",
785 default,
786 skip_serializing_if = "Vec::is_empty"
787 )]
788 pub collection_ids: Vec<String>,
789 #[serde(
791 rename = "isTaxesEnabled",
792 default,
793 skip_serializing_if = "Option::is_none"
794 )]
795 pub is_taxes_enabled: Option<bool>,
796 #[serde(default, skip_serializing_if = "Vec::is_empty")]
800 pub taxes: Vec<String>,
801 #[serde(
803 rename = "automaticTaxCategoryId",
804 default,
805 skip_serializing_if = "Option::is_none"
806 )]
807 pub automatic_tax_category_id: Option<String>,
808 #[serde(default, skip_serializing_if = "Option::is_none")]
810 pub label: Option<ProductLabelDto>,
811 #[serde(default, skip_serializing_if = "Option::is_none")]
813 pub slug: Option<String>,
814}
815
816#[derive(Debug, Clone, Default, Serialize, Deserialize)]
818pub struct DeleteCouponParams {
819 #[serde(rename = "altId")]
822 pub alt_id: String,
823 #[serde(rename = "altType")]
827 pub alt_type: String,
828 pub id: String,
831}
832
833#[derive(Debug, Clone, Default, Serialize, Deserialize)]
835pub struct DeleteCouponResponseDto {
836 pub success: bool,
839 #[serde(rename = "traceId")]
842 pub trace_id: String,
843}
844
845#[derive(Debug, Clone, Default, Serialize, Deserialize)]
847pub struct DeleteCustomProvidersConfigDto {
848 #[serde(rename = "liveMode")]
852 pub live_mode: bool,
853}
854
855#[derive(Debug, Clone, Default, Serialize, Deserialize)]
857pub struct DeleteCustomProvidersResponseSchema {
858 pub success: bool,
862}
863
864#[derive(Debug, Clone, Default, Serialize, Deserialize)]
866pub struct DisconnectCustomProvidersResponseSchema {
867 pub success: bool,
871}
872
873#[derive(Debug, Clone, Default, Serialize, Deserialize)]
875pub struct FulfilledItem {
876 #[serde(rename = "_id")]
879 pub id: String,
880 pub name: String,
883 pub product: DefaultProductResponseDto,
886 pub price: DefaultPriceResponseDto,
889 pub qty: f64,
892}
893
894#[derive(Debug, Clone, Default, Serialize, Deserialize)]
896pub struct FulfillmentItems {
897 #[serde(rename = "priceId")]
900 pub price_id: String,
901 pub qty: f64,
904}
905
906#[derive(Debug, Clone, Default, Serialize, Deserialize)]
908pub struct FulfillmentSchema {
909 #[serde(rename = "altId")]
912 pub alt_id: String,
913 #[serde(rename = "altType")]
916 pub alt_type: String,
917 #[serde(default, skip_serializing_if = "Vec::is_empty")]
920 pub trackings: Vec<FulfillmentTracking>,
921 #[serde(rename = "_id")]
924 pub id: String,
925 #[serde(default, skip_serializing_if = "Vec::is_empty")]
928 pub items: Vec<FulfilledItem>,
929 #[serde(rename = "createdAt")]
932 pub created_at: String,
933 #[serde(rename = "updatedAt")]
936 pub updated_at: String,
937}
938
939#[derive(Debug, Clone, Default, Serialize, Deserialize)]
941pub struct FulfillmentTracking {
942 #[serde(
944 rename = "trackingNumber",
945 default,
946 skip_serializing_if = "Option::is_none"
947 )]
948 pub tracking_number: Option<String>,
949 #[serde(
951 rename = "shippingCarrier",
952 default,
953 skip_serializing_if = "Option::is_none"
954 )]
955 pub shipping_carrier: Option<String>,
956 #[serde(
958 rename = "trackingUrl",
959 default,
960 skip_serializing_if = "Option::is_none"
961 )]
962 pub tracking_url: Option<String>,
963}
964
965#[derive(Debug, Clone, Default, Serialize, Deserialize)]
967pub struct GetCustomProvidersResponseSchema {
968 pub name: String,
971 pub description: String,
974 #[serde(rename = "paymentsUrl")]
977 pub payments_url: String,
978 #[serde(rename = "queryUrl")]
981 pub query_url: String,
982 #[serde(rename = "imageUrl")]
986 pub image_url: String,
987 #[serde(rename = "_id")]
990 pub id: String,
991 #[serde(rename = "locationId")]
994 pub location_id: String,
995 #[serde(rename = "marketplaceAppId")]
998 pub marketplace_app_id: String,
999 #[serde(
1001 rename = "paymentProvider",
1002 default,
1003 skip_serializing_if = "Option::is_none"
1004 )]
1005 pub payment_provider: Option<serde_json::Value>,
1006 pub deleted: bool,
1009 #[serde(rename = "createdAt")]
1013 pub created_at: String,
1014 #[serde(rename = "updatedAt")]
1018 pub updated_at: String,
1019 #[serde(rename = "traceId", default, skip_serializing_if = "Option::is_none")]
1021 pub trace_id: Option<String>,
1022}
1023
1024#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1026pub struct GetOrderResponseSchema {
1027 #[serde(rename = "_id")]
1030 pub id: String,
1031 #[serde(rename = "altId")]
1034 pub alt_id: String,
1035 #[serde(rename = "altType")]
1038 pub alt_type: String,
1039 #[serde(rename = "contactId", default, skip_serializing_if = "Option::is_none")]
1041 pub contact_id: Option<String>,
1042 #[serde(default, skip_serializing_if = "Option::is_none")]
1044 pub currency: Option<String>,
1045 #[serde(default, skip_serializing_if = "Option::is_none")]
1047 pub amount: Option<f64>,
1048 pub status: String,
1051 #[serde(rename = "liveMode", default, skip_serializing_if = "Option::is_none")]
1053 pub live_mode: Option<bool>,
1054 #[serde(rename = "createdAt")]
1058 pub created_at: String,
1059 #[serde(rename = "updatedAt")]
1063 pub updated_at: String,
1064 #[serde(
1066 rename = "fulfillmentStatus",
1067 default,
1068 skip_serializing_if = "Option::is_none"
1069 )]
1070 pub fulfillment_status: Option<String>,
1071 #[serde(
1073 rename = "contactSnapshot",
1074 default,
1075 skip_serializing_if = "Option::is_none"
1076 )]
1077 pub contact_snapshot: Option<serde_json::Value>,
1078 #[serde(
1080 rename = "amountSummary",
1081 default,
1082 skip_serializing_if = "Option::is_none"
1083 )]
1084 pub amount_summary: Option<AmountSummary>,
1085 #[serde(default, skip_serializing_if = "Option::is_none")]
1087 pub source: Option<OrderSource>,
1088 #[serde(default, skip_serializing_if = "Vec::is_empty")]
1090 pub items: Vec<String>,
1091 #[serde(default, skip_serializing_if = "Option::is_none")]
1093 pub coupon: Option<serde_json::Value>,
1094 #[serde(
1096 rename = "trackingId",
1097 default,
1098 skip_serializing_if = "Option::is_none"
1099 )]
1100 pub tracking_id: Option<String>,
1101 #[serde(default, skip_serializing_if = "Option::is_none")]
1103 pub fingerprint: Option<String>,
1104 #[serde(default, skip_serializing_if = "Option::is_none")]
1106 pub meta: Option<serde_json::Value>,
1107 #[serde(
1109 rename = "markAsTest",
1110 default,
1111 skip_serializing_if = "Option::is_none"
1112 )]
1113 pub mark_as_test: Option<bool>,
1114 #[serde(rename = "traceId", default, skip_serializing_if = "Option::is_none")]
1116 pub trace_id: Option<String>,
1117 #[serde(
1119 rename = "automaticTaxesCalculated",
1120 default,
1121 skip_serializing_if = "Option::is_none"
1122 )]
1123 pub automatic_taxes_calculated: Option<bool>,
1124 #[serde(
1126 rename = "taxCalculationProvider",
1127 default,
1128 skip_serializing_if = "Option::is_none"
1129 )]
1130 pub tax_calculation_provider: Option<serde_json::Value>,
1131 #[serde(rename = "createdBy", default, skip_serializing_if = "Option::is_none")]
1133 pub created_by: Option<String>,
1134}
1135
1136#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1138pub struct GetSubscriptionResponseSchema {
1139 #[serde(rename = "_id")]
1142 pub id: String,
1143 #[serde(rename = "altType")]
1146 pub alt_type: serde_json::Value,
1147 #[serde(rename = "altId")]
1150 pub alt_id: String,
1151 #[serde(rename = "contactId", default, skip_serializing_if = "Option::is_none")]
1153 pub contact_id: Option<String>,
1154 #[serde(
1156 rename = "contactSnapshot",
1157 default,
1158 skip_serializing_if = "Option::is_none"
1159 )]
1160 pub contact_snapshot: Option<serde_json::Value>,
1161 #[serde(default, skip_serializing_if = "Option::is_none")]
1163 pub coupon: Option<serde_json::Value>,
1164 #[serde(default, skip_serializing_if = "Option::is_none")]
1166 pub currency: Option<String>,
1167 #[serde(default, skip_serializing_if = "Option::is_none")]
1169 pub amount: Option<f64>,
1170 #[serde(default, skip_serializing_if = "Option::is_none")]
1172 pub status: Option<serde_json::Value>,
1173 #[serde(rename = "liveMode", default, skip_serializing_if = "Option::is_none")]
1175 pub live_mode: Option<bool>,
1176 #[serde(
1178 rename = "entityType",
1179 default,
1180 skip_serializing_if = "Option::is_none"
1181 )]
1182 pub entity_type: Option<String>,
1183 #[serde(rename = "entityId", default, skip_serializing_if = "Option::is_none")]
1185 pub entity_id: Option<String>,
1186 #[serde(
1188 rename = "entitySource",
1189 default,
1190 skip_serializing_if = "Option::is_none"
1191 )]
1192 pub entity_source: Option<OrderSource>,
1193 #[serde(
1195 rename = "subscriptionId",
1196 default,
1197 skip_serializing_if = "Option::is_none"
1198 )]
1199 pub subscription_id: Option<String>,
1200 #[serde(
1202 rename = "subscriptionSnapshot",
1203 default,
1204 skip_serializing_if = "Option::is_none"
1205 )]
1206 pub subscription_snapshot: Option<serde_json::Value>,
1207 #[serde(
1209 rename = "paymentProvider",
1210 default,
1211 skip_serializing_if = "Option::is_none"
1212 )]
1213 pub payment_provider: Option<serde_json::Value>,
1214 #[serde(rename = "ipAddress", default, skip_serializing_if = "Option::is_none")]
1216 pub ip_address: Option<String>,
1217 #[serde(rename = "createdAt")]
1221 pub created_at: String,
1222 #[serde(rename = "updatedAt")]
1226 pub updated_at: String,
1227 #[serde(default, skip_serializing_if = "Option::is_none")]
1229 pub meta: Option<serde_json::Value>,
1230 #[serde(
1232 rename = "markAsTest",
1233 default,
1234 skip_serializing_if = "Option::is_none"
1235 )]
1236 pub mark_as_test: Option<bool>,
1237 #[serde(default, skip_serializing_if = "Option::is_none")]
1239 pub schedule: Option<ScheduleOptionsDto>,
1240 #[serde(
1242 rename = "autoPayment",
1243 default,
1244 skip_serializing_if = "Option::is_none"
1245 )]
1246 pub auto_payment: Option<serde_json::Value>,
1247 #[serde(
1249 rename = "recurringProduct",
1250 default,
1251 skip_serializing_if = "Option::is_none"
1252 )]
1253 pub recurring_product: Option<serde_json::Value>,
1254 #[serde(
1257 rename = "canceledAt",
1258 default,
1259 skip_serializing_if = "Option::is_none"
1260 )]
1261 pub canceled_at: Option<String>,
1262 #[serde(
1264 rename = "canceledBy",
1265 default,
1266 skip_serializing_if = "Option::is_none"
1267 )]
1268 pub canceled_by: Option<String>,
1269 #[serde(rename = "traceId", default, skip_serializing_if = "Option::is_none")]
1271 pub trace_id: Option<String>,
1272 #[serde(rename = "createdBy", default, skip_serializing_if = "Option::is_none")]
1274 pub created_by: Option<String>,
1275}
1276
1277#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1279pub struct GetTxnResponseSchema {
1280 #[serde(rename = "_id")]
1283 pub id: String,
1284 #[serde(rename = "altType")]
1287 pub alt_type: String,
1288 #[serde(rename = "altId")]
1291 pub alt_id: String,
1292 #[serde(rename = "contactId", default, skip_serializing_if = "Option::is_none")]
1294 pub contact_id: Option<String>,
1295 #[serde(
1297 rename = "contactSnapshot",
1298 default,
1299 skip_serializing_if = "Option::is_none"
1300 )]
1301 pub contact_snapshot: Option<serde_json::Value>,
1302 #[serde(default, skip_serializing_if = "Option::is_none")]
1304 pub currency: Option<String>,
1305 #[serde(default, skip_serializing_if = "Option::is_none")]
1307 pub amount: Option<f64>,
1308 #[serde(default, skip_serializing_if = "Option::is_none")]
1310 pub status: Option<serde_json::Value>,
1311 #[serde(rename = "liveMode", default, skip_serializing_if = "Option::is_none")]
1313 pub live_mode: Option<bool>,
1314 #[serde(rename = "createdAt")]
1318 pub created_at: String,
1319 #[serde(rename = "updatedAt")]
1323 pub updated_at: String,
1324 #[serde(
1326 rename = "entityType",
1327 default,
1328 skip_serializing_if = "Option::is_none"
1329 )]
1330 pub entity_type: Option<String>,
1331 #[serde(rename = "entityId", default, skip_serializing_if = "Option::is_none")]
1333 pub entity_id: Option<String>,
1334 #[serde(
1336 rename = "entitySource",
1337 default,
1338 skip_serializing_if = "Option::is_none"
1339 )]
1340 pub entity_source: Option<OrderSource>,
1341 #[serde(rename = "chargeId", default, skip_serializing_if = "Option::is_none")]
1343 pub charge_id: Option<String>,
1344 #[serde(
1346 rename = "chargeSnapshot",
1347 default,
1348 skip_serializing_if = "Option::is_none"
1349 )]
1350 pub charge_snapshot: Option<serde_json::Value>,
1351 #[serde(rename = "invoiceId", default, skip_serializing_if = "Option::is_none")]
1353 pub invoice_id: Option<String>,
1354 #[serde(
1356 rename = "subscriptionId",
1357 default,
1358 skip_serializing_if = "Option::is_none"
1359 )]
1360 pub subscription_id: Option<String>,
1361 #[serde(
1363 rename = "paymentProvider",
1364 default,
1365 skip_serializing_if = "Option::is_none"
1366 )]
1367 pub payment_provider: Option<serde_json::Value>,
1368 #[serde(rename = "ipAddress", default, skip_serializing_if = "Option::is_none")]
1370 pub ip_address: Option<String>,
1371 #[serde(default, skip_serializing_if = "Option::is_none")]
1373 pub meta: Option<serde_json::Value>,
1374 #[serde(
1376 rename = "markAsTest",
1377 default,
1378 skip_serializing_if = "Option::is_none"
1379 )]
1380 pub mark_as_test: Option<bool>,
1381 #[serde(rename = "isParent", default, skip_serializing_if = "Option::is_none")]
1383 pub is_parent: Option<bool>,
1384 #[serde(
1386 rename = "amountRefunded",
1387 default,
1388 skip_serializing_if = "Option::is_none"
1389 )]
1390 pub amount_refunded: Option<f64>,
1391 #[serde(rename = "receiptId", default, skip_serializing_if = "Option::is_none")]
1393 pub receipt_id: Option<String>,
1394 #[serde(rename = "qboSynced", default, skip_serializing_if = "Option::is_none")]
1396 pub qbo_synced: Option<bool>,
1397 #[serde(
1399 rename = "qboResponse",
1400 default,
1401 skip_serializing_if = "Option::is_none"
1402 )]
1403 pub qbo_response: Option<serde_json::Value>,
1404 #[serde(rename = "traceId", default, skip_serializing_if = "Option::is_none")]
1406 pub trace_id: Option<String>,
1407 #[serde(
1409 rename = "mergedFromContactId",
1410 default,
1411 skip_serializing_if = "Option::is_none"
1412 )]
1413 pub merged_from_contact_id: Option<String>,
1414 #[serde(rename = "createdBy", default, skip_serializing_if = "Option::is_none")]
1416 pub created_by: Option<String>,
1417}
1418
1419#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1421pub struct IntegrationProviderSchema {
1422 #[serde(rename = "_id")]
1425 pub id: String,
1426 #[serde(rename = "altId")]
1429 pub alt_id: String,
1430 #[serde(rename = "altType")]
1433 pub alt_type: String,
1434 pub title: String,
1437 pub route: String,
1440 pub provider: String,
1443 pub description: String,
1446 #[serde(rename = "imageUrl")]
1449 pub image_url: String,
1450 #[serde(rename = "createdAt")]
1454 pub created_at: String,
1455 #[serde(rename = "updatedAt")]
1459 pub updated_at: String,
1460}
1461
1462#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1464pub struct ListCouponsResponseDto {
1465 #[serde(default, skip_serializing_if = "Vec::is_empty")]
1468 pub data: Vec<CouponDto>,
1469 #[serde(rename = "totalCount")]
1472 pub total_count: f64,
1473 #[serde(rename = "traceId")]
1476 pub trace_id: String,
1477}
1478
1479#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1481pub struct ListFulfillmentResponseDto {
1482 pub status: bool,
1485 #[serde(default, skip_serializing_if = "Vec::is_empty")]
1488 pub data: Vec<FulfillmentSchema>,
1489}
1490
1491#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1493pub struct ListOrdersResponseDto {
1494 #[serde(default, skip_serializing_if = "Vec::is_empty")]
1497 pub data: Vec<OrderResponseSchema>,
1498 #[serde(rename = "totalCount")]
1501 pub total_count: f64,
1502}
1503
1504#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1506pub struct ListSubscriptionResponseDto {
1507 #[serde(default, skip_serializing_if = "Vec::is_empty")]
1510 pub data: Vec<SubscriptionResponseSchema>,
1511 #[serde(rename = "totalCount")]
1514 pub total_count: f64,
1515}
1516
1517#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1519pub struct ListTxnsResponseDto {
1520 #[serde(default, skip_serializing_if = "Vec::is_empty")]
1523 pub data: Vec<TxnResponseSchema>,
1524 #[serde(rename = "totalCount")]
1527 pub total_count: f64,
1528}
1529
1530#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1532pub struct ListWhitelabelIntegrationProviderResponseDto {
1533 pub providers: IntegrationProviderSchema,
1536}
1537
1538#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1540pub struct MembershipOfferDto {
1541 pub label: String,
1544 pub value: String,
1547 #[serde(rename = "_id")]
1550 pub id: String,
1551}
1552
1553#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1555pub struct OrderResponseSchema {
1556 #[serde(rename = "_id")]
1559 pub id: String,
1560 #[serde(rename = "altId")]
1563 pub alt_id: String,
1564 #[serde(rename = "altType")]
1567 pub alt_type: String,
1568 #[serde(rename = "contactId", default, skip_serializing_if = "Option::is_none")]
1570 pub contact_id: Option<String>,
1571 #[serde(
1573 rename = "contactName",
1574 default,
1575 skip_serializing_if = "Option::is_none"
1576 )]
1577 pub contact_name: Option<String>,
1578 #[serde(
1580 rename = "contactEmail",
1581 default,
1582 skip_serializing_if = "Option::is_none"
1583 )]
1584 pub contact_email: Option<String>,
1585 #[serde(default, skip_serializing_if = "Option::is_none")]
1587 pub currency: Option<String>,
1588 #[serde(default, skip_serializing_if = "Option::is_none")]
1590 pub amount: Option<f64>,
1591 #[serde(default, skip_serializing_if = "Option::is_none")]
1593 pub subtotal: Option<f64>,
1594 #[serde(default, skip_serializing_if = "Option::is_none")]
1596 pub discount: Option<f64>,
1597 pub status: String,
1600 #[serde(rename = "liveMode", default, skip_serializing_if = "Option::is_none")]
1602 pub live_mode: Option<bool>,
1603 #[serde(
1605 rename = "totalProducts",
1606 default,
1607 skip_serializing_if = "Option::is_none"
1608 )]
1609 pub total_products: Option<f64>,
1610 #[serde(rename = "sourceType")]
1613 pub source_type: String,
1614 #[serde(
1616 rename = "sourceName",
1617 default,
1618 skip_serializing_if = "Option::is_none"
1619 )]
1620 pub source_name: Option<String>,
1621 #[serde(rename = "sourceId", default, skip_serializing_if = "Option::is_none")]
1623 pub source_id: Option<String>,
1624 #[serde(
1626 rename = "sourceMeta",
1627 default,
1628 skip_serializing_if = "Option::is_none"
1629 )]
1630 pub source_meta: Option<serde_json::Value>,
1631 #[serde(
1633 rename = "couponCode",
1634 default,
1635 skip_serializing_if = "Option::is_none"
1636 )]
1637 pub coupon_code: Option<String>,
1638 #[serde(rename = "createdAt")]
1642 pub created_at: String,
1643 #[serde(rename = "updatedAt")]
1647 pub updated_at: String,
1648 #[serde(
1650 rename = "sourceSubType",
1651 default,
1652 skip_serializing_if = "Option::is_none"
1653 )]
1654 pub source_sub_type: Option<String>,
1655 #[serde(
1657 rename = "fulfillmentStatus",
1658 default,
1659 skip_serializing_if = "Option::is_none"
1660 )]
1661 pub fulfillment_status: Option<String>,
1662 #[serde(
1664 rename = "onetimeProducts",
1665 default,
1666 skip_serializing_if = "Option::is_none"
1667 )]
1668 pub onetime_products: Option<f64>,
1669 #[serde(
1671 rename = "recurringProducts",
1672 default,
1673 skip_serializing_if = "Option::is_none"
1674 )]
1675 pub recurring_products: Option<f64>,
1676 #[serde(rename = "createdBy", default, skip_serializing_if = "Option::is_none")]
1678 pub created_by: Option<String>,
1679}
1680
1681#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1683pub struct OrderSource {
1684 #[serde(rename = "type")]
1689 pub type_: String,
1690 #[serde(rename = "subType", default, skip_serializing_if = "Option::is_none")]
1694 pub sub_type: Option<String>,
1695 pub id: String,
1697 #[serde(default, skip_serializing_if = "Option::is_none")]
1698 pub name: Option<String>,
1699 #[serde(default, skip_serializing_if = "Option::is_none")]
1700 pub meta: Option<serde_json::Value>,
1701}
1702
1703#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1705pub struct PostRecordOrderPaymentBody {
1706 #[serde(rename = "altId")]
1709 pub alt_id: String,
1710 #[serde(rename = "altType")]
1714 pub alt_type: String,
1715 pub mode: String,
1719 #[serde(default, skip_serializing_if = "Option::is_none")]
1721 pub card: Option<CardDto>,
1722 #[serde(default, skip_serializing_if = "Option::is_none")]
1724 pub cheque: Option<ChequeDto>,
1725 #[serde(default, skip_serializing_if = "Option::is_none")]
1727 pub notes: Option<String>,
1728 #[serde(default, skip_serializing_if = "Option::is_none")]
1730 pub amount: Option<f64>,
1731 #[serde(default, skip_serializing_if = "Option::is_none")]
1733 pub meta: Option<serde_json::Value>,
1734 #[serde(
1736 rename = "isPartialPayment",
1737 default,
1738 skip_serializing_if = "Option::is_none"
1739 )]
1740 pub is_partial_payment: Option<bool>,
1741}
1742
1743#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1745pub struct PostRecordOrderPaymentResponse {
1746 pub success: bool,
1749}
1750
1751#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1753pub struct ProductLabelDto {
1754 pub title: String,
1757 #[serde(rename = "startDate", default, skip_serializing_if = "Option::is_none")]
1759 pub start_date: Option<String>,
1760 #[serde(rename = "endDate", default, skip_serializing_if = "Option::is_none")]
1762 pub end_date: Option<String>,
1763}
1764
1765#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1767pub struct ProductVariantDto {
1768 pub id: String,
1771 pub name: String,
1774 #[serde(default, skip_serializing_if = "Vec::is_empty")]
1777 pub options: Vec<ProductVariantOptionDto>,
1778}
1779
1780#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1782pub struct ProductVariantOptionDto {
1783 pub id: String,
1786 pub name: String,
1789}
1790
1791#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1793pub struct RecurringDto {
1794 pub interval: String,
1798 #[serde(rename = "intervalCount")]
1801 pub interval_count: f64,
1802}
1803
1804#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1806pub struct ScheduleOptionsDto {
1807 #[serde(rename = "executeAt", default, skip_serializing_if = "Option::is_none")]
1808 pub execute_at: Option<String>,
1809 #[serde(default, skip_serializing_if = "Option::is_none")]
1810 pub rrule: Option<CustomRRuleOptionsDto>,
1811}
1812
1813#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1815pub struct SubscriptionResponseSchema {
1816 #[serde(rename = "_id")]
1819 pub id: String,
1820 #[serde(rename = "altId")]
1823 pub alt_id: String,
1824 #[serde(rename = "altType")]
1828 pub alt_type: String,
1829 #[serde(rename = "contactId", default, skip_serializing_if = "Option::is_none")]
1831 pub contact_id: Option<String>,
1832 #[serde(
1834 rename = "contactName",
1835 default,
1836 skip_serializing_if = "Option::is_none"
1837 )]
1838 pub contact_name: Option<String>,
1839 #[serde(
1841 rename = "contactEmail",
1842 default,
1843 skip_serializing_if = "Option::is_none"
1844 )]
1845 pub contact_email: Option<String>,
1846 #[serde(default, skip_serializing_if = "Option::is_none")]
1848 pub currency: Option<String>,
1849 #[serde(default, skip_serializing_if = "Option::is_none")]
1851 pub amount: Option<f64>,
1852 pub status: serde_json::Value,
1855 #[serde(rename = "liveMode", default, skip_serializing_if = "Option::is_none")]
1857 pub live_mode: Option<bool>,
1858 #[serde(
1860 rename = "entityType",
1861 default,
1862 skip_serializing_if = "Option::is_none"
1863 )]
1864 pub entity_type: Option<String>,
1865 #[serde(rename = "entityId", default, skip_serializing_if = "Option::is_none")]
1867 pub entity_id: Option<String>,
1868 #[serde(rename = "entitySourceType")]
1871 pub entity_source_type: String,
1872 #[serde(
1874 rename = "entitySourceName",
1875 default,
1876 skip_serializing_if = "Option::is_none"
1877 )]
1878 pub entity_source_name: Option<String>,
1879 #[serde(
1881 rename = "entitySourceId",
1882 default,
1883 skip_serializing_if = "Option::is_none"
1884 )]
1885 pub entity_source_id: Option<String>,
1886 #[serde(
1888 rename = "entitySourceMeta",
1889 default,
1890 skip_serializing_if = "Option::is_none"
1891 )]
1892 pub entity_source_meta: Option<serde_json::Value>,
1893 #[serde(
1895 rename = "subscriptionId",
1896 default,
1897 skip_serializing_if = "Option::is_none"
1898 )]
1899 pub subscription_id: Option<String>,
1900 #[serde(
1902 rename = "subscriptionSnapshot",
1903 default,
1904 skip_serializing_if = "Option::is_none"
1905 )]
1906 pub subscription_snapshot: Option<serde_json::Value>,
1907 #[serde(
1909 rename = "paymentProviderType",
1910 default,
1911 skip_serializing_if = "Option::is_none"
1912 )]
1913 pub payment_provider_type: Option<String>,
1914 #[serde(
1916 rename = "paymentProviderConnectedAccount",
1917 default,
1918 skip_serializing_if = "Option::is_none"
1919 )]
1920 pub payment_provider_connected_account: Option<String>,
1921 #[serde(rename = "ipAddress", default, skip_serializing_if = "Option::is_none")]
1923 pub ip_address: Option<String>,
1924 #[serde(rename = "createdAt")]
1928 pub created_at: String,
1929 #[serde(rename = "updatedAt")]
1933 pub updated_at: String,
1934 #[serde(rename = "createdBy", default, skip_serializing_if = "Option::is_none")]
1936 pub created_by: Option<String>,
1937}
1938
1939#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1941pub struct TxnResponseSchema {
1942 #[serde(rename = "_id")]
1945 pub id: String,
1946 #[serde(rename = "altId")]
1949 pub alt_id: String,
1950 #[serde(rename = "altType")]
1953 pub alt_type: String,
1954 #[serde(rename = "contactId", default, skip_serializing_if = "Option::is_none")]
1956 pub contact_id: Option<String>,
1957 #[serde(
1959 rename = "mergedFromContactId",
1960 default,
1961 skip_serializing_if = "Option::is_none"
1962 )]
1963 pub merged_from_contact_id: Option<String>,
1964 #[serde(
1966 rename = "contactName",
1967 default,
1968 skip_serializing_if = "Option::is_none"
1969 )]
1970 pub contact_name: Option<String>,
1971 #[serde(
1973 rename = "contactEmail",
1974 default,
1975 skip_serializing_if = "Option::is_none"
1976 )]
1977 pub contact_email: Option<String>,
1978 #[serde(default, skip_serializing_if = "Option::is_none")]
1980 pub currency: Option<String>,
1981 #[serde(default, skip_serializing_if = "Option::is_none")]
1983 pub amount: Option<f64>,
1984 pub status: serde_json::Value,
1987 #[serde(rename = "liveMode", default, skip_serializing_if = "Option::is_none")]
1989 pub live_mode: Option<bool>,
1990 #[serde(
1992 rename = "entityType",
1993 default,
1994 skip_serializing_if = "Option::is_none"
1995 )]
1996 pub entity_type: Option<String>,
1997 #[serde(rename = "entityId", default, skip_serializing_if = "Option::is_none")]
1999 pub entity_id: Option<String>,
2000 #[serde(rename = "entitySourceType")]
2003 pub entity_source_type: String,
2004 #[serde(
2006 rename = "entitySourceSubType",
2007 default,
2008 skip_serializing_if = "Option::is_none"
2009 )]
2010 pub entity_source_sub_type: Option<String>,
2011 #[serde(
2013 rename = "entitySourceName",
2014 default,
2015 skip_serializing_if = "Option::is_none"
2016 )]
2017 pub entity_source_name: Option<String>,
2018 #[serde(
2020 rename = "entitySourceId",
2021 default,
2022 skip_serializing_if = "Option::is_none"
2023 )]
2024 pub entity_source_id: Option<String>,
2025 #[serde(
2027 rename = "entitySourceMeta",
2028 default,
2029 skip_serializing_if = "Option::is_none"
2030 )]
2031 pub entity_source_meta: Option<serde_json::Value>,
2032 #[serde(
2034 rename = "subscriptionId",
2035 default,
2036 skip_serializing_if = "Option::is_none"
2037 )]
2038 pub subscription_id: Option<String>,
2039 #[serde(rename = "chargeId", default, skip_serializing_if = "Option::is_none")]
2041 pub charge_id: Option<String>,
2042 #[serde(
2044 rename = "chargeSnapshot",
2045 default,
2046 skip_serializing_if = "Option::is_none"
2047 )]
2048 pub charge_snapshot: Option<serde_json::Value>,
2049 #[serde(
2051 rename = "paymentProviderType",
2052 default,
2053 skip_serializing_if = "Option::is_none"
2054 )]
2055 pub payment_provider_type: Option<String>,
2056 #[serde(
2058 rename = "paymentProviderConnectedAccount",
2059 default,
2060 skip_serializing_if = "Option::is_none"
2061 )]
2062 pub payment_provider_connected_account: Option<String>,
2063 #[serde(rename = "ipAddress", default, skip_serializing_if = "Option::is_none")]
2065 pub ip_address: Option<String>,
2066 #[serde(rename = "createdAt")]
2070 pub created_at: String,
2071 #[serde(rename = "updatedAt")]
2075 pub updated_at: String,
2076 #[serde(
2078 rename = "amountRefunded",
2079 default,
2080 skip_serializing_if = "Option::is_none"
2081 )]
2082 pub amount_refunded: Option<f64>,
2083 #[serde(
2085 rename = "paymentMethod",
2086 default,
2087 skip_serializing_if = "Option::is_none"
2088 )]
2089 pub payment_method: Option<serde_json::Value>,
2090 #[serde(rename = "fulfilledAt")]
2094 pub fulfilled_at: String,
2095 #[serde(rename = "createdBy", default, skip_serializing_if = "Option::is_none")]
2097 pub created_by: Option<String>,
2098}
2099
2100#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2102pub struct UpdateCouponParams {
2103 #[serde(rename = "altId")]
2106 pub alt_id: String,
2107 #[serde(rename = "altType")]
2111 pub alt_type: String,
2112 pub name: String,
2115 pub code: String,
2118 #[serde(rename = "discountType")]
2122 pub discount_type: String,
2123 #[serde(rename = "discountValue")]
2126 pub discount_value: f64,
2127 #[serde(rename = "startDate")]
2130 pub start_date: String,
2131 #[serde(rename = "endDate", default, skip_serializing_if = "Option::is_none")]
2133 pub end_date: Option<String>,
2134 #[serde(
2136 rename = "usageLimit",
2137 default,
2138 skip_serializing_if = "Option::is_none"
2139 )]
2140 pub usage_limit: Option<f64>,
2141 #[serde(rename = "productIds", default, skip_serializing_if = "Vec::is_empty")]
2143 pub product_ids: Vec<String>,
2144 #[serde(
2146 rename = "applyToFuturePayments",
2147 default,
2148 skip_serializing_if = "Option::is_none"
2149 )]
2150 pub apply_to_future_payments: Option<bool>,
2151 #[serde(
2154 rename = "applyToFuturePaymentsConfig",
2155 default,
2156 skip_serializing_if = "Option::is_none"
2157 )]
2158 pub apply_to_future_payments_config: Option<ApplyToFuturePaymentsConfig>,
2159 #[serde(
2161 rename = "limitPerCustomer",
2162 default,
2163 skip_serializing_if = "Option::is_none"
2164 )]
2165 pub limit_per_customer: Option<bool>,
2166 pub id: String,
2169}
2170
2171#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2173pub struct UpdateCustomProviderCapabilitiesDto {
2174 #[serde(rename = "supportsSubscriptionSchedules")]
2177 pub supports_subscription_schedules: bool,
2178 #[serde(rename = "companyId", default, skip_serializing_if = "Option::is_none")]
2180 pub company_id: Option<String>,
2181 #[serde(
2183 rename = "locationId",
2184 default,
2185 skip_serializing_if = "Option::is_none"
2186 )]
2187 pub location_id: Option<String>,
2188}
2189
2190#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2192pub struct UpdateCustomProviderCapabilitiesResponseSchema {
2193 pub success: bool,
2197}