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 #[serde(default, skip_serializing_if = "Option::is_none")]
28 pub subtotal: Option<f64>,
29 #[serde(default, skip_serializing_if = "Option::is_none")]
31 pub discount: Option<f64>,
32}
33
34#[derive(Debug, Clone, Default, Serialize, Deserialize)]
36pub struct ApplyToFuturePaymentsConfig {
37 #[serde(rename = "type")]
41 pub type_: String,
42 pub duration: f64,
45 #[serde(rename = "durationType")]
49 pub duration_type: String,
50}
51
52#[derive(Debug, Clone, Default, Serialize, Deserialize)]
54pub struct ApplyToFuturePaymentsConfigDto {
55 #[serde(rename = "type", default, skip_serializing_if = "Option::is_none")]
60 pub type_: Option<String>,
61 #[serde(default, skip_serializing_if = "Option::is_none")]
63 pub duration: Option<f64>,
64 #[serde(
66 rename = "durationType",
67 default,
68 skip_serializing_if = "Option::is_none"
69 )]
70 pub duration_type: Option<String>,
71}
72
73#[derive(Debug, Clone, Default, Serialize, Deserialize)]
75pub struct CardDto {
76 #[serde(rename = "type")]
79 pub type_: String,
80 pub last4: String,
83}
84
85#[derive(Debug, Clone, Default, Serialize, Deserialize)]
87pub struct ChequeDto {
88 pub number: String,
91}
92
93#[derive(Debug, Clone, Default, Serialize, Deserialize)]
95pub struct ConnectCustomProvidersConfigDto {
96 pub live: CustomProviderKeys,
99 pub test: CustomProviderKeys,
102}
103
104#[derive(Debug, Clone, Default, Serialize, Deserialize)]
106pub struct ConnectCustomProvidersResponseSchema {
107 #[serde(default, skip_serializing_if = "Option::is_none")]
111 pub name: Option<String>,
112 #[serde(default, skip_serializing_if = "Option::is_none")]
116 pub description: Option<String>,
117 #[serde(
121 rename = "paymentsUrl",
122 default,
123 skip_serializing_if = "Option::is_none"
124 )]
125 pub payments_url: Option<String>,
126 #[serde(rename = "queryUrl", default, skip_serializing_if = "Option::is_none")]
130 pub query_url: Option<String>,
131 #[serde(rename = "imageUrl", default, skip_serializing_if = "Option::is_none")]
136 pub image_url: Option<String>,
137 #[serde(rename = "_id", default, skip_serializing_if = "Option::is_none")]
141 pub id: Option<String>,
142 #[serde(
146 rename = "locationId",
147 default,
148 skip_serializing_if = "Option::is_none"
149 )]
150 pub location_id: Option<String>,
151 #[serde(
155 rename = "marketplaceAppId",
156 default,
157 skip_serializing_if = "Option::is_none"
158 )]
159 pub marketplace_app_id: Option<String>,
160 #[serde(
162 rename = "paymentProvider",
163 default,
164 skip_serializing_if = "Option::is_none"
165 )]
166 pub payment_provider: Option<serde_json::Value>,
167 #[serde(default, skip_serializing_if = "Option::is_none")]
171 pub deleted: Option<bool>,
172 #[serde(rename = "createdAt", default, skip_serializing_if = "Option::is_none")]
177 pub created_at: Option<String>,
178 #[serde(rename = "updatedAt", default, skip_serializing_if = "Option::is_none")]
183 pub updated_at: Option<String>,
184 #[serde(rename = "traceId", default, skip_serializing_if = "Option::is_none")]
186 pub trace_id: Option<String>,
187}
188
189#[derive(Debug, Clone, Default, Serialize, Deserialize)]
191pub struct CouponDto {
192 #[serde(rename = "_id", default, skip_serializing_if = "Option::is_none")]
196 pub id: Option<String>,
197 #[serde(
201 rename = "usageCount",
202 default,
203 skip_serializing_if = "Option::is_none"
204 )]
205 pub usage_count: Option<f64>,
206 #[serde(
210 rename = "limitPerCustomer",
211 default,
212 skip_serializing_if = "Option::is_none"
213 )]
214 pub limit_per_customer: Option<f64>,
215 #[serde(rename = "altId", default, skip_serializing_if = "Option::is_none")]
219 pub alt_id: Option<String>,
220 #[serde(rename = "altType", default, skip_serializing_if = "Option::is_none")]
224 pub alt_type: Option<String>,
225 #[serde(default, skip_serializing_if = "Option::is_none")]
229 pub name: Option<String>,
230 #[serde(default, skip_serializing_if = "Option::is_none")]
234 pub code: Option<String>,
235 #[serde(
240 rename = "discountType",
241 default,
242 skip_serializing_if = "Option::is_none"
243 )]
244 pub discount_type: Option<String>,
245 #[serde(
249 rename = "discountValue",
250 default,
251 skip_serializing_if = "Option::is_none"
252 )]
253 pub discount_value: Option<f64>,
254 #[serde(default, skip_serializing_if = "Option::is_none")]
259 pub status: Option<String>,
260 #[serde(rename = "startDate", default, skip_serializing_if = "Option::is_none")]
264 pub start_date: Option<String>,
265 #[serde(rename = "endDate", default, skip_serializing_if = "Option::is_none")]
267 pub end_date: Option<String>,
268 #[serde(
272 rename = "applyToFuturePayments",
273 default,
274 skip_serializing_if = "Option::is_none"
275 )]
276 pub apply_to_future_payments: Option<bool>,
277 #[serde(
281 rename = "applyToFuturePaymentsConfig",
282 default,
283 skip_serializing_if = "Option::is_none"
284 )]
285 pub apply_to_future_payments_config: Option<ApplyToFuturePaymentsConfigDto>,
286 #[serde(rename = "userId", default, skip_serializing_if = "Option::is_none")]
288 pub user_id: Option<String>,
289 #[serde(rename = "createdAt", default, skip_serializing_if = "Option::is_none")]
293 pub created_at: Option<String>,
294 #[serde(rename = "updatedAt", default, skip_serializing_if = "Option::is_none")]
298 pub updated_at: Option<String>,
299}
300
301#[derive(Debug, Clone, Default, Serialize, Deserialize)]
303pub struct CreateCouponParams {
304 #[serde(rename = "altId")]
307 pub alt_id: String,
308 #[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 #[serde(rename = "startDate")]
331 pub start_date: String,
332 #[serde(rename = "endDate", default, skip_serializing_if = "Option::is_none")]
334 pub end_date: Option<String>,
335 #[serde(
337 rename = "usageLimit",
338 default,
339 skip_serializing_if = "Option::is_none"
340 )]
341 pub usage_limit: Option<f64>,
342 #[serde(rename = "productIds", default, skip_serializing_if = "Vec::is_empty")]
344 pub product_ids: Vec<String>,
345 #[serde(
347 rename = "applyToFuturePayments",
348 default,
349 skip_serializing_if = "Option::is_none"
350 )]
351 pub apply_to_future_payments: Option<bool>,
352 #[serde(
355 rename = "applyToFuturePaymentsConfig",
356 default,
357 skip_serializing_if = "Option::is_none"
358 )]
359 pub apply_to_future_payments_config: Option<ApplyToFuturePaymentsConfig>,
360 #[serde(
362 rename = "limitPerCustomer",
363 default,
364 skip_serializing_if = "Option::is_none"
365 )]
366 pub limit_per_customer: Option<bool>,
367}
368
369#[derive(Debug, Clone, Default, Serialize, Deserialize)]
371pub struct CreateCouponResponseDto {
372 #[serde(rename = "_id", default, skip_serializing_if = "Option::is_none")]
376 pub id: Option<String>,
377 #[serde(
381 rename = "usageCount",
382 default,
383 skip_serializing_if = "Option::is_none"
384 )]
385 pub usage_count: Option<f64>,
386 #[serde(
390 rename = "limitPerCustomer",
391 default,
392 skip_serializing_if = "Option::is_none"
393 )]
394 pub limit_per_customer: Option<f64>,
395 #[serde(rename = "altId", default, skip_serializing_if = "Option::is_none")]
399 pub alt_id: Option<String>,
400 #[serde(rename = "altType", default, skip_serializing_if = "Option::is_none")]
404 pub alt_type: Option<String>,
405 #[serde(default, skip_serializing_if = "Option::is_none")]
409 pub name: Option<String>,
410 #[serde(default, skip_serializing_if = "Option::is_none")]
414 pub code: Option<String>,
415 #[serde(
420 rename = "discountType",
421 default,
422 skip_serializing_if = "Option::is_none"
423 )]
424 pub discount_type: Option<String>,
425 #[serde(
429 rename = "discountValue",
430 default,
431 skip_serializing_if = "Option::is_none"
432 )]
433 pub discount_value: Option<f64>,
434 #[serde(default, skip_serializing_if = "Option::is_none")]
439 pub status: Option<String>,
440 #[serde(rename = "startDate", default, skip_serializing_if = "Option::is_none")]
444 pub start_date: Option<String>,
445 #[serde(rename = "endDate", default, skip_serializing_if = "Option::is_none")]
447 pub end_date: Option<String>,
448 #[serde(
452 rename = "applyToFuturePayments",
453 default,
454 skip_serializing_if = "Option::is_none"
455 )]
456 pub apply_to_future_payments: Option<bool>,
457 #[serde(
461 rename = "applyToFuturePaymentsConfig",
462 default,
463 skip_serializing_if = "Option::is_none"
464 )]
465 pub apply_to_future_payments_config: Option<ApplyToFuturePaymentsConfigDto>,
466 #[serde(rename = "userId", default, skip_serializing_if = "Option::is_none")]
468 pub user_id: Option<String>,
469 #[serde(rename = "createdAt", default, skip_serializing_if = "Option::is_none")]
473 pub created_at: Option<String>,
474 #[serde(rename = "updatedAt", default, skip_serializing_if = "Option::is_none")]
478 pub updated_at: Option<String>,
479 #[serde(rename = "traceId", default, skip_serializing_if = "Option::is_none")]
483 pub trace_id: Option<String>,
484}
485
486#[derive(Debug, Clone, Default, Serialize, Deserialize)]
488pub struct CreateCustomProvidersDto {
489 pub name: String,
492 pub description: String,
495 #[serde(rename = "paymentsUrl")]
498 pub payments_url: String,
499 #[serde(rename = "queryUrl")]
502 pub query_url: String,
503 #[serde(rename = "imageUrl")]
507 pub image_url: String,
508 #[serde(rename = "supportsSubscriptionSchedule")]
512 pub supports_subscription_schedule: bool,
513}
514
515#[derive(Debug, Clone, Default, Serialize, Deserialize)]
517pub struct CreateCustomProvidersResponseSchema {
518 #[serde(default, skip_serializing_if = "Option::is_none")]
522 pub name: Option<String>,
523 #[serde(default, skip_serializing_if = "Option::is_none")]
527 pub description: Option<String>,
528 #[serde(
532 rename = "paymentsUrl",
533 default,
534 skip_serializing_if = "Option::is_none"
535 )]
536 pub payments_url: Option<String>,
537 #[serde(rename = "queryUrl", default, skip_serializing_if = "Option::is_none")]
541 pub query_url: Option<String>,
542 #[serde(rename = "imageUrl", default, skip_serializing_if = "Option::is_none")]
547 pub image_url: Option<String>,
548 #[serde(rename = "_id", default, skip_serializing_if = "Option::is_none")]
552 pub id: Option<String>,
553 #[serde(
557 rename = "locationId",
558 default,
559 skip_serializing_if = "Option::is_none"
560 )]
561 pub location_id: Option<String>,
562 #[serde(
566 rename = "marketplaceAppId",
567 default,
568 skip_serializing_if = "Option::is_none"
569 )]
570 pub marketplace_app_id: Option<String>,
571 #[serde(
573 rename = "paymentProvider",
574 default,
575 skip_serializing_if = "Option::is_none"
576 )]
577 pub payment_provider: Option<serde_json::Value>,
578 #[serde(default, skip_serializing_if = "Option::is_none")]
582 pub deleted: Option<bool>,
583 #[serde(rename = "createdAt", default, skip_serializing_if = "Option::is_none")]
588 pub created_at: Option<String>,
589 #[serde(rename = "updatedAt", default, skip_serializing_if = "Option::is_none")]
594 pub updated_at: Option<String>,
595 #[serde(rename = "traceId", default, skip_serializing_if = "Option::is_none")]
597 pub trace_id: Option<String>,
598}
599
600#[derive(Debug, Clone, Default, Serialize, Deserialize)]
602pub struct CreateFulfillmentDto {
603 #[serde(rename = "altId")]
606 pub alt_id: String,
607 #[serde(rename = "altType")]
610 pub alt_type: String,
611 #[serde(default, skip_serializing_if = "Vec::is_empty")]
614 pub trackings: Vec<FulfillmentTracking>,
615 #[serde(default, skip_serializing_if = "Vec::is_empty")]
618 pub items: Vec<FulfillmentItems>,
619 #[serde(rename = "notifyCustomer")]
622 pub notify_customer: bool,
623}
624
625#[derive(Debug, Clone, Default, Serialize, Deserialize)]
627pub struct CreateFulfillmentResponseDto {
628 #[serde(default, skip_serializing_if = "Option::is_none")]
632 pub status: Option<bool>,
633 #[serde(default, skip_serializing_if = "Option::is_none")]
637 pub data: Option<FulfillmentSchema>,
638}
639
640#[derive(Debug, Clone, Default, Serialize, Deserialize)]
642pub struct CreateWhiteLabelIntegrationProviderDto {
643 #[serde(rename = "altId")]
646 pub alt_id: String,
647 #[serde(rename = "altType")]
651 pub alt_type: String,
652 #[serde(rename = "uniqueName")]
656 pub unique_name: String,
657 pub title: String,
660 pub provider: String,
664 pub description: String,
667 #[serde(rename = "imageUrl")]
671 pub image_url: String,
672}
673
674#[derive(Debug, Clone, Default, Serialize, Deserialize)]
676pub struct CreateWhitelabelIntegrationResponseDto {
677 #[serde(rename = "_id", default, skip_serializing_if = "Option::is_none")]
681 pub id: Option<String>,
682 #[serde(rename = "altId", default, skip_serializing_if = "Option::is_none")]
686 pub alt_id: Option<String>,
687 #[serde(rename = "altType", default, skip_serializing_if = "Option::is_none")]
691 pub alt_type: Option<String>,
692 #[serde(default, skip_serializing_if = "Option::is_none")]
696 pub title: Option<String>,
697 #[serde(default, skip_serializing_if = "Option::is_none")]
701 pub route: Option<String>,
702 #[serde(default, skip_serializing_if = "Option::is_none")]
706 pub provider: Option<String>,
707 #[serde(default, skip_serializing_if = "Option::is_none")]
711 pub description: Option<String>,
712 #[serde(rename = "imageUrl", default, skip_serializing_if = "Option::is_none")]
716 pub image_url: Option<String>,
717 #[serde(rename = "createdAt", default, skip_serializing_if = "Option::is_none")]
722 pub created_at: Option<String>,
723 #[serde(rename = "updatedAt", default, skip_serializing_if = "Option::is_none")]
728 pub updated_at: Option<String>,
729}
730
731#[derive(Debug, Clone, Default, Serialize, Deserialize)]
733pub struct CustomProviderKeys {
734 #[serde(rename = "apiKey")]
737 pub api_key: String,
738 #[serde(rename = "publishableKey")]
741 pub publishable_key: String,
742}
743
744#[derive(Debug, Clone, Default, Serialize, Deserialize)]
746pub struct CustomRRuleOptionsDto {
747 #[serde(
752 rename = "intervalType",
753 default,
754 skip_serializing_if = "Option::is_none"
755 )]
756 pub interval_type: Option<String>,
757 #[serde(default, skip_serializing_if = "Option::is_none")]
760 pub interval: Option<f64>,
761 #[serde(rename = "startDate", default, skip_serializing_if = "Option::is_none")]
765 pub start_date: Option<String>,
766 #[serde(rename = "startTime", default, skip_serializing_if = "Option::is_none")]
768 pub start_time: Option<String>,
769 #[serde(rename = "endDate", default, skip_serializing_if = "Option::is_none")]
771 pub end_date: Option<String>,
772 #[serde(rename = "endTime", default, skip_serializing_if = "Option::is_none")]
774 pub end_time: Option<String>,
775 #[serde(
777 rename = "dayOfMonth",
778 default,
779 skip_serializing_if = "Option::is_none"
780 )]
781 pub day_of_month: Option<f64>,
782 #[serde(rename = "dayOfWeek", default, skip_serializing_if = "Option::is_none")]
784 pub day_of_week: Option<String>,
785 #[serde(rename = "numOfWeek", default, skip_serializing_if = "Option::is_none")]
787 pub num_of_week: Option<f64>,
788 #[serde(
791 rename = "monthOfYear",
792 default,
793 skip_serializing_if = "Option::is_none"
794 )]
795 pub month_of_year: Option<String>,
796 #[serde(default, skip_serializing_if = "Option::is_none")]
798 pub count: Option<f64>,
799 #[serde(
801 rename = "daysBefore",
802 default,
803 skip_serializing_if = "Option::is_none"
804 )]
805 pub days_before: Option<f64>,
806}
807
808#[derive(Debug, Clone, Default, Serialize, Deserialize)]
810pub struct DefaultPriceResponseDto {
811 #[serde(rename = "_id", default, skip_serializing_if = "Option::is_none")]
815 pub id: Option<String>,
816 #[serde(
818 rename = "membershipOffers",
819 default,
820 skip_serializing_if = "Vec::is_empty"
821 )]
822 pub membership_offers: Vec<MembershipOfferDto>,
823 #[serde(
825 rename = "variantOptionIds",
826 default,
827 skip_serializing_if = "Vec::is_empty"
828 )]
829 pub variant_option_ids: Vec<String>,
830 #[serde(
832 rename = "locationId",
833 default,
834 skip_serializing_if = "Option::is_none"
835 )]
836 pub location_id: Option<String>,
837 #[serde(default, skip_serializing_if = "Option::is_none")]
839 pub product: Option<String>,
840 #[serde(rename = "userId", default, skip_serializing_if = "Option::is_none")]
842 pub user_id: Option<String>,
843 #[serde(default, skip_serializing_if = "Option::is_none")]
847 pub name: Option<String>,
848 #[serde(rename = "type", default, skip_serializing_if = "Option::is_none")]
853 pub type_: Option<String>,
854 #[serde(default, skip_serializing_if = "Option::is_none")]
858 pub currency: Option<String>,
859 #[serde(default, skip_serializing_if = "Option::is_none")]
863 pub amount: Option<f64>,
864 #[serde(default, skip_serializing_if = "Option::is_none")]
866 pub recurring: Option<RecurringDto>,
867 #[serde(rename = "createdAt", default, skip_serializing_if = "Option::is_none")]
870 pub created_at: Option<String>,
871 #[serde(rename = "updatedAt", default, skip_serializing_if = "Option::is_none")]
874 pub updated_at: Option<String>,
875 #[serde(
877 rename = "compareAtPrice",
878 default,
879 skip_serializing_if = "Option::is_none"
880 )]
881 pub compare_at_price: Option<f64>,
882 #[serde(
884 rename = "trackInventory",
885 default,
886 skip_serializing_if = "Option::is_none"
887 )]
888 pub track_inventory: Option<bool>,
889 #[serde(
891 rename = "availableQuantity",
892 default,
893 skip_serializing_if = "Option::is_none"
894 )]
895 pub available_quantity: Option<f64>,
896 #[serde(
898 rename = "allowOutOfStockPurchases",
899 default,
900 skip_serializing_if = "Option::is_none"
901 )]
902 pub allow_out_of_stock_purchases: Option<bool>,
903}
904
905#[derive(Debug, Clone, Default, Serialize, Deserialize)]
907pub struct DefaultProductResponseDto {
908 #[serde(rename = "_id", default, skip_serializing_if = "Option::is_none")]
912 pub id: Option<String>,
913 #[serde(default, skip_serializing_if = "Option::is_none")]
915 pub description: Option<String>,
916 #[serde(default, skip_serializing_if = "Vec::is_empty")]
918 pub variants: Vec<ProductVariantDto>,
919 #[serde(
923 rename = "locationId",
924 default,
925 skip_serializing_if = "Option::is_none"
926 )]
927 pub location_id: Option<String>,
928 #[serde(default, skip_serializing_if = "Option::is_none")]
932 pub name: Option<String>,
933 #[serde(
937 rename = "productType",
938 default,
939 skip_serializing_if = "Option::is_none"
940 )]
941 pub product_type: Option<String>,
942 #[serde(
944 rename = "availableInStore",
945 default,
946 skip_serializing_if = "Option::is_none"
947 )]
948 pub available_in_store: Option<bool>,
949 #[serde(rename = "createdAt", default, skip_serializing_if = "Option::is_none")]
954 pub created_at: Option<String>,
955 #[serde(rename = "updatedAt", default, skip_serializing_if = "Option::is_none")]
960 pub updated_at: Option<String>,
961 #[serde(
963 rename = "statementDescriptor",
964 default,
965 skip_serializing_if = "Option::is_none"
966 )]
967 pub statement_descriptor: Option<String>,
968 #[serde(default, skip_serializing_if = "Option::is_none")]
970 pub image: Option<String>,
971 #[serde(
973 rename = "collectionIds",
974 default,
975 skip_serializing_if = "Vec::is_empty"
976 )]
977 pub collection_ids: Vec<String>,
978 #[serde(
980 rename = "isTaxesEnabled",
981 default,
982 skip_serializing_if = "Option::is_none"
983 )]
984 pub is_taxes_enabled: Option<bool>,
985 #[serde(default, skip_serializing_if = "Vec::is_empty")]
989 pub taxes: Vec<String>,
990 #[serde(
992 rename = "automaticTaxCategoryId",
993 default,
994 skip_serializing_if = "Option::is_none"
995 )]
996 pub automatic_tax_category_id: Option<String>,
997 #[serde(default, skip_serializing_if = "Option::is_none")]
999 pub label: Option<ProductLabelDto>,
1000 #[serde(default, skip_serializing_if = "Option::is_none")]
1002 pub slug: Option<String>,
1003}
1004
1005#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1007pub struct DeleteCouponParams {
1008 #[serde(rename = "altId")]
1011 pub alt_id: String,
1012 #[serde(rename = "altType")]
1016 pub alt_type: String,
1017 pub id: String,
1020}
1021
1022#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1024pub struct DeleteCouponResponseDto {
1025 #[serde(default, skip_serializing_if = "Option::is_none")]
1029 pub success: Option<bool>,
1030 #[serde(rename = "traceId", default, skip_serializing_if = "Option::is_none")]
1034 pub trace_id: Option<String>,
1035}
1036
1037#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1039pub struct DeleteCustomProvidersConfigDto {
1040 #[serde(rename = "liveMode")]
1044 pub live_mode: bool,
1045}
1046
1047#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1049pub struct DeleteCustomProvidersResponseSchema {
1050 #[serde(default, skip_serializing_if = "Option::is_none")]
1055 pub success: Option<bool>,
1056}
1057
1058#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1060pub struct DisconnectCustomProvidersResponseSchema {
1061 #[serde(default, skip_serializing_if = "Option::is_none")]
1066 pub success: Option<bool>,
1067}
1068
1069#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1071pub struct FulfilledItem {
1072 #[serde(rename = "_id", default, skip_serializing_if = "Option::is_none")]
1076 pub id: Option<String>,
1077 #[serde(default, skip_serializing_if = "Option::is_none")]
1081 pub name: Option<String>,
1082 #[serde(default, skip_serializing_if = "Option::is_none")]
1086 pub product: Option<DefaultProductResponseDto>,
1087 #[serde(default, skip_serializing_if = "Option::is_none")]
1091 pub price: Option<DefaultPriceResponseDto>,
1092 #[serde(default, skip_serializing_if = "Option::is_none")]
1096 pub qty: Option<f64>,
1097}
1098
1099#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1101pub struct FulfillmentItems {
1102 #[serde(rename = "priceId")]
1105 pub price_id: String,
1106 pub qty: f64,
1109}
1110
1111#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1113pub struct FulfillmentSchema {
1114 #[serde(rename = "altId", default, skip_serializing_if = "Option::is_none")]
1118 pub alt_id: Option<String>,
1119 #[serde(rename = "altType", default, skip_serializing_if = "Option::is_none")]
1123 pub alt_type: Option<String>,
1124 #[serde(default, skip_serializing_if = "Vec::is_empty")]
1128 pub trackings: Vec<FulfillmentTracking>,
1129 #[serde(rename = "_id", default, skip_serializing_if = "Option::is_none")]
1133 pub id: Option<String>,
1134 #[serde(default, skip_serializing_if = "Vec::is_empty")]
1138 pub items: Vec<FulfilledItem>,
1139 #[serde(rename = "createdAt", default, skip_serializing_if = "Option::is_none")]
1143 pub created_at: Option<String>,
1144 #[serde(rename = "updatedAt", default, skip_serializing_if = "Option::is_none")]
1148 pub updated_at: Option<String>,
1149}
1150
1151#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1153pub struct FulfillmentTracking {
1154 #[serde(
1156 rename = "trackingNumber",
1157 default,
1158 skip_serializing_if = "Option::is_none"
1159 )]
1160 pub tracking_number: Option<String>,
1161 #[serde(
1163 rename = "shippingCarrier",
1164 default,
1165 skip_serializing_if = "Option::is_none"
1166 )]
1167 pub shipping_carrier: Option<String>,
1168 #[serde(
1170 rename = "trackingUrl",
1171 default,
1172 skip_serializing_if = "Option::is_none"
1173 )]
1174 pub tracking_url: Option<String>,
1175}
1176
1177#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1179pub struct GetCustomProvidersResponseSchema {
1180 #[serde(default, skip_serializing_if = "Option::is_none")]
1184 pub name: Option<String>,
1185 #[serde(default, skip_serializing_if = "Option::is_none")]
1189 pub description: Option<String>,
1190 #[serde(
1194 rename = "paymentsUrl",
1195 default,
1196 skip_serializing_if = "Option::is_none"
1197 )]
1198 pub payments_url: Option<String>,
1199 #[serde(rename = "queryUrl", default, skip_serializing_if = "Option::is_none")]
1203 pub query_url: Option<String>,
1204 #[serde(rename = "imageUrl", default, skip_serializing_if = "Option::is_none")]
1209 pub image_url: Option<String>,
1210 #[serde(rename = "_id", default, skip_serializing_if = "Option::is_none")]
1214 pub id: Option<String>,
1215 #[serde(
1219 rename = "locationId",
1220 default,
1221 skip_serializing_if = "Option::is_none"
1222 )]
1223 pub location_id: Option<String>,
1224 #[serde(
1228 rename = "marketplaceAppId",
1229 default,
1230 skip_serializing_if = "Option::is_none"
1231 )]
1232 pub marketplace_app_id: Option<String>,
1233 #[serde(
1235 rename = "paymentProvider",
1236 default,
1237 skip_serializing_if = "Option::is_none"
1238 )]
1239 pub payment_provider: Option<serde_json::Value>,
1240 #[serde(default, skip_serializing_if = "Option::is_none")]
1244 pub deleted: Option<bool>,
1245 #[serde(rename = "createdAt", default, skip_serializing_if = "Option::is_none")]
1250 pub created_at: Option<String>,
1251 #[serde(rename = "updatedAt", default, skip_serializing_if = "Option::is_none")]
1256 pub updated_at: Option<String>,
1257 #[serde(rename = "traceId", default, skip_serializing_if = "Option::is_none")]
1259 pub trace_id: Option<String>,
1260}
1261
1262#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1264pub struct GetOrderResponseSchema {
1265 #[serde(rename = "_id", default, skip_serializing_if = "Option::is_none")]
1269 pub id: Option<String>,
1270 #[serde(rename = "altId", default, skip_serializing_if = "Option::is_none")]
1274 pub alt_id: Option<String>,
1275 #[serde(rename = "altType", default, skip_serializing_if = "Option::is_none")]
1279 pub alt_type: Option<String>,
1280 #[serde(rename = "contactId", default, skip_serializing_if = "Option::is_none")]
1282 pub contact_id: Option<String>,
1283 #[serde(default, skip_serializing_if = "Option::is_none")]
1285 pub currency: Option<String>,
1286 #[serde(default, skip_serializing_if = "Option::is_none")]
1288 pub amount: Option<f64>,
1289 #[serde(default, skip_serializing_if = "Option::is_none")]
1293 pub status: Option<String>,
1294 #[serde(rename = "liveMode", default, skip_serializing_if = "Option::is_none")]
1296 pub live_mode: Option<bool>,
1297 #[serde(rename = "createdAt", default, skip_serializing_if = "Option::is_none")]
1302 pub created_at: Option<String>,
1303 #[serde(rename = "updatedAt", default, skip_serializing_if = "Option::is_none")]
1308 pub updated_at: Option<String>,
1309 #[serde(
1311 rename = "fulfillmentStatus",
1312 default,
1313 skip_serializing_if = "Option::is_none"
1314 )]
1315 pub fulfillment_status: Option<String>,
1316 #[serde(
1318 rename = "contactSnapshot",
1319 default,
1320 skip_serializing_if = "Option::is_none"
1321 )]
1322 pub contact_snapshot: Option<serde_json::Value>,
1323 #[serde(
1325 rename = "amountSummary",
1326 default,
1327 skip_serializing_if = "Option::is_none"
1328 )]
1329 pub amount_summary: Option<AmountSummary>,
1330 #[serde(default, skip_serializing_if = "Option::is_none")]
1332 pub source: Option<OrderSource>,
1333 #[serde(default, skip_serializing_if = "Vec::is_empty")]
1335 pub items: Vec<String>,
1336 #[serde(default, skip_serializing_if = "Option::is_none")]
1338 pub coupon: Option<serde_json::Value>,
1339 #[serde(
1341 rename = "trackingId",
1342 default,
1343 skip_serializing_if = "Option::is_none"
1344 )]
1345 pub tracking_id: Option<String>,
1346 #[serde(default, skip_serializing_if = "Option::is_none")]
1348 pub fingerprint: Option<String>,
1349 #[serde(default, skip_serializing_if = "Option::is_none")]
1351 pub meta: Option<serde_json::Value>,
1352 #[serde(
1354 rename = "markAsTest",
1355 default,
1356 skip_serializing_if = "Option::is_none"
1357 )]
1358 pub mark_as_test: Option<bool>,
1359 #[serde(rename = "traceId", default, skip_serializing_if = "Option::is_none")]
1361 pub trace_id: Option<String>,
1362 #[serde(
1364 rename = "automaticTaxesCalculated",
1365 default,
1366 skip_serializing_if = "Option::is_none"
1367 )]
1368 pub automatic_taxes_calculated: Option<bool>,
1369 #[serde(
1371 rename = "taxCalculationProvider",
1372 default,
1373 skip_serializing_if = "Option::is_none"
1374 )]
1375 pub tax_calculation_provider: Option<serde_json::Value>,
1376 #[serde(rename = "createdBy", default, skip_serializing_if = "Option::is_none")]
1378 pub created_by: Option<String>,
1379}
1380
1381#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1383pub struct GetSubscriptionResponseSchema {
1384 #[serde(rename = "_id", default, skip_serializing_if = "Option::is_none")]
1388 pub id: Option<String>,
1389 #[serde(rename = "altType", default, skip_serializing_if = "Option::is_none")]
1393 pub alt_type: Option<serde_json::Value>,
1394 #[serde(rename = "altId", default, skip_serializing_if = "Option::is_none")]
1398 pub alt_id: Option<String>,
1399 #[serde(rename = "contactId", default, skip_serializing_if = "Option::is_none")]
1401 pub contact_id: Option<String>,
1402 #[serde(
1404 rename = "contactSnapshot",
1405 default,
1406 skip_serializing_if = "Option::is_none"
1407 )]
1408 pub contact_snapshot: Option<serde_json::Value>,
1409 #[serde(default, skip_serializing_if = "Option::is_none")]
1411 pub coupon: Option<serde_json::Value>,
1412 #[serde(default, skip_serializing_if = "Option::is_none")]
1414 pub currency: Option<String>,
1415 #[serde(default, skip_serializing_if = "Option::is_none")]
1417 pub amount: Option<f64>,
1418 #[serde(default, skip_serializing_if = "Option::is_none")]
1420 pub status: Option<serde_json::Value>,
1421 #[serde(rename = "liveMode", default, skip_serializing_if = "Option::is_none")]
1423 pub live_mode: Option<bool>,
1424 #[serde(
1426 rename = "entityType",
1427 default,
1428 skip_serializing_if = "Option::is_none"
1429 )]
1430 pub entity_type: Option<String>,
1431 #[serde(rename = "entityId", default, skip_serializing_if = "Option::is_none")]
1433 pub entity_id: Option<String>,
1434 #[serde(
1436 rename = "entitySource",
1437 default,
1438 skip_serializing_if = "Option::is_none"
1439 )]
1440 pub entity_source: Option<OrderSource>,
1441 #[serde(
1443 rename = "subscriptionId",
1444 default,
1445 skip_serializing_if = "Option::is_none"
1446 )]
1447 pub subscription_id: Option<String>,
1448 #[serde(
1450 rename = "subscriptionSnapshot",
1451 default,
1452 skip_serializing_if = "Option::is_none"
1453 )]
1454 pub subscription_snapshot: Option<serde_json::Value>,
1455 #[serde(
1457 rename = "paymentProvider",
1458 default,
1459 skip_serializing_if = "Option::is_none"
1460 )]
1461 pub payment_provider: Option<serde_json::Value>,
1462 #[serde(rename = "ipAddress", default, skip_serializing_if = "Option::is_none")]
1464 pub ip_address: Option<String>,
1465 #[serde(rename = "createdAt", default, skip_serializing_if = "Option::is_none")]
1470 pub created_at: Option<String>,
1471 #[serde(rename = "updatedAt", default, skip_serializing_if = "Option::is_none")]
1476 pub updated_at: Option<String>,
1477 #[serde(default, skip_serializing_if = "Option::is_none")]
1479 pub meta: Option<serde_json::Value>,
1480 #[serde(
1482 rename = "markAsTest",
1483 default,
1484 skip_serializing_if = "Option::is_none"
1485 )]
1486 pub mark_as_test: Option<bool>,
1487 #[serde(default, skip_serializing_if = "Option::is_none")]
1489 pub schedule: Option<ScheduleOptionsDto>,
1490 #[serde(
1492 rename = "autoPayment",
1493 default,
1494 skip_serializing_if = "Option::is_none"
1495 )]
1496 pub auto_payment: Option<serde_json::Value>,
1497 #[serde(
1499 rename = "recurringProduct",
1500 default,
1501 skip_serializing_if = "Option::is_none"
1502 )]
1503 pub recurring_product: Option<serde_json::Value>,
1504 #[serde(
1507 rename = "canceledAt",
1508 default,
1509 skip_serializing_if = "Option::is_none"
1510 )]
1511 pub canceled_at: Option<String>,
1512 #[serde(
1514 rename = "canceledBy",
1515 default,
1516 skip_serializing_if = "Option::is_none"
1517 )]
1518 pub canceled_by: Option<String>,
1519 #[serde(rename = "traceId", default, skip_serializing_if = "Option::is_none")]
1521 pub trace_id: Option<String>,
1522 #[serde(rename = "createdBy", default, skip_serializing_if = "Option::is_none")]
1524 pub created_by: Option<String>,
1525}
1526
1527#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1529pub struct GetTxnResponseSchema {
1530 #[serde(rename = "_id", default, skip_serializing_if = "Option::is_none")]
1534 pub id: Option<String>,
1535 #[serde(rename = "altType", default, skip_serializing_if = "Option::is_none")]
1539 pub alt_type: Option<String>,
1540 #[serde(rename = "altId", default, skip_serializing_if = "Option::is_none")]
1544 pub alt_id: Option<String>,
1545 #[serde(rename = "contactId", default, skip_serializing_if = "Option::is_none")]
1547 pub contact_id: Option<String>,
1548 #[serde(
1550 rename = "contactSnapshot",
1551 default,
1552 skip_serializing_if = "Option::is_none"
1553 )]
1554 pub contact_snapshot: Option<serde_json::Value>,
1555 #[serde(default, skip_serializing_if = "Option::is_none")]
1557 pub currency: Option<String>,
1558 #[serde(default, skip_serializing_if = "Option::is_none")]
1560 pub amount: Option<f64>,
1561 #[serde(default, skip_serializing_if = "Option::is_none")]
1563 pub status: Option<serde_json::Value>,
1564 #[serde(rename = "liveMode", default, skip_serializing_if = "Option::is_none")]
1566 pub live_mode: Option<bool>,
1567 #[serde(rename = "createdAt", default, skip_serializing_if = "Option::is_none")]
1572 pub created_at: Option<String>,
1573 #[serde(rename = "updatedAt", default, skip_serializing_if = "Option::is_none")]
1578 pub updated_at: Option<String>,
1579 #[serde(
1581 rename = "entityType",
1582 default,
1583 skip_serializing_if = "Option::is_none"
1584 )]
1585 pub entity_type: Option<String>,
1586 #[serde(rename = "entityId", default, skip_serializing_if = "Option::is_none")]
1588 pub entity_id: Option<String>,
1589 #[serde(
1591 rename = "entitySource",
1592 default,
1593 skip_serializing_if = "Option::is_none"
1594 )]
1595 pub entity_source: Option<OrderSource>,
1596 #[serde(rename = "chargeId", default, skip_serializing_if = "Option::is_none")]
1598 pub charge_id: Option<String>,
1599 #[serde(
1601 rename = "chargeSnapshot",
1602 default,
1603 skip_serializing_if = "Option::is_none"
1604 )]
1605 pub charge_snapshot: Option<serde_json::Value>,
1606 #[serde(rename = "invoiceId", default, skip_serializing_if = "Option::is_none")]
1608 pub invoice_id: Option<String>,
1609 #[serde(
1611 rename = "subscriptionId",
1612 default,
1613 skip_serializing_if = "Option::is_none"
1614 )]
1615 pub subscription_id: Option<String>,
1616 #[serde(
1618 rename = "paymentProvider",
1619 default,
1620 skip_serializing_if = "Option::is_none"
1621 )]
1622 pub payment_provider: Option<serde_json::Value>,
1623 #[serde(rename = "ipAddress", default, skip_serializing_if = "Option::is_none")]
1625 pub ip_address: Option<String>,
1626 #[serde(default, skip_serializing_if = "Option::is_none")]
1628 pub meta: Option<serde_json::Value>,
1629 #[serde(
1631 rename = "markAsTest",
1632 default,
1633 skip_serializing_if = "Option::is_none"
1634 )]
1635 pub mark_as_test: Option<bool>,
1636 #[serde(rename = "isParent", default, skip_serializing_if = "Option::is_none")]
1638 pub is_parent: Option<bool>,
1639 #[serde(
1641 rename = "amountRefunded",
1642 default,
1643 skip_serializing_if = "Option::is_none"
1644 )]
1645 pub amount_refunded: Option<f64>,
1646 #[serde(rename = "receiptId", default, skip_serializing_if = "Option::is_none")]
1648 pub receipt_id: Option<String>,
1649 #[serde(rename = "qboSynced", default, skip_serializing_if = "Option::is_none")]
1651 pub qbo_synced: Option<bool>,
1652 #[serde(
1654 rename = "qboResponse",
1655 default,
1656 skip_serializing_if = "Option::is_none"
1657 )]
1658 pub qbo_response: Option<serde_json::Value>,
1659 #[serde(rename = "traceId", default, skip_serializing_if = "Option::is_none")]
1661 pub trace_id: Option<String>,
1662 #[serde(
1664 rename = "mergedFromContactId",
1665 default,
1666 skip_serializing_if = "Option::is_none"
1667 )]
1668 pub merged_from_contact_id: Option<String>,
1669 #[serde(rename = "createdBy", default, skip_serializing_if = "Option::is_none")]
1671 pub created_by: Option<String>,
1672}
1673
1674#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1676pub struct IntegrationProviderSchema {
1677 #[serde(rename = "_id", default, skip_serializing_if = "Option::is_none")]
1681 pub id: Option<String>,
1682 #[serde(rename = "altId", default, skip_serializing_if = "Option::is_none")]
1686 pub alt_id: Option<String>,
1687 #[serde(rename = "altType", default, skip_serializing_if = "Option::is_none")]
1691 pub alt_type: Option<String>,
1692 #[serde(default, skip_serializing_if = "Option::is_none")]
1696 pub title: Option<String>,
1697 #[serde(default, skip_serializing_if = "Option::is_none")]
1701 pub route: Option<String>,
1702 #[serde(default, skip_serializing_if = "Option::is_none")]
1706 pub provider: Option<String>,
1707 #[serde(default, skip_serializing_if = "Option::is_none")]
1711 pub description: Option<String>,
1712 #[serde(rename = "imageUrl", default, skip_serializing_if = "Option::is_none")]
1716 pub image_url: Option<String>,
1717 #[serde(rename = "createdAt", default, skip_serializing_if = "Option::is_none")]
1722 pub created_at: Option<String>,
1723 #[serde(rename = "updatedAt", default, skip_serializing_if = "Option::is_none")]
1728 pub updated_at: Option<String>,
1729}
1730
1731#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1733pub struct ListCouponsResponseDto {
1734 #[serde(default, skip_serializing_if = "Vec::is_empty")]
1738 pub data: Vec<CouponDto>,
1739 #[serde(
1743 rename = "totalCount",
1744 default,
1745 skip_serializing_if = "Option::is_none"
1746 )]
1747 pub total_count: Option<f64>,
1748 #[serde(rename = "traceId", default, skip_serializing_if = "Option::is_none")]
1752 pub trace_id: Option<String>,
1753}
1754
1755#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1757pub struct ListFulfillmentResponseDto {
1758 #[serde(default, skip_serializing_if = "Option::is_none")]
1762 pub status: Option<bool>,
1763 #[serde(default, skip_serializing_if = "Vec::is_empty")]
1767 pub data: Vec<FulfillmentSchema>,
1768}
1769
1770#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1772pub struct ListOrdersResponseDto {
1773 #[serde(default, skip_serializing_if = "Vec::is_empty")]
1777 pub data: Vec<OrderResponseSchema>,
1778 #[serde(
1782 rename = "totalCount",
1783 default,
1784 skip_serializing_if = "Option::is_none"
1785 )]
1786 pub total_count: Option<f64>,
1787}
1788
1789#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1791pub struct ListSubscriptionResponseDto {
1792 #[serde(default, skip_serializing_if = "Vec::is_empty")]
1796 pub data: Vec<SubscriptionResponseSchema>,
1797 #[serde(
1801 rename = "totalCount",
1802 default,
1803 skip_serializing_if = "Option::is_none"
1804 )]
1805 pub total_count: Option<f64>,
1806}
1807
1808#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1810pub struct ListTxnsResponseDto {
1811 #[serde(default, skip_serializing_if = "Vec::is_empty")]
1815 pub data: Vec<TxnResponseSchema>,
1816 #[serde(
1820 rename = "totalCount",
1821 default,
1822 skip_serializing_if = "Option::is_none"
1823 )]
1824 pub total_count: Option<f64>,
1825}
1826
1827#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1829pub struct ListWhitelabelIntegrationProviderResponseDto {
1830 #[serde(default, skip_serializing_if = "Option::is_none")]
1834 pub providers: Option<IntegrationProviderSchema>,
1835}
1836
1837#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1839pub struct MembershipOfferDto {
1840 #[serde(default, skip_serializing_if = "Option::is_none")]
1844 pub label: Option<String>,
1845 #[serde(default, skip_serializing_if = "Option::is_none")]
1849 pub value: Option<String>,
1850 #[serde(rename = "_id", default, skip_serializing_if = "Option::is_none")]
1854 pub id: Option<String>,
1855}
1856
1857#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1859pub struct OrderResponseSchema {
1860 #[serde(rename = "_id", default, skip_serializing_if = "Option::is_none")]
1864 pub id: Option<String>,
1865 #[serde(rename = "altId", default, skip_serializing_if = "Option::is_none")]
1869 pub alt_id: Option<String>,
1870 #[serde(rename = "altType", default, skip_serializing_if = "Option::is_none")]
1874 pub alt_type: Option<String>,
1875 #[serde(rename = "contactId", default, skip_serializing_if = "Option::is_none")]
1877 pub contact_id: Option<String>,
1878 #[serde(
1880 rename = "contactName",
1881 default,
1882 skip_serializing_if = "Option::is_none"
1883 )]
1884 pub contact_name: Option<String>,
1885 #[serde(
1887 rename = "contactEmail",
1888 default,
1889 skip_serializing_if = "Option::is_none"
1890 )]
1891 pub contact_email: Option<String>,
1892 #[serde(default, skip_serializing_if = "Option::is_none")]
1894 pub currency: Option<String>,
1895 #[serde(default, skip_serializing_if = "Option::is_none")]
1897 pub amount: Option<f64>,
1898 #[serde(default, skip_serializing_if = "Option::is_none")]
1900 pub subtotal: Option<f64>,
1901 #[serde(default, skip_serializing_if = "Option::is_none")]
1903 pub discount: Option<f64>,
1904 #[serde(default, skip_serializing_if = "Option::is_none")]
1908 pub status: Option<String>,
1909 #[serde(rename = "liveMode", default, skip_serializing_if = "Option::is_none")]
1911 pub live_mode: Option<bool>,
1912 #[serde(
1914 rename = "totalProducts",
1915 default,
1916 skip_serializing_if = "Option::is_none"
1917 )]
1918 pub total_products: Option<f64>,
1919 #[serde(
1923 rename = "sourceType",
1924 default,
1925 skip_serializing_if = "Option::is_none"
1926 )]
1927 pub source_type: Option<String>,
1928 #[serde(
1930 rename = "sourceName",
1931 default,
1932 skip_serializing_if = "Option::is_none"
1933 )]
1934 pub source_name: Option<String>,
1935 #[serde(rename = "sourceId", default, skip_serializing_if = "Option::is_none")]
1937 pub source_id: Option<String>,
1938 #[serde(
1940 rename = "sourceMeta",
1941 default,
1942 skip_serializing_if = "Option::is_none"
1943 )]
1944 pub source_meta: Option<serde_json::Value>,
1945 #[serde(
1947 rename = "couponCode",
1948 default,
1949 skip_serializing_if = "Option::is_none"
1950 )]
1951 pub coupon_code: Option<String>,
1952 #[serde(rename = "createdAt", default, skip_serializing_if = "Option::is_none")]
1957 pub created_at: Option<String>,
1958 #[serde(rename = "updatedAt", default, skip_serializing_if = "Option::is_none")]
1963 pub updated_at: Option<String>,
1964 #[serde(
1966 rename = "sourceSubType",
1967 default,
1968 skip_serializing_if = "Option::is_none"
1969 )]
1970 pub source_sub_type: Option<String>,
1971 #[serde(
1973 rename = "fulfillmentStatus",
1974 default,
1975 skip_serializing_if = "Option::is_none"
1976 )]
1977 pub fulfillment_status: Option<String>,
1978 #[serde(
1980 rename = "onetimeProducts",
1981 default,
1982 skip_serializing_if = "Option::is_none"
1983 )]
1984 pub onetime_products: Option<f64>,
1985 #[serde(
1987 rename = "recurringProducts",
1988 default,
1989 skip_serializing_if = "Option::is_none"
1990 )]
1991 pub recurring_products: Option<f64>,
1992 #[serde(rename = "createdBy", default, skip_serializing_if = "Option::is_none")]
1994 pub created_by: Option<String>,
1995}
1996
1997#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1999pub struct OrderSource {
2000 #[serde(rename = "type", default, skip_serializing_if = "Option::is_none")]
2006 pub type_: Option<String>,
2007 #[serde(rename = "subType", default, skip_serializing_if = "Option::is_none")]
2011 pub sub_type: Option<String>,
2012 #[serde(default, skip_serializing_if = "Option::is_none")]
2015 pub id: Option<String>,
2016 #[serde(default, skip_serializing_if = "Option::is_none")]
2017 pub name: Option<String>,
2018 #[serde(default, skip_serializing_if = "Option::is_none")]
2019 pub meta: Option<serde_json::Value>,
2020}
2021
2022#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2024pub struct PostRecordOrderPaymentBody {
2025 #[serde(rename = "altId")]
2028 pub alt_id: String,
2029 #[serde(rename = "altType")]
2033 pub alt_type: String,
2034 pub mode: String,
2038 #[serde(default, skip_serializing_if = "Option::is_none")]
2040 pub card: Option<CardDto>,
2041 #[serde(default, skip_serializing_if = "Option::is_none")]
2043 pub cheque: Option<ChequeDto>,
2044 #[serde(default, skip_serializing_if = "Option::is_none")]
2046 pub notes: Option<String>,
2047 #[serde(default, skip_serializing_if = "Option::is_none")]
2049 pub amount: Option<f64>,
2050 #[serde(default, skip_serializing_if = "Option::is_none")]
2052 pub meta: Option<serde_json::Value>,
2053 #[serde(
2055 rename = "isPartialPayment",
2056 default,
2057 skip_serializing_if = "Option::is_none"
2058 )]
2059 pub is_partial_payment: Option<bool>,
2060}
2061
2062#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2064pub struct PostRecordOrderPaymentResponse {
2065 #[serde(default, skip_serializing_if = "Option::is_none")]
2069 pub success: Option<bool>,
2070}
2071
2072#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2074pub struct ProductLabelDto {
2075 #[serde(default, skip_serializing_if = "Option::is_none")]
2079 pub title: Option<String>,
2080 #[serde(rename = "startDate", default, skip_serializing_if = "Option::is_none")]
2082 pub start_date: Option<String>,
2083 #[serde(rename = "endDate", default, skip_serializing_if = "Option::is_none")]
2085 pub end_date: Option<String>,
2086}
2087
2088#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2090pub struct ProductVariantDto {
2091 #[serde(default, skip_serializing_if = "Option::is_none")]
2095 pub id: Option<String>,
2096 #[serde(default, skip_serializing_if = "Option::is_none")]
2100 pub name: Option<String>,
2101 #[serde(default, skip_serializing_if = "Vec::is_empty")]
2105 pub options: Vec<ProductVariantOptionDto>,
2106}
2107
2108#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2110pub struct ProductVariantOptionDto {
2111 #[serde(default, skip_serializing_if = "Option::is_none")]
2115 pub id: Option<String>,
2116 #[serde(default, skip_serializing_if = "Option::is_none")]
2120 pub name: Option<String>,
2121}
2122
2123#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2125pub struct RecurringDto {
2126 #[serde(default, skip_serializing_if = "Option::is_none")]
2131 pub interval: Option<String>,
2132 #[serde(
2136 rename = "intervalCount",
2137 default,
2138 skip_serializing_if = "Option::is_none"
2139 )]
2140 pub interval_count: Option<f64>,
2141}
2142
2143#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2145pub struct ScheduleOptionsDto {
2146 #[serde(rename = "executeAt", default, skip_serializing_if = "Option::is_none")]
2147 pub execute_at: Option<String>,
2148 #[serde(default, skip_serializing_if = "Option::is_none")]
2149 pub rrule: Option<CustomRRuleOptionsDto>,
2150}
2151
2152#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2154pub struct SubscriptionResponseSchema {
2155 #[serde(rename = "_id", default, skip_serializing_if = "Option::is_none")]
2159 pub id: Option<String>,
2160 #[serde(rename = "altId", default, skip_serializing_if = "Option::is_none")]
2164 pub alt_id: Option<String>,
2165 #[serde(rename = "altType", default, skip_serializing_if = "Option::is_none")]
2170 pub alt_type: Option<String>,
2171 #[serde(rename = "contactId", default, skip_serializing_if = "Option::is_none")]
2173 pub contact_id: Option<String>,
2174 #[serde(
2176 rename = "contactName",
2177 default,
2178 skip_serializing_if = "Option::is_none"
2179 )]
2180 pub contact_name: Option<String>,
2181 #[serde(
2183 rename = "contactEmail",
2184 default,
2185 skip_serializing_if = "Option::is_none"
2186 )]
2187 pub contact_email: Option<String>,
2188 #[serde(default, skip_serializing_if = "Option::is_none")]
2190 pub currency: Option<String>,
2191 #[serde(default, skip_serializing_if = "Option::is_none")]
2193 pub amount: Option<f64>,
2194 #[serde(default, skip_serializing_if = "Option::is_none")]
2198 pub status: Option<serde_json::Value>,
2199 #[serde(rename = "liveMode", default, skip_serializing_if = "Option::is_none")]
2201 pub live_mode: Option<bool>,
2202 #[serde(
2204 rename = "entityType",
2205 default,
2206 skip_serializing_if = "Option::is_none"
2207 )]
2208 pub entity_type: Option<String>,
2209 #[serde(rename = "entityId", default, skip_serializing_if = "Option::is_none")]
2211 pub entity_id: Option<String>,
2212 #[serde(
2216 rename = "entitySourceType",
2217 default,
2218 skip_serializing_if = "Option::is_none"
2219 )]
2220 pub entity_source_type: Option<String>,
2221 #[serde(
2223 rename = "entitySourceName",
2224 default,
2225 skip_serializing_if = "Option::is_none"
2226 )]
2227 pub entity_source_name: Option<String>,
2228 #[serde(
2230 rename = "entitySourceId",
2231 default,
2232 skip_serializing_if = "Option::is_none"
2233 )]
2234 pub entity_source_id: Option<String>,
2235 #[serde(
2237 rename = "entitySourceMeta",
2238 default,
2239 skip_serializing_if = "Option::is_none"
2240 )]
2241 pub entity_source_meta: Option<serde_json::Value>,
2242 #[serde(
2244 rename = "subscriptionId",
2245 default,
2246 skip_serializing_if = "Option::is_none"
2247 )]
2248 pub subscription_id: Option<String>,
2249 #[serde(
2251 rename = "subscriptionSnapshot",
2252 default,
2253 skip_serializing_if = "Option::is_none"
2254 )]
2255 pub subscription_snapshot: Option<serde_json::Value>,
2256 #[serde(
2258 rename = "paymentProviderType",
2259 default,
2260 skip_serializing_if = "Option::is_none"
2261 )]
2262 pub payment_provider_type: Option<String>,
2263 #[serde(
2265 rename = "paymentProviderConnectedAccount",
2266 default,
2267 skip_serializing_if = "Option::is_none"
2268 )]
2269 pub payment_provider_connected_account: Option<String>,
2270 #[serde(rename = "ipAddress", default, skip_serializing_if = "Option::is_none")]
2272 pub ip_address: Option<String>,
2273 #[serde(rename = "createdAt", default, skip_serializing_if = "Option::is_none")]
2278 pub created_at: Option<String>,
2279 #[serde(rename = "updatedAt", default, skip_serializing_if = "Option::is_none")]
2284 pub updated_at: Option<String>,
2285 #[serde(rename = "createdBy", default, skip_serializing_if = "Option::is_none")]
2287 pub created_by: Option<String>,
2288}
2289
2290#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2292pub struct TxnResponseSchema {
2293 #[serde(rename = "_id", default, skip_serializing_if = "Option::is_none")]
2297 pub id: Option<String>,
2298 #[serde(rename = "altId", default, skip_serializing_if = "Option::is_none")]
2302 pub alt_id: Option<String>,
2303 #[serde(rename = "altType", default, skip_serializing_if = "Option::is_none")]
2307 pub alt_type: Option<String>,
2308 #[serde(rename = "contactId", default, skip_serializing_if = "Option::is_none")]
2310 pub contact_id: Option<String>,
2311 #[serde(
2313 rename = "mergedFromContactId",
2314 default,
2315 skip_serializing_if = "Option::is_none"
2316 )]
2317 pub merged_from_contact_id: Option<String>,
2318 #[serde(
2320 rename = "contactName",
2321 default,
2322 skip_serializing_if = "Option::is_none"
2323 )]
2324 pub contact_name: Option<String>,
2325 #[serde(
2327 rename = "contactEmail",
2328 default,
2329 skip_serializing_if = "Option::is_none"
2330 )]
2331 pub contact_email: Option<String>,
2332 #[serde(default, skip_serializing_if = "Option::is_none")]
2334 pub currency: Option<String>,
2335 #[serde(default, skip_serializing_if = "Option::is_none")]
2337 pub amount: Option<f64>,
2338 #[serde(default, skip_serializing_if = "Option::is_none")]
2342 pub status: Option<serde_json::Value>,
2343 #[serde(rename = "liveMode", default, skip_serializing_if = "Option::is_none")]
2345 pub live_mode: Option<bool>,
2346 #[serde(
2348 rename = "entityType",
2349 default,
2350 skip_serializing_if = "Option::is_none"
2351 )]
2352 pub entity_type: Option<String>,
2353 #[serde(rename = "entityId", default, skip_serializing_if = "Option::is_none")]
2355 pub entity_id: Option<String>,
2356 #[serde(
2360 rename = "entitySourceType",
2361 default,
2362 skip_serializing_if = "Option::is_none"
2363 )]
2364 pub entity_source_type: Option<String>,
2365 #[serde(
2367 rename = "entitySourceSubType",
2368 default,
2369 skip_serializing_if = "Option::is_none"
2370 )]
2371 pub entity_source_sub_type: Option<String>,
2372 #[serde(
2374 rename = "entitySourceName",
2375 default,
2376 skip_serializing_if = "Option::is_none"
2377 )]
2378 pub entity_source_name: Option<String>,
2379 #[serde(
2381 rename = "entitySourceId",
2382 default,
2383 skip_serializing_if = "Option::is_none"
2384 )]
2385 pub entity_source_id: Option<String>,
2386 #[serde(
2388 rename = "entitySourceMeta",
2389 default,
2390 skip_serializing_if = "Option::is_none"
2391 )]
2392 pub entity_source_meta: Option<serde_json::Value>,
2393 #[serde(
2395 rename = "subscriptionId",
2396 default,
2397 skip_serializing_if = "Option::is_none"
2398 )]
2399 pub subscription_id: Option<String>,
2400 #[serde(rename = "chargeId", default, skip_serializing_if = "Option::is_none")]
2402 pub charge_id: Option<String>,
2403 #[serde(
2405 rename = "chargeSnapshot",
2406 default,
2407 skip_serializing_if = "Option::is_none"
2408 )]
2409 pub charge_snapshot: Option<serde_json::Value>,
2410 #[serde(
2412 rename = "paymentProviderType",
2413 default,
2414 skip_serializing_if = "Option::is_none"
2415 )]
2416 pub payment_provider_type: Option<String>,
2417 #[serde(
2419 rename = "paymentProviderConnectedAccount",
2420 default,
2421 skip_serializing_if = "Option::is_none"
2422 )]
2423 pub payment_provider_connected_account: Option<String>,
2424 #[serde(rename = "ipAddress", default, skip_serializing_if = "Option::is_none")]
2426 pub ip_address: Option<String>,
2427 #[serde(rename = "createdAt", default, skip_serializing_if = "Option::is_none")]
2432 pub created_at: Option<String>,
2433 #[serde(rename = "updatedAt", default, skip_serializing_if = "Option::is_none")]
2438 pub updated_at: Option<String>,
2439 #[serde(
2441 rename = "amountRefunded",
2442 default,
2443 skip_serializing_if = "Option::is_none"
2444 )]
2445 pub amount_refunded: Option<f64>,
2446 #[serde(
2448 rename = "paymentMethod",
2449 default,
2450 skip_serializing_if = "Option::is_none"
2451 )]
2452 pub payment_method: Option<serde_json::Value>,
2453 #[serde(
2458 rename = "fulfilledAt",
2459 default,
2460 skip_serializing_if = "Option::is_none"
2461 )]
2462 pub fulfilled_at: Option<String>,
2463 #[serde(rename = "createdBy", default, skip_serializing_if = "Option::is_none")]
2465 pub created_by: Option<String>,
2466}
2467
2468#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2470pub struct UpdateCouponParams {
2471 #[serde(rename = "altId")]
2474 pub alt_id: String,
2475 #[serde(rename = "altType")]
2479 pub alt_type: String,
2480 pub name: String,
2483 pub code: String,
2486 #[serde(rename = "discountType")]
2490 pub discount_type: String,
2491 #[serde(rename = "discountValue")]
2494 pub discount_value: f64,
2495 #[serde(rename = "startDate")]
2498 pub start_date: String,
2499 #[serde(rename = "endDate", default, skip_serializing_if = "Option::is_none")]
2501 pub end_date: Option<String>,
2502 #[serde(
2504 rename = "usageLimit",
2505 default,
2506 skip_serializing_if = "Option::is_none"
2507 )]
2508 pub usage_limit: Option<f64>,
2509 #[serde(rename = "productIds", default, skip_serializing_if = "Vec::is_empty")]
2511 pub product_ids: Vec<String>,
2512 #[serde(
2514 rename = "applyToFuturePayments",
2515 default,
2516 skip_serializing_if = "Option::is_none"
2517 )]
2518 pub apply_to_future_payments: Option<bool>,
2519 #[serde(
2522 rename = "applyToFuturePaymentsConfig",
2523 default,
2524 skip_serializing_if = "Option::is_none"
2525 )]
2526 pub apply_to_future_payments_config: Option<ApplyToFuturePaymentsConfig>,
2527 #[serde(
2529 rename = "limitPerCustomer",
2530 default,
2531 skip_serializing_if = "Option::is_none"
2532 )]
2533 pub limit_per_customer: Option<bool>,
2534 pub id: String,
2537}
2538
2539#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2541pub struct UpdateCustomProviderCapabilitiesDto {
2542 #[serde(rename = "supportsSubscriptionSchedules")]
2545 pub supports_subscription_schedules: bool,
2546 #[serde(rename = "companyId", default, skip_serializing_if = "Option::is_none")]
2548 pub company_id: Option<String>,
2549 #[serde(
2551 rename = "locationId",
2552 default,
2553 skip_serializing_if = "Option::is_none"
2554 )]
2555 pub location_id: Option<String>,
2556}
2557
2558#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2560pub struct UpdateCustomProviderCapabilitiesResponseSchema {
2561 #[serde(default, skip_serializing_if = "Option::is_none")]
2566 pub success: Option<bool>,
2567}