app-store-server-library 6.0.0

The Rust server library for the App Store Server API, App Store Server Notifications and Advanced Commerce API
Documentation
use serde::{Deserialize, Serialize};
use uuid::Uuid;

use crate::models::billing_plan_type::BillingPlanType;

/// A switch-plan message and product ID you provide in a real-time response to your Get Retention Message endpoint.
///
/// [alternateProduct](https://developer.apple.com/documentation/retentionmessaging/alternateproduct)
#[derive(Debug, Clone, Deserialize, Serialize, Hash, PartialEq, Eq)]
pub struct AlternateProduct {
    /// The message identifier of the text to display in the switch-plan retention message.
    ///
    /// [messageIdentifier](https://developer.apple.com/documentation/retentionmessaging/messageidentifier)
    #[serde(rename = "messageIdentifier")]
    pub message_identifier: Option<Uuid>,

    /// The product identifier of the subscription the retention message suggests for your customer to switch to.
    ///
    /// [productId](https://developer.apple.com/documentation/retentionmessaging/productid)
    #[serde(rename = "productId")]
    pub product_id: Option<String>,

    /// The billing plan type of the subscription the retention message suggests.
    ///
    /// [billingPlanType](https://developer.apple.com/documentation/retentionmessaging/billingplantype)
    #[serde(rename = "billingPlanType")]
    pub billing_plan_type: Option<BillingPlanType>,
}