#![allow(
missing_docs,
clippy::doc_lazy_continuation,
clippy::doc_overindented_list_items
)]
use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct AmountSummary {
pub subtotal: f64,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub discount: Option<f64>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct ApplyToFuturePaymentsConfig {
#[serde(rename = "type")]
pub type_: String,
pub duration: f64,
#[serde(rename = "durationType")]
pub duration_type: String,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct ApplyToFuturePaymentsConfigDto {
#[serde(rename = "type")]
pub type_: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub duration: Option<f64>,
#[serde(
rename = "durationType",
default,
skip_serializing_if = "Option::is_none"
)]
pub duration_type: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct CardDto {
#[serde(rename = "type")]
pub type_: String,
pub last4: String,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct ChequeDto {
pub number: String,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct ConnectCustomProvidersConfigDto {
pub live: CustomProviderKeys,
pub test: CustomProviderKeys,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct ConnectCustomProvidersResponseSchema {
pub name: String,
pub description: String,
#[serde(rename = "paymentsUrl")]
pub payments_url: String,
#[serde(rename = "queryUrl")]
pub query_url: String,
#[serde(rename = "imageUrl")]
pub image_url: String,
#[serde(rename = "_id")]
pub id: String,
#[serde(rename = "locationId")]
pub location_id: String,
#[serde(rename = "marketplaceAppId")]
pub marketplace_app_id: String,
#[serde(
rename = "paymentProvider",
default,
skip_serializing_if = "Option::is_none"
)]
pub payment_provider: Option<serde_json::Value>,
pub deleted: bool,
#[serde(rename = "createdAt")]
pub created_at: String,
#[serde(rename = "updatedAt")]
pub updated_at: String,
#[serde(rename = "traceId", default, skip_serializing_if = "Option::is_none")]
pub trace_id: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct CouponDto {
#[serde(rename = "_id")]
pub id: String,
#[serde(rename = "usageCount")]
pub usage_count: f64,
#[serde(rename = "limitPerCustomer")]
pub limit_per_customer: f64,
#[serde(rename = "altId")]
pub alt_id: String,
#[serde(rename = "altType")]
pub alt_type: String,
pub name: String,
pub code: String,
#[serde(rename = "discountType")]
pub discount_type: String,
#[serde(rename = "discountValue")]
pub discount_value: f64,
pub status: String,
#[serde(rename = "startDate")]
pub start_date: String,
#[serde(rename = "endDate", default, skip_serializing_if = "Option::is_none")]
pub end_date: Option<String>,
#[serde(rename = "applyToFuturePayments")]
pub apply_to_future_payments: bool,
#[serde(rename = "applyToFuturePaymentsConfig")]
pub apply_to_future_payments_config: ApplyToFuturePaymentsConfigDto,
#[serde(rename = "productIds", default, skip_serializing_if = "Vec::is_empty")]
pub product_ids: Vec<String>,
#[serde(rename = "priceIds", default, skip_serializing_if = "Vec::is_empty")]
pub price_ids: Vec<String>,
#[serde(rename = "variantIds", default, skip_serializing_if = "Vec::is_empty")]
pub variant_ids: Vec<String>,
#[serde(rename = "userId", default, skip_serializing_if = "Option::is_none")]
pub user_id: Option<String>,
#[serde(rename = "createdAt")]
pub created_at: String,
#[serde(rename = "updatedAt")]
pub updated_at: String,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct CreateCouponParams {
#[serde(rename = "altId")]
pub alt_id: String,
#[serde(rename = "altType")]
pub alt_type: String,
pub name: String,
pub code: String,
#[serde(rename = "discountType")]
pub discount_type: String,
#[serde(rename = "discountValue")]
pub discount_value: f64,
#[serde(rename = "startDate")]
pub start_date: String,
#[serde(rename = "endDate", default, skip_serializing_if = "Option::is_none")]
pub end_date: Option<String>,
#[serde(
rename = "usageLimit",
default,
skip_serializing_if = "Option::is_none"
)]
pub usage_limit: Option<f64>,
#[serde(rename = "productIds", default, skip_serializing_if = "Vec::is_empty")]
pub product_ids: Vec<String>,
#[serde(rename = "priceIds", default, skip_serializing_if = "Vec::is_empty")]
pub price_ids: Vec<String>,
#[serde(rename = "variantIds", default, skip_serializing_if = "Vec::is_empty")]
pub variant_ids: Vec<String>,
#[serde(
rename = "applyToFuturePayments",
default,
skip_serializing_if = "Option::is_none"
)]
pub apply_to_future_payments: Option<bool>,
#[serde(
rename = "applyToFuturePaymentsConfig",
default,
skip_serializing_if = "Option::is_none"
)]
pub apply_to_future_payments_config: Option<ApplyToFuturePaymentsConfig>,
#[serde(
rename = "limitPerCustomer",
default,
skip_serializing_if = "Option::is_none"
)]
pub limit_per_customer: Option<bool>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct CreateCouponResponseDto {
#[serde(rename = "_id")]
pub id: String,
#[serde(rename = "usageCount")]
pub usage_count: f64,
#[serde(rename = "limitPerCustomer")]
pub limit_per_customer: f64,
#[serde(rename = "altId")]
pub alt_id: String,
#[serde(rename = "altType")]
pub alt_type: String,
pub name: String,
pub code: String,
#[serde(rename = "discountType")]
pub discount_type: String,
#[serde(rename = "discountValue")]
pub discount_value: f64,
pub status: String,
#[serde(rename = "startDate")]
pub start_date: String,
#[serde(rename = "endDate", default, skip_serializing_if = "Option::is_none")]
pub end_date: Option<String>,
#[serde(rename = "applyToFuturePayments")]
pub apply_to_future_payments: bool,
#[serde(rename = "applyToFuturePaymentsConfig")]
pub apply_to_future_payments_config: ApplyToFuturePaymentsConfigDto,
#[serde(rename = "userId", default, skip_serializing_if = "Option::is_none")]
pub user_id: Option<String>,
#[serde(rename = "createdAt")]
pub created_at: String,
#[serde(rename = "updatedAt")]
pub updated_at: String,
#[serde(rename = "traceId")]
pub trace_id: String,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct CreateCustomProvidersDto {
pub name: String,
pub description: String,
#[serde(rename = "paymentsUrl")]
pub payments_url: String,
#[serde(rename = "queryUrl")]
pub query_url: String,
#[serde(rename = "imageUrl")]
pub image_url: String,
#[serde(rename = "supportsSubscriptionSchedule")]
pub supports_subscription_schedule: bool,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct CreateCustomProvidersResponseSchema {
pub name: String,
pub description: String,
#[serde(rename = "paymentsUrl")]
pub payments_url: String,
#[serde(rename = "queryUrl")]
pub query_url: String,
#[serde(rename = "imageUrl")]
pub image_url: String,
#[serde(rename = "_id")]
pub id: String,
#[serde(rename = "locationId")]
pub location_id: String,
#[serde(rename = "marketplaceAppId")]
pub marketplace_app_id: String,
#[serde(
rename = "paymentProvider",
default,
skip_serializing_if = "Option::is_none"
)]
pub payment_provider: Option<serde_json::Value>,
pub deleted: bool,
#[serde(rename = "createdAt")]
pub created_at: String,
#[serde(rename = "updatedAt")]
pub updated_at: String,
#[serde(rename = "traceId", default, skip_serializing_if = "Option::is_none")]
pub trace_id: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct CreateFulfillmentDto {
#[serde(rename = "altId")]
pub alt_id: String,
#[serde(rename = "altType")]
pub alt_type: String,
#[serde(default, skip_serializing_if = "Vec::is_empty")]
pub trackings: Vec<FulfillmentTracking>,
#[serde(default, skip_serializing_if = "Vec::is_empty")]
pub items: Vec<FulfillmentItems>,
#[serde(rename = "notifyCustomer")]
pub notify_customer: bool,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct CreateFulfillmentResponseDto {
pub status: bool,
pub data: FulfillmentSchema,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct CreateWhiteLabelIntegrationProviderDto {
#[serde(rename = "altId")]
pub alt_id: String,
#[serde(rename = "altType")]
pub alt_type: String,
#[serde(rename = "uniqueName")]
pub unique_name: String,
pub title: String,
pub provider: String,
pub description: String,
#[serde(rename = "imageUrl")]
pub image_url: String,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct CreateWhitelabelIntegrationResponseDto {
#[serde(rename = "_id")]
pub id: String,
#[serde(rename = "altId")]
pub alt_id: String,
#[serde(rename = "altType")]
pub alt_type: String,
pub title: String,
pub route: String,
pub provider: String,
pub description: String,
#[serde(rename = "imageUrl")]
pub image_url: String,
#[serde(rename = "createdAt")]
pub created_at: String,
#[serde(rename = "updatedAt")]
pub updated_at: String,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct CustomProviderKeys {
#[serde(rename = "apiKey")]
pub api_key: String,
#[serde(rename = "publishableKey")]
pub publishable_key: String,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct CustomRRuleOptionsDto {
#[serde(rename = "intervalType")]
pub interval_type: String,
pub interval: f64,
#[serde(rename = "startDate")]
pub start_date: String,
#[serde(rename = "startTime", default, skip_serializing_if = "Option::is_none")]
pub start_time: Option<String>,
#[serde(rename = "endDate", default, skip_serializing_if = "Option::is_none")]
pub end_date: Option<String>,
#[serde(rename = "endTime", default, skip_serializing_if = "Option::is_none")]
pub end_time: Option<String>,
#[serde(
rename = "dayOfMonth",
default,
skip_serializing_if = "Option::is_none"
)]
pub day_of_month: Option<f64>,
#[serde(rename = "dayOfWeek", default, skip_serializing_if = "Option::is_none")]
pub day_of_week: Option<String>,
#[serde(rename = "numOfWeek", default, skip_serializing_if = "Option::is_none")]
pub num_of_week: Option<f64>,
#[serde(
rename = "monthOfYear",
default,
skip_serializing_if = "Option::is_none"
)]
pub month_of_year: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub count: Option<f64>,
#[serde(
rename = "daysBefore",
default,
skip_serializing_if = "Option::is_none"
)]
pub days_before: Option<f64>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct DefaultPriceResponseDto {
#[serde(rename = "_id")]
pub id: String,
#[serde(
rename = "membershipOffers",
default,
skip_serializing_if = "Vec::is_empty"
)]
pub membership_offers: Vec<MembershipOfferDto>,
#[serde(
rename = "variantOptionIds",
default,
skip_serializing_if = "Vec::is_empty"
)]
pub variant_option_ids: Vec<String>,
#[serde(
rename = "locationId",
default,
skip_serializing_if = "Option::is_none"
)]
pub location_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub product: Option<String>,
#[serde(rename = "userId", default, skip_serializing_if = "Option::is_none")]
pub user_id: Option<String>,
pub name: String,
#[serde(rename = "type")]
pub type_: String,
pub currency: String,
pub amount: f64,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub recurring: Option<RecurringDto>,
#[serde(rename = "createdAt", default, skip_serializing_if = "Option::is_none")]
pub created_at: Option<String>,
#[serde(rename = "updatedAt", default, skip_serializing_if = "Option::is_none")]
pub updated_at: Option<String>,
#[serde(
rename = "compareAtPrice",
default,
skip_serializing_if = "Option::is_none"
)]
pub compare_at_price: Option<f64>,
#[serde(
rename = "trackInventory",
default,
skip_serializing_if = "Option::is_none"
)]
pub track_inventory: Option<bool>,
#[serde(
rename = "availableQuantity",
default,
skip_serializing_if = "Option::is_none"
)]
pub available_quantity: Option<f64>,
#[serde(
rename = "allowOutOfStockPurchases",
default,
skip_serializing_if = "Option::is_none"
)]
pub allow_out_of_stock_purchases: Option<bool>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct DefaultProductResponseDto {
#[serde(rename = "_id")]
pub id: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
#[serde(default, skip_serializing_if = "Vec::is_empty")]
pub variants: Vec<ProductVariantDto>,
#[serde(rename = "locationId")]
pub location_id: String,
pub name: String,
#[serde(rename = "productType")]
pub product_type: String,
#[serde(
rename = "availableInStore",
default,
skip_serializing_if = "Option::is_none"
)]
pub available_in_store: Option<bool>,
#[serde(rename = "createdAt")]
pub created_at: String,
#[serde(rename = "updatedAt")]
pub updated_at: String,
#[serde(
rename = "statementDescriptor",
default,
skip_serializing_if = "Option::is_none"
)]
pub statement_descriptor: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub image: Option<String>,
#[serde(
rename = "collectionIds",
default,
skip_serializing_if = "Vec::is_empty"
)]
pub collection_ids: Vec<String>,
#[serde(
rename = "isTaxesEnabled",
default,
skip_serializing_if = "Option::is_none"
)]
pub is_taxes_enabled: Option<bool>,
#[serde(default, skip_serializing_if = "Vec::is_empty")]
pub taxes: Vec<String>,
#[serde(
rename = "automaticTaxCategoryId",
default,
skip_serializing_if = "Option::is_none"
)]
pub automatic_tax_category_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub label: Option<ProductLabelDto>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub slug: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct DeleteCouponParams {
#[serde(rename = "altId")]
pub alt_id: String,
#[serde(rename = "altType")]
pub alt_type: String,
pub id: String,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct DeleteCouponResponseDto {
pub success: bool,
#[serde(rename = "traceId")]
pub trace_id: String,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct DeleteCustomProvidersConfigDto {
#[serde(rename = "liveMode")]
pub live_mode: bool,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct DeleteCustomProvidersResponseSchema {
pub success: bool,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct DisconnectCustomProvidersResponseSchema {
pub success: bool,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct FulfilledItem {
#[serde(rename = "_id")]
pub id: String,
pub name: String,
pub product: DefaultProductResponseDto,
pub price: DefaultPriceResponseDto,
pub qty: f64,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct FulfillmentItems {
#[serde(rename = "priceId")]
pub price_id: String,
pub qty: f64,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct FulfillmentSchema {
#[serde(rename = "altId")]
pub alt_id: String,
#[serde(rename = "altType")]
pub alt_type: String,
#[serde(default, skip_serializing_if = "Vec::is_empty")]
pub trackings: Vec<FulfillmentTracking>,
#[serde(rename = "_id")]
pub id: String,
#[serde(default, skip_serializing_if = "Vec::is_empty")]
pub items: Vec<FulfilledItem>,
#[serde(rename = "createdAt")]
pub created_at: String,
#[serde(rename = "updatedAt")]
pub updated_at: String,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct FulfillmentTracking {
#[serde(
rename = "trackingNumber",
default,
skip_serializing_if = "Option::is_none"
)]
pub tracking_number: Option<String>,
#[serde(
rename = "shippingCarrier",
default,
skip_serializing_if = "Option::is_none"
)]
pub shipping_carrier: Option<String>,
#[serde(
rename = "trackingUrl",
default,
skip_serializing_if = "Option::is_none"
)]
pub tracking_url: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct GetCustomProvidersResponseSchema {
pub name: String,
pub description: String,
#[serde(rename = "paymentsUrl")]
pub payments_url: String,
#[serde(rename = "queryUrl")]
pub query_url: String,
#[serde(rename = "imageUrl")]
pub image_url: String,
#[serde(rename = "_id")]
pub id: String,
#[serde(rename = "locationId")]
pub location_id: String,
#[serde(rename = "marketplaceAppId")]
pub marketplace_app_id: String,
#[serde(
rename = "paymentProvider",
default,
skip_serializing_if = "Option::is_none"
)]
pub payment_provider: Option<serde_json::Value>,
pub deleted: bool,
#[serde(rename = "createdAt")]
pub created_at: String,
#[serde(rename = "updatedAt")]
pub updated_at: String,
#[serde(rename = "traceId", default, skip_serializing_if = "Option::is_none")]
pub trace_id: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct GetOrderResponseSchema {
#[serde(rename = "_id")]
pub id: String,
#[serde(rename = "altId")]
pub alt_id: String,
#[serde(rename = "altType")]
pub alt_type: String,
#[serde(rename = "contactId", default, skip_serializing_if = "Option::is_none")]
pub contact_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub currency: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub amount: Option<f64>,
pub status: String,
#[serde(rename = "liveMode", default, skip_serializing_if = "Option::is_none")]
pub live_mode: Option<bool>,
#[serde(rename = "createdAt")]
pub created_at: String,
#[serde(rename = "updatedAt")]
pub updated_at: String,
#[serde(
rename = "fulfillmentStatus",
default,
skip_serializing_if = "Option::is_none"
)]
pub fulfillment_status: Option<String>,
#[serde(
rename = "contactSnapshot",
default,
skip_serializing_if = "Option::is_none"
)]
pub contact_snapshot: Option<serde_json::Value>,
#[serde(
rename = "amountSummary",
default,
skip_serializing_if = "Option::is_none"
)]
pub amount_summary: Option<AmountSummary>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub source: Option<OrderSource>,
#[serde(default, skip_serializing_if = "Vec::is_empty")]
pub items: Vec<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub coupon: Option<serde_json::Value>,
#[serde(
rename = "trackingId",
default,
skip_serializing_if = "Option::is_none"
)]
pub tracking_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub fingerprint: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub meta: Option<serde_json::Value>,
#[serde(
rename = "markAsTest",
default,
skip_serializing_if = "Option::is_none"
)]
pub mark_as_test: Option<bool>,
#[serde(rename = "traceId", default, skip_serializing_if = "Option::is_none")]
pub trace_id: Option<String>,
#[serde(
rename = "automaticTaxesCalculated",
default,
skip_serializing_if = "Option::is_none"
)]
pub automatic_taxes_calculated: Option<bool>,
#[serde(
rename = "taxCalculationProvider",
default,
skip_serializing_if = "Option::is_none"
)]
pub tax_calculation_provider: Option<serde_json::Value>,
#[serde(rename = "createdBy", default, skip_serializing_if = "Option::is_none")]
pub created_by: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct GetSubscriptionResponseSchema {
#[serde(rename = "_id")]
pub id: String,
#[serde(rename = "altType")]
pub alt_type: serde_json::Value,
#[serde(rename = "altId")]
pub alt_id: String,
#[serde(rename = "contactId", default, skip_serializing_if = "Option::is_none")]
pub contact_id: Option<String>,
#[serde(
rename = "contactSnapshot",
default,
skip_serializing_if = "Option::is_none"
)]
pub contact_snapshot: Option<serde_json::Value>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub coupon: Option<serde_json::Value>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub currency: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub amount: Option<f64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub status: Option<serde_json::Value>,
#[serde(rename = "liveMode", default, skip_serializing_if = "Option::is_none")]
pub live_mode: Option<bool>,
#[serde(
rename = "entityType",
default,
skip_serializing_if = "Option::is_none"
)]
pub entity_type: Option<String>,
#[serde(rename = "entityId", default, skip_serializing_if = "Option::is_none")]
pub entity_id: Option<String>,
#[serde(
rename = "entitySource",
default,
skip_serializing_if = "Option::is_none"
)]
pub entity_source: Option<OrderSource>,
#[serde(
rename = "subscriptionId",
default,
skip_serializing_if = "Option::is_none"
)]
pub subscription_id: Option<String>,
#[serde(
rename = "subscriptionSnapshot",
default,
skip_serializing_if = "Option::is_none"
)]
pub subscription_snapshot: Option<serde_json::Value>,
#[serde(
rename = "paymentProvider",
default,
skip_serializing_if = "Option::is_none"
)]
pub payment_provider: Option<serde_json::Value>,
#[serde(rename = "ipAddress", default, skip_serializing_if = "Option::is_none")]
pub ip_address: Option<String>,
#[serde(rename = "createdAt")]
pub created_at: String,
#[serde(rename = "updatedAt")]
pub updated_at: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub meta: Option<serde_json::Value>,
#[serde(
rename = "markAsTest",
default,
skip_serializing_if = "Option::is_none"
)]
pub mark_as_test: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub schedule: Option<ScheduleOptionsDto>,
#[serde(
rename = "autoPayment",
default,
skip_serializing_if = "Option::is_none"
)]
pub auto_payment: Option<serde_json::Value>,
#[serde(
rename = "recurringProduct",
default,
skip_serializing_if = "Option::is_none"
)]
pub recurring_product: Option<serde_json::Value>,
#[serde(
rename = "canceledAt",
default,
skip_serializing_if = "Option::is_none"
)]
pub canceled_at: Option<String>,
#[serde(
rename = "canceledBy",
default,
skip_serializing_if = "Option::is_none"
)]
pub canceled_by: Option<String>,
#[serde(rename = "traceId", default, skip_serializing_if = "Option::is_none")]
pub trace_id: Option<String>,
#[serde(rename = "createdBy", default, skip_serializing_if = "Option::is_none")]
pub created_by: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct GetTxnResponseSchema {
#[serde(rename = "_id")]
pub id: String,
#[serde(rename = "altType")]
pub alt_type: String,
#[serde(rename = "altId")]
pub alt_id: String,
#[serde(rename = "contactId", default, skip_serializing_if = "Option::is_none")]
pub contact_id: Option<String>,
#[serde(
rename = "contactSnapshot",
default,
skip_serializing_if = "Option::is_none"
)]
pub contact_snapshot: Option<serde_json::Value>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub currency: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub amount: Option<f64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub status: Option<serde_json::Value>,
#[serde(rename = "liveMode", default, skip_serializing_if = "Option::is_none")]
pub live_mode: Option<bool>,
#[serde(rename = "createdAt")]
pub created_at: String,
#[serde(rename = "updatedAt")]
pub updated_at: String,
#[serde(
rename = "entityType",
default,
skip_serializing_if = "Option::is_none"
)]
pub entity_type: Option<String>,
#[serde(rename = "entityId", default, skip_serializing_if = "Option::is_none")]
pub entity_id: Option<String>,
#[serde(
rename = "entitySource",
default,
skip_serializing_if = "Option::is_none"
)]
pub entity_source: Option<OrderSource>,
#[serde(rename = "chargeId", default, skip_serializing_if = "Option::is_none")]
pub charge_id: Option<String>,
#[serde(
rename = "chargeSnapshot",
default,
skip_serializing_if = "Option::is_none"
)]
pub charge_snapshot: Option<serde_json::Value>,
#[serde(rename = "invoiceId", default, skip_serializing_if = "Option::is_none")]
pub invoice_id: Option<String>,
#[serde(
rename = "subscriptionId",
default,
skip_serializing_if = "Option::is_none"
)]
pub subscription_id: Option<String>,
#[serde(
rename = "paymentProvider",
default,
skip_serializing_if = "Option::is_none"
)]
pub payment_provider: Option<serde_json::Value>,
#[serde(rename = "ipAddress", default, skip_serializing_if = "Option::is_none")]
pub ip_address: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub meta: Option<serde_json::Value>,
#[serde(
rename = "markAsTest",
default,
skip_serializing_if = "Option::is_none"
)]
pub mark_as_test: Option<bool>,
#[serde(rename = "isParent", default, skip_serializing_if = "Option::is_none")]
pub is_parent: Option<bool>,
#[serde(
rename = "amountRefunded",
default,
skip_serializing_if = "Option::is_none"
)]
pub amount_refunded: Option<f64>,
#[serde(rename = "receiptId", default, skip_serializing_if = "Option::is_none")]
pub receipt_id: Option<String>,
#[serde(rename = "qboSynced", default, skip_serializing_if = "Option::is_none")]
pub qbo_synced: Option<bool>,
#[serde(
rename = "qboResponse",
default,
skip_serializing_if = "Option::is_none"
)]
pub qbo_response: Option<serde_json::Value>,
#[serde(rename = "traceId", default, skip_serializing_if = "Option::is_none")]
pub trace_id: Option<String>,
#[serde(
rename = "mergedFromContactId",
default,
skip_serializing_if = "Option::is_none"
)]
pub merged_from_contact_id: Option<String>,
#[serde(rename = "createdBy", default, skip_serializing_if = "Option::is_none")]
pub created_by: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct IntegrationProviderSchema {
#[serde(rename = "_id")]
pub id: String,
#[serde(rename = "altId")]
pub alt_id: String,
#[serde(rename = "altType")]
pub alt_type: String,
pub title: String,
pub route: String,
pub provider: String,
pub description: String,
#[serde(rename = "imageUrl")]
pub image_url: String,
#[serde(rename = "createdAt")]
pub created_at: String,
#[serde(rename = "updatedAt")]
pub updated_at: String,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct ListCouponsResponseDto {
#[serde(default, skip_serializing_if = "Vec::is_empty")]
pub data: Vec<CouponDto>,
#[serde(rename = "totalCount")]
pub total_count: f64,
#[serde(rename = "traceId")]
pub trace_id: String,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct ListFulfillmentResponseDto {
pub status: bool,
#[serde(default, skip_serializing_if = "Vec::is_empty")]
pub data: Vec<FulfillmentSchema>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct ListOrdersResponseDto {
#[serde(default, skip_serializing_if = "Vec::is_empty")]
pub data: Vec<OrderResponseSchema>,
#[serde(rename = "totalCount")]
pub total_count: f64,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct ListSubscriptionResponseDto {
#[serde(default, skip_serializing_if = "Vec::is_empty")]
pub data: Vec<SubscriptionResponseSchema>,
#[serde(rename = "totalCount")]
pub total_count: f64,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct ListTxnsResponseDto {
#[serde(default, skip_serializing_if = "Vec::is_empty")]
pub data: Vec<TxnResponseSchema>,
#[serde(rename = "totalCount")]
pub total_count: f64,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct ListWhitelabelIntegrationProviderResponseDto {
pub providers: IntegrationProviderSchema,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct MembershipOfferDto {
pub label: String,
pub value: String,
#[serde(rename = "_id")]
pub id: String,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct OrderResponseSchema {
#[serde(rename = "_id")]
pub id: String,
#[serde(rename = "altId")]
pub alt_id: String,
#[serde(rename = "altType")]
pub alt_type: String,
#[serde(rename = "contactId", default, skip_serializing_if = "Option::is_none")]
pub contact_id: Option<String>,
#[serde(
rename = "contactName",
default,
skip_serializing_if = "Option::is_none"
)]
pub contact_name: Option<String>,
#[serde(
rename = "contactEmail",
default,
skip_serializing_if = "Option::is_none"
)]
pub contact_email: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub currency: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub amount: Option<f64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub subtotal: Option<f64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub discount: Option<f64>,
pub status: String,
#[serde(rename = "liveMode", default, skip_serializing_if = "Option::is_none")]
pub live_mode: Option<bool>,
#[serde(
rename = "totalProducts",
default,
skip_serializing_if = "Option::is_none"
)]
pub total_products: Option<f64>,
#[serde(rename = "sourceType")]
pub source_type: String,
#[serde(
rename = "sourceName",
default,
skip_serializing_if = "Option::is_none"
)]
pub source_name: Option<String>,
#[serde(rename = "sourceId", default, skip_serializing_if = "Option::is_none")]
pub source_id: Option<String>,
#[serde(
rename = "sourceMeta",
default,
skip_serializing_if = "Option::is_none"
)]
pub source_meta: Option<serde_json::Value>,
#[serde(
rename = "couponCode",
default,
skip_serializing_if = "Option::is_none"
)]
pub coupon_code: Option<String>,
#[serde(rename = "createdAt")]
pub created_at: String,
#[serde(rename = "updatedAt")]
pub updated_at: String,
#[serde(
rename = "sourceSubType",
default,
skip_serializing_if = "Option::is_none"
)]
pub source_sub_type: Option<String>,
#[serde(
rename = "fulfillmentStatus",
default,
skip_serializing_if = "Option::is_none"
)]
pub fulfillment_status: Option<String>,
#[serde(
rename = "onetimeProducts",
default,
skip_serializing_if = "Option::is_none"
)]
pub onetime_products: Option<f64>,
#[serde(
rename = "recurringProducts",
default,
skip_serializing_if = "Option::is_none"
)]
pub recurring_products: Option<f64>,
#[serde(rename = "createdBy", default, skip_serializing_if = "Option::is_none")]
pub created_by: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct OrderSource {
#[serde(rename = "type")]
pub type_: String,
#[serde(rename = "subType", default, skip_serializing_if = "Option::is_none")]
pub sub_type: Option<String>,
pub id: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub meta: Option<serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct PostRecordOrderPaymentBody {
#[serde(rename = "altId")]
pub alt_id: String,
#[serde(rename = "altType")]
pub alt_type: String,
pub mode: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub card: Option<CardDto>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cheque: Option<ChequeDto>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub notes: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub amount: Option<f64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub meta: Option<serde_json::Value>,
#[serde(
rename = "isPartialPayment",
default,
skip_serializing_if = "Option::is_none"
)]
pub is_partial_payment: Option<bool>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct PostRecordOrderPaymentResponse {
pub success: bool,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct ProductLabelDto {
pub title: String,
#[serde(rename = "startDate", default, skip_serializing_if = "Option::is_none")]
pub start_date: Option<String>,
#[serde(rename = "endDate", default, skip_serializing_if = "Option::is_none")]
pub end_date: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct ProductVariantDto {
pub id: String,
pub name: String,
#[serde(default, skip_serializing_if = "Vec::is_empty")]
pub options: Vec<ProductVariantOptionDto>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct ProductVariantOptionDto {
pub id: String,
pub name: String,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct RecurringDto {
pub interval: String,
#[serde(rename = "intervalCount")]
pub interval_count: f64,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct ScheduleOptionsDto {
#[serde(rename = "executeAt", default, skip_serializing_if = "Option::is_none")]
pub execute_at: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rrule: Option<CustomRRuleOptionsDto>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct SubscriptionResponseSchema {
#[serde(rename = "_id")]
pub id: String,
#[serde(rename = "altId")]
pub alt_id: String,
#[serde(rename = "altType")]
pub alt_type: String,
#[serde(rename = "contactId", default, skip_serializing_if = "Option::is_none")]
pub contact_id: Option<String>,
#[serde(
rename = "contactName",
default,
skip_serializing_if = "Option::is_none"
)]
pub contact_name: Option<String>,
#[serde(
rename = "contactEmail",
default,
skip_serializing_if = "Option::is_none"
)]
pub contact_email: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub currency: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub amount: Option<f64>,
pub status: serde_json::Value,
#[serde(rename = "liveMode", default, skip_serializing_if = "Option::is_none")]
pub live_mode: Option<bool>,
#[serde(
rename = "entityType",
default,
skip_serializing_if = "Option::is_none"
)]
pub entity_type: Option<String>,
#[serde(rename = "entityId", default, skip_serializing_if = "Option::is_none")]
pub entity_id: Option<String>,
#[serde(rename = "entitySourceType")]
pub entity_source_type: String,
#[serde(
rename = "entitySourceName",
default,
skip_serializing_if = "Option::is_none"
)]
pub entity_source_name: Option<String>,
#[serde(
rename = "entitySourceId",
default,
skip_serializing_if = "Option::is_none"
)]
pub entity_source_id: Option<String>,
#[serde(
rename = "entitySourceMeta",
default,
skip_serializing_if = "Option::is_none"
)]
pub entity_source_meta: Option<serde_json::Value>,
#[serde(
rename = "subscriptionId",
default,
skip_serializing_if = "Option::is_none"
)]
pub subscription_id: Option<String>,
#[serde(
rename = "subscriptionSnapshot",
default,
skip_serializing_if = "Option::is_none"
)]
pub subscription_snapshot: Option<serde_json::Value>,
#[serde(
rename = "paymentProviderType",
default,
skip_serializing_if = "Option::is_none"
)]
pub payment_provider_type: Option<String>,
#[serde(
rename = "paymentProviderConnectedAccount",
default,
skip_serializing_if = "Option::is_none"
)]
pub payment_provider_connected_account: Option<String>,
#[serde(rename = "ipAddress", default, skip_serializing_if = "Option::is_none")]
pub ip_address: Option<String>,
#[serde(rename = "createdAt")]
pub created_at: String,
#[serde(rename = "updatedAt")]
pub updated_at: String,
#[serde(rename = "createdBy", default, skip_serializing_if = "Option::is_none")]
pub created_by: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct TxnResponseSchema {
#[serde(rename = "_id")]
pub id: String,
#[serde(rename = "altId")]
pub alt_id: String,
#[serde(rename = "altType")]
pub alt_type: String,
#[serde(rename = "contactId", default, skip_serializing_if = "Option::is_none")]
pub contact_id: Option<String>,
#[serde(
rename = "mergedFromContactId",
default,
skip_serializing_if = "Option::is_none"
)]
pub merged_from_contact_id: Option<String>,
#[serde(
rename = "contactName",
default,
skip_serializing_if = "Option::is_none"
)]
pub contact_name: Option<String>,
#[serde(
rename = "contactEmail",
default,
skip_serializing_if = "Option::is_none"
)]
pub contact_email: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub currency: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub amount: Option<f64>,
pub status: serde_json::Value,
#[serde(rename = "liveMode", default, skip_serializing_if = "Option::is_none")]
pub live_mode: Option<bool>,
#[serde(
rename = "entityType",
default,
skip_serializing_if = "Option::is_none"
)]
pub entity_type: Option<String>,
#[serde(rename = "entityId", default, skip_serializing_if = "Option::is_none")]
pub entity_id: Option<String>,
#[serde(rename = "entitySourceType")]
pub entity_source_type: String,
#[serde(
rename = "entitySourceSubType",
default,
skip_serializing_if = "Option::is_none"
)]
pub entity_source_sub_type: Option<String>,
#[serde(
rename = "entitySourceName",
default,
skip_serializing_if = "Option::is_none"
)]
pub entity_source_name: Option<String>,
#[serde(
rename = "entitySourceId",
default,
skip_serializing_if = "Option::is_none"
)]
pub entity_source_id: Option<String>,
#[serde(
rename = "entitySourceMeta",
default,
skip_serializing_if = "Option::is_none"
)]
pub entity_source_meta: Option<serde_json::Value>,
#[serde(
rename = "subscriptionId",
default,
skip_serializing_if = "Option::is_none"
)]
pub subscription_id: Option<String>,
#[serde(rename = "chargeId", default, skip_serializing_if = "Option::is_none")]
pub charge_id: Option<String>,
#[serde(
rename = "chargeSnapshot",
default,
skip_serializing_if = "Option::is_none"
)]
pub charge_snapshot: Option<serde_json::Value>,
#[serde(
rename = "paymentProviderType",
default,
skip_serializing_if = "Option::is_none"
)]
pub payment_provider_type: Option<String>,
#[serde(
rename = "paymentProviderConnectedAccount",
default,
skip_serializing_if = "Option::is_none"
)]
pub payment_provider_connected_account: Option<String>,
#[serde(rename = "ipAddress", default, skip_serializing_if = "Option::is_none")]
pub ip_address: Option<String>,
#[serde(rename = "createdAt")]
pub created_at: String,
#[serde(rename = "updatedAt")]
pub updated_at: String,
#[serde(
rename = "amountRefunded",
default,
skip_serializing_if = "Option::is_none"
)]
pub amount_refunded: Option<f64>,
#[serde(
rename = "paymentMethod",
default,
skip_serializing_if = "Option::is_none"
)]
pub payment_method: Option<serde_json::Value>,
#[serde(rename = "fulfilledAt")]
pub fulfilled_at: String,
#[serde(rename = "createdBy", default, skip_serializing_if = "Option::is_none")]
pub created_by: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct UpdateCouponParams {
#[serde(rename = "altId")]
pub alt_id: String,
#[serde(rename = "altType")]
pub alt_type: String,
pub name: String,
pub code: String,
#[serde(rename = "discountType")]
pub discount_type: String,
#[serde(rename = "discountValue")]
pub discount_value: f64,
#[serde(rename = "startDate")]
pub start_date: String,
#[serde(rename = "endDate", default, skip_serializing_if = "Option::is_none")]
pub end_date: Option<String>,
#[serde(
rename = "usageLimit",
default,
skip_serializing_if = "Option::is_none"
)]
pub usage_limit: Option<f64>,
#[serde(rename = "productIds", default, skip_serializing_if = "Vec::is_empty")]
pub product_ids: Vec<String>,
#[serde(rename = "priceIds", default, skip_serializing_if = "Vec::is_empty")]
pub price_ids: Vec<String>,
#[serde(rename = "variantIds", default, skip_serializing_if = "Vec::is_empty")]
pub variant_ids: Vec<String>,
#[serde(
rename = "applyToFuturePayments",
default,
skip_serializing_if = "Option::is_none"
)]
pub apply_to_future_payments: Option<bool>,
#[serde(
rename = "applyToFuturePaymentsConfig",
default,
skip_serializing_if = "Option::is_none"
)]
pub apply_to_future_payments_config: Option<ApplyToFuturePaymentsConfig>,
#[serde(
rename = "limitPerCustomer",
default,
skip_serializing_if = "Option::is_none"
)]
pub limit_per_customer: Option<bool>,
pub id: String,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct UpdateCustomProviderCapabilitiesDto {
#[serde(rename = "supportsSubscriptionSchedules")]
pub supports_subscription_schedules: bool,
#[serde(rename = "companyId", default, skip_serializing_if = "Option::is_none")]
pub company_id: Option<String>,
#[serde(
rename = "locationId",
default,
skip_serializing_if = "Option::is_none"
)]
pub location_id: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct UpdateCustomProviderCapabilitiesResponseSchema {
pub success: bool,
}