# Generated by ariadne-codegen on 2023-11-28 09:54
# Source: operations.graphql

from typing import Annotated, Any, List, Literal, Optional, Union

from pydantic import Field

from .base_model import BaseModel
from .enums import (
    AccessDeniedReason,
    Alignment,
    BillingModel,
    BillingPeriod,
    BillingVendorIdentifier,
    CouponStatus,
    CouponType,
    Currency,
    DiscountDurationType,
    DiscountType,
    EntitlementResetPeriod,
    FeatureType,
    FontWeight,
    MeterType,
    MonthlyAccordingTo,
    PaymentCollection,
    PricingType,
    PromotionalEntitlementPeriod,
    PromotionalEntitlementStatus,
    PublishMigrationType,
    SubscriptionInvoiceStatus,
    SubscriptionScheduleStatus,
    SubscriptionScheduleType,
    SubscriptionStatus,
    SyncStatus,
    TiersMode,
    TrialPeriodUnits,
    VendorIdentifier,
    WeeklyAccordingTo,
    WidgetType,
    experimentGroupType,
)


class PackageEntitlementFragment(BaseModel):
    usage_limit: Optional[float] = Field(alias="usageLimit")
    has_unlimited_usage: Optional[bool] = Field(alias="hasUnlimitedUsage")
    feature_id: str = Field(alias="featureId")
    reset_period: Optional[EntitlementResetPeriod] = Field(alias="resetPeriod")
    hidden_from_widgets: Optional[List[WidgetType]] = Field(alias="hiddenFromWidgets")
    is_custom: Optional[bool] = Field(alias="isCustom")
    display_name_override: Optional[str] = Field(alias="displayNameOverride")
    feature: "PackageEntitlementFragmentFeature"


class PackageEntitlementFragmentFeature(BaseModel):
    feature_type: FeatureType = Field(alias="featureType")
    meter_type: Optional[MeterType] = Field(alias="meterType")
    feature_units: Optional[str] = Field(alias="featureUnits")
    feature_units_plural: Optional[str] = Field(alias="featureUnitsPlural")
    display_name: str = Field(alias="displayName")
    description: Optional[str]
    ref_id: str = Field(alias="refId")
    additional_meta_data: Optional[Any] = Field(alias="additionalMetaData")


class PriceTierFragment(BaseModel):
    up_to: float = Field(alias="upTo")
    unit_price: "PriceTierFragmentUnitPrice" = Field(alias="unitPrice")


class PriceTierFragmentUnitPrice(BaseModel):
    amount: float
    currency: Currency


class PriceFragment(BaseModel):
    billing_model: BillingModel = Field(alias="billingModel")
    billing_period: BillingPeriod = Field(alias="billingPeriod")
    billing_id: Optional[str] = Field(alias="billingId")
    min_unit_quantity: Optional[float] = Field(alias="minUnitQuantity")
    max_unit_quantity: Optional[float] = Field(alias="maxUnitQuantity")
    billing_country_code: Optional[str] = Field(alias="billingCountryCode")
    price: Optional["PriceFragmentPrice"]
    tiers_mode: Optional[TiersMode] = Field(alias="tiersMode")
    tiers: Optional[List["PriceFragmentTiers"]]
    feature: Optional["PriceFragmentFeature"]


class PriceFragmentPrice(BaseModel):
    amount: float
    currency: Currency


class PriceFragmentTiers(PriceTierFragment):
    pass


class PriceFragmentFeature(BaseModel):
    ref_id: str = Field(alias="refId")
    feature_units: Optional[str] = Field(alias="featureUnits")
    feature_units_plural: Optional[str] = Field(alias="featureUnitsPlural")
    display_name: str = Field(alias="displayName")
    description: Optional[str]


class AddonFragment(BaseModel):
    id: str
    ref_id: str = Field(alias="refId")
    billing_id: Optional[str] = Field(alias="billingId")
    display_name: str = Field(alias="displayName")
    description: Optional[str]
    additional_meta_data: Optional[Any] = Field(alias="additionalMetaData")
    entitlements: Optional[List["AddonFragmentEntitlements"]]
    prices: Optional[List["AddonFragmentPrices"]]
    pricing_type: Optional[PricingType] = Field(alias="pricingType")


class AddonFragmentEntitlements(PackageEntitlementFragment):
    pass


class AddonFragmentPrices(PriceFragment):
    pass


class FontVariantFragment(BaseModel):
    font_size: Optional[float] = Field(alias="fontSize")
    font_weight: Optional[FontWeight] = Field(alias="fontWeight")


class TypographyConfigurationFragment(BaseModel):
    font_family: Optional[str] = Field(alias="fontFamily")
    h1: Optional["TypographyConfigurationFragmentH1"]
    h2: Optional["TypographyConfigurationFragmentH2"]
    h3: Optional["TypographyConfigurationFragmentH3"]
    body: Optional["TypographyConfigurationFragmentBody"]


class TypographyConfigurationFragmentH1(FontVariantFragment):
    pass


class TypographyConfigurationFragmentH2(FontVariantFragment):
    pass


class TypographyConfigurationFragmentH3(FontVariantFragment):
    pass


class TypographyConfigurationFragmentBody(FontVariantFragment):
    pass


class CheckoutConfigurationFragment(BaseModel):
    palette: Optional["CheckoutConfigurationFragmentPalette"]
    typography: Optional["CheckoutConfigurationFragmentTypography"]
    custom_css: Optional[str] = Field(alias="customCss")
    content: Optional["CheckoutConfigurationFragmentContent"]
    typename__: str = Field(alias="__typename")


class CheckoutConfigurationFragmentPalette(BaseModel):
    primary: Optional[str]
    text_color: Optional[str] = Field(alias="textColor")
    background_color: Optional[str] = Field(alias="backgroundColor")
    border_color: Optional[str] = Field(alias="borderColor")
    summary_background_color: Optional[str] = Field(alias="summaryBackgroundColor")
    typename__: Literal["CheckoutColorPalette"] = Field(alias="__typename")


class CheckoutConfigurationFragmentTypography(TypographyConfigurationFragment):
    typename__: Literal["TypographyConfiguration"] = Field(alias="__typename")


class CheckoutConfigurationFragmentContent(BaseModel):
    collect_phone_number: Optional[bool] = Field(alias="collectPhoneNumber")


class TotalPriceFragment(BaseModel):
    sub_total: "TotalPriceFragmentSubTotal" = Field(alias="subTotal")
    total: "TotalPriceFragmentTotal"


class TotalPriceFragmentSubTotal(BaseModel):
    amount: float
    currency: Currency


class TotalPriceFragmentTotal(BaseModel):
    amount: float
    currency: Currency


class CustomerResourceFragment(BaseModel):
    resource_id: str = Field(alias="resourceId")


class SubscriptionFutureUpdateData(BaseModel):
    subscription_schedule_type: SubscriptionScheduleType = Field(
        alias="subscriptionScheduleType"
    )
    schedule_status: SubscriptionScheduleStatus = Field(alias="scheduleStatus")
    scheduled_execution_time: Any = Field(alias="scheduledExecutionTime")
    target_package: Optional["SubscriptionFutureUpdateDataTargetPackage"] = Field(
        alias="targetPackage"
    )
    schedule_variables: Optional[
        Annotated[
            Union[
                "SubscriptionFutureUpdateDataScheduleVariablesAddonChangeVariables",
                "SubscriptionFutureUpdateDataScheduleVariablesBillingPeriodChangeVariables",
                "SubscriptionFutureUpdateDataScheduleVariablesDowngradeChangeVariables",
                "SubscriptionFutureUpdateDataScheduleVariablesUnitAmountChangeVariables",
            ],
            Field(discriminator="typename__"),
        ]
    ] = Field(alias="scheduleVariables")


class SubscriptionFutureUpdateDataTargetPackage(BaseModel):
    id: str
    ref_id: str = Field(alias="refId")
    display_name: str = Field(alias="displayName")


class SubscriptionFutureUpdateDataScheduleVariablesAddonChangeVariables(BaseModel):
    typename__: Literal["AddonChangeVariables"] = Field(alias="__typename")
    addon_ref_id: str = Field(alias="addonRefId")
    new_quantity: float = Field(alias="newQuantity")


class SubscriptionFutureUpdateDataScheduleVariablesBillingPeriodChangeVariables(
    BaseModel
):
    typename__: Literal["BillingPeriodChangeVariables"] = Field(alias="__typename")
    billing_period: Optional[BillingPeriod] = Field(alias="billingPeriod")


class SubscriptionFutureUpdateDataScheduleVariablesDowngradeChangeVariables(BaseModel):
    typename__: Literal["DowngradeChangeVariables"] = Field(alias="__typename")
    addon_ref_ids: Optional[str] = Field(alias="addonRefIds")
    billing_period: Optional[BillingPeriod] = Field(alias="billingPeriod")
    downgrade_plan_ref_id: str = Field(alias="downgradePlanRefId")


class SubscriptionFutureUpdateDataScheduleVariablesUnitAmountChangeVariables(BaseModel):
    typename__: Literal["UnitAmountChangeVariables"] = Field(alias="__typename")
    new_unit_amount: Optional[float] = Field(alias="newUnitAmount")
    feature_id: Optional[str] = Field(alias="featureId")


class ProductFragment(BaseModel):
    ref_id: str = Field(alias="refId")
    display_name: Optional[str] = Field(alias="displayName")
    description: Optional[str]
    additional_meta_data: Optional[Any] = Field(alias="additionalMetaData")
    product_settings: "ProductFragmentProductSettings" = Field(alias="productSettings")


class ProductFragmentProductSettings(BaseModel):
    downgrade_plan: Optional["ProductFragmentProductSettingsDowngradePlan"] = Field(
        alias="downgradePlan"
    )


class ProductFragmentProductSettingsDowngradePlan(BaseModel):
    ref_id: str = Field(alias="refId")
    display_name: str = Field(alias="displayName")


class PlanFragment(BaseModel):
    id: str
    ref_id: str = Field(alias="refId")
    display_name: str = Field(alias="displayName")
    description: Optional[str]
    billing_id: Optional[str] = Field(alias="billingId")
    version_number: int = Field(alias="versionNumber")
    additional_meta_data: Optional[Any] = Field(alias="additionalMetaData")
    product: "PlanFragmentProduct"
    base_plan: Optional["PlanFragmentBasePlan"] = Field(alias="basePlan")
    entitlements: Optional[List["PlanFragmentEntitlements"]]
    inherited_entitlements: Optional[List["PlanFragmentInheritedEntitlements"]] = Field(
        alias="inheritedEntitlements"
    )
    compatible_addons: Optional[List["PlanFragmentCompatibleAddons"]] = Field(
        alias="compatibleAddons"
    )
    prices: Optional[List["PlanFragmentPrices"]]
    pricing_type: Optional[PricingType] = Field(alias="pricingType")
    default_trial_config: Optional["PlanFragmentDefaultTrialConfig"] = Field(
        alias="defaultTrialConfig"
    )


class PlanFragmentProduct(ProductFragment):
    pass


class PlanFragmentBasePlan(BaseModel):
    ref_id: str = Field(alias="refId")
    display_name: str = Field(alias="displayName")


class PlanFragmentEntitlements(PackageEntitlementFragment):
    pass


class PlanFragmentInheritedEntitlements(PackageEntitlementFragment):
    pass


class PlanFragmentCompatibleAddons(AddonFragment):
    pass


class PlanFragmentPrices(PriceFragment):
    pass


class PlanFragmentDefaultTrialConfig(BaseModel):
    duration: float
    units: TrialPeriodUnits


class SubscriptionScheduledUpdateData(BaseModel):
    subscription_schedule_type: SubscriptionScheduleType = Field(
        alias="subscriptionScheduleType"
    )
    schedule_status: SubscriptionScheduleStatus = Field(alias="scheduleStatus")
    scheduled_execution_time: Any = Field(alias="scheduledExecutionTime")
    target_package: Optional["SubscriptionScheduledUpdateDataTargetPackage"] = Field(
        alias="targetPackage"
    )
    schedule_variables: Optional[
        Annotated[
            Union[
                "SubscriptionScheduledUpdateDataScheduleVariablesAddonChangeVariables",
                "SubscriptionScheduledUpdateDataScheduleVariablesBillingPeriodChangeVariables",
                "SubscriptionScheduledUpdateDataScheduleVariablesDowngradeChangeVariables",
                "SubscriptionScheduledUpdateDataScheduleVariablesUnitAmountChangeVariables",
            ],
            Field(discriminator="typename__"),
        ]
    ] = Field(alias="scheduleVariables")


class SubscriptionScheduledUpdateDataTargetPackage(BaseModel):
    id: str
    ref_id: str = Field(alias="refId")
    display_name: str = Field(alias="displayName")


class SubscriptionScheduledUpdateDataScheduleVariablesAddonChangeVariables(BaseModel):
    typename__: Literal["AddonChangeVariables"] = Field(alias="__typename")
    addon_ref_id: str = Field(alias="addonRefId")
    new_quantity: float = Field(alias="newQuantity")


class SubscriptionScheduledUpdateDataScheduleVariablesBillingPeriodChangeVariables(
    BaseModel
):
    typename__: Literal["BillingPeriodChangeVariables"] = Field(alias="__typename")
    billing_period: Optional[BillingPeriod] = Field(alias="billingPeriod")


class SubscriptionScheduledUpdateDataScheduleVariablesDowngradeChangeVariables(
    BaseModel
):
    typename__: Literal["DowngradeChangeVariables"] = Field(alias="__typename")
    addon_ref_ids: Optional[str] = Field(alias="addonRefIds")
    billing_period: Optional[BillingPeriod] = Field(alias="billingPeriod")
    downgrade_plan_ref_id: str = Field(alias="downgradePlanRefId")


class SubscriptionScheduledUpdateDataScheduleVariablesUnitAmountChangeVariables(
    BaseModel
):
    typename__: Literal["UnitAmountChangeVariables"] = Field(alias="__typename")
    new_unit_amount: Optional[float] = Field(alias="newUnitAmount")
    feature_id: Optional[str] = Field(alias="featureId")


class SubscriptionInvoiceFragment(BaseModel):
    billing_id: str = Field(alias="billingId")
    status: SubscriptionInvoiceStatus
    created_at: Any = Field(alias="createdAt")
    updated_at: Any = Field(alias="updatedAt")
    requires_action: bool = Field(alias="requiresAction")
    payment_url: Optional[str] = Field(alias="paymentUrl")
    payment_secret: Optional[str] = Field(alias="paymentSecret")
    error_message: Optional[str] = Field(alias="errorMessage")


class SubscriptionFragment(BaseModel):
    id: str
    start_date: Any = Field(alias="startDate")
    end_date: Optional[Any] = Field(alias="endDate")
    trial_end_date: Optional[Any] = Field(alias="trialEndDate")
    cancellation_date: Optional[Any] = Field(alias="cancellationDate")
    effective_end_date: Optional[Any] = Field(alias="effectiveEndDate")
    status: SubscriptionStatus
    ref_id: str = Field(alias="refId")
    current_billing_period_end: Optional[Any] = Field(alias="currentBillingPeriodEnd")
    additional_meta_data: Optional[Any] = Field(alias="additionalMetaData")
    billing_id: Optional[str] = Field(alias="billingId")
    billing_link_url: Optional[str] = Field(alias="billingLinkUrl")
    latest_invoice: Optional["SubscriptionFragmentLatestInvoice"] = Field(
        alias="latestInvoice"
    )
    payment_collection: PaymentCollection = Field(alias="paymentCollection")
    billing_sync_error: Optional[str] = Field(alias="billingSyncError")
    resource: Optional["SubscriptionFragmentResource"]
    experiment_info: Optional["SubscriptionFragmentExperimentInfo"] = Field(
        alias="experimentInfo"
    )
    prices: Optional[List["SubscriptionFragmentPrices"]]
    total_price: Optional["SubscriptionFragmentTotalPrice"] = Field(alias="totalPrice")
    pricing_type: PricingType = Field(alias="pricingType")
    plan: "SubscriptionFragmentPlan"
    addons: Optional[List["SubscriptionFragmentAddons"]]
    scheduled_updates: Optional[List["SubscriptionFragmentScheduledUpdates"]] = Field(
        alias="scheduledUpdates"
    )
    future_updates: List["SubscriptionFragmentFutureUpdates"] = Field(
        alias="futureUpdates"
    )


class SubscriptionFragmentLatestInvoice(SubscriptionInvoiceFragment):
    pass


class SubscriptionFragmentResource(CustomerResourceFragment):
    pass


class SubscriptionFragmentExperimentInfo(BaseModel):
    name: str
    group_type: experimentGroupType = Field(alias="groupType")
    group_name: str = Field(alias="groupName")
    id: str


class SubscriptionFragmentPrices(BaseModel):
    usage_limit: Optional[float] = Field(alias="usageLimit")
    price: Optional["SubscriptionFragmentPricesPrice"]


class SubscriptionFragmentPricesPrice(PriceFragment):
    pass


class SubscriptionFragmentTotalPrice(TotalPriceFragment):
    pass


class SubscriptionFragmentPlan(PlanFragment):
    pass


class SubscriptionFragmentAddons(BaseModel):
    id: str
    quantity: float
    addon: "SubscriptionFragmentAddonsAddon"


class SubscriptionFragmentAddonsAddon(AddonFragment):
    pass


class SubscriptionFragmentScheduledUpdates(SubscriptionScheduledUpdateData):
    pass


class SubscriptionFragmentFutureUpdates(SubscriptionFutureUpdateData):
    pass


class SlimCustomerFragment(BaseModel):
    id: str
    name: Optional[str]
    email: Optional[str]
    created_at: Optional[Any] = Field(alias="createdAt")
    updated_at: Any = Field(alias="updatedAt")
    ref_id: str = Field(alias="refId")
    customer_id: str = Field(alias="customerId")
    billing_id: Optional[str] = Field(alias="billingId")
    additional_meta_data: Optional[Any] = Field(alias="additionalMetaData")


class CouponFragment(BaseModel):
    id: str
    discount_value: float = Field(alias="discountValue")
    type: CouponType
    additional_meta_data: Optional[Any] = Field(alias="additionalMetaData")
    ref_id: str = Field(alias="refId")
    name: str
    description: Optional[str]
    created_at: Any = Field(alias="createdAt")
    updated_at: Any = Field(alias="updatedAt")
    billing_id: Optional[str] = Field(alias="billingId")
    billing_link_url: Optional[str] = Field(alias="billingLinkUrl")
    status: CouponStatus
    sync_states: Optional[List["CouponFragmentSyncStates"]] = Field(alias="syncStates")
    customers: Optional[List["CouponFragmentCustomers"]]


class CouponFragmentSyncStates(BaseModel):
    vendor_identifier: VendorIdentifier = Field(alias="vendorIdentifier")
    status: SyncStatus


class CouponFragmentCustomers(BaseModel):
    id: str


class PromotionalEntitlementFragment(BaseModel):
    status: PromotionalEntitlementStatus
    usage_limit: Optional[float] = Field(alias="usageLimit")
    feature_id: str = Field(alias="featureId")
    has_unlimited_usage: Optional[bool] = Field(alias="hasUnlimitedUsage")
    reset_period: Optional[EntitlementResetPeriod] = Field(alias="resetPeriod")
    end_date: Optional[Any] = Field(alias="endDate")
    is_visible: bool = Field(alias="isVisible")
    feature: "PromotionalEntitlementFragmentFeature"


class PromotionalEntitlementFragmentFeature(BaseModel):
    feature_type: FeatureType = Field(alias="featureType")
    meter_type: Optional[MeterType] = Field(alias="meterType")
    feature_units: Optional[str] = Field(alias="featureUnits")
    feature_units_plural: Optional[str] = Field(alias="featureUnitsPlural")
    display_name: str = Field(alias="displayName")
    description: Optional[str]
    ref_id: str = Field(alias="refId")
    additional_meta_data: Optional[Any] = Field(alias="additionalMetaData")


class CustomerFragment(SlimCustomerFragment):
    has_payment_method: bool = Field(alias="hasPaymentMethod")
    has_active_subscription: bool = Field(alias="hasActiveSubscription")
    default_payment_expiration_month: Optional[int] = Field(
        alias="defaultPaymentExpirationMonth"
    )
    default_payment_expiration_year: Optional[int] = Field(
        alias="defaultPaymentExpirationYear"
    )
    default_payment_method_last4_digits: Optional[str] = Field(
        alias="defaultPaymentMethodLast4Digits"
    )
    trialed_plans: Optional[List["CustomerFragmentTrialedPlans"]] = Field(
        alias="trialedPlans"
    )
    experiment_info: Optional["CustomerFragmentExperimentInfo"] = Field(
        alias="experimentInfo"
    )
    coupon: Optional["CustomerFragmentCoupon"]
    eligible_for_trial: Optional[List["CustomerFragmentEligibleForTrial"]] = Field(
        alias="eligibleForTrial"
    )
    promotional_entitlements: List["CustomerFragmentPromotionalEntitlements"] = Field(
        alias="promotionalEntitlements"
    )


class CustomerFragmentTrialedPlans(BaseModel):
    product_id: Optional[str] = Field(alias="productId")
    product_ref_id: Optional[str] = Field(alias="productRefId")
    plan_ref_id: Optional[str] = Field(alias="planRefId")
    plan_id: Optional[str] = Field(alias="planId")


class CustomerFragmentExperimentInfo(BaseModel):
    group_type: experimentGroupType = Field(alias="groupType")
    group_name: str = Field(alias="groupName")
    id: str
    name: str


class CustomerFragmentCoupon(CouponFragment):
    pass


class CustomerFragmentEligibleForTrial(BaseModel):
    product_id: Optional[str] = Field(alias="productId")
    product_ref_id: Optional[str] = Field(alias="productRefId")
    eligible: bool


class CustomerFragmentPromotionalEntitlements(PromotionalEntitlementFragment):
    pass


class CheckoutStateFragment(BaseModel):
    configuration: Optional["CheckoutStateFragmentConfiguration"]
    setup_secret: str = Field(alias="setupSecret")
    customer: "CheckoutStateFragmentCustomer"
    active_subscription: Optional["CheckoutStateFragmentActiveSubscription"] = Field(
        alias="activeSubscription"
    )
    resource: Optional["CheckoutStateFragmentResource"]
    plan: "CheckoutStateFragmentPlan"
    billing_integration: "CheckoutStateFragmentBillingIntegration" = Field(
        alias="billingIntegration"
    )


class CheckoutStateFragmentConfiguration(CheckoutConfigurationFragment):
    pass


class CheckoutStateFragmentCustomer(CustomerFragment):
    pass


class CheckoutStateFragmentActiveSubscription(SubscriptionFragment):
    pass


class CheckoutStateFragmentResource(CustomerResourceFragment):
    pass


class CheckoutStateFragmentPlan(PlanFragment):
    pass


class CheckoutStateFragmentBillingIntegration(BaseModel):
    billing_identifier: BillingVendorIdentifier = Field(alias="billingIdentifier")
    credentials: "CheckoutStateFragmentBillingIntegrationCredentials"


class CheckoutStateFragmentBillingIntegrationCredentials(BaseModel):
    account_id: str = Field(alias="accountId")
    public_key: str = Field(alias="publicKey")


class CustomerPortalBillingInformationFragment(BaseModel):
    email: Optional[str]
    name: Optional[str]
    default_payment_method_last4_digits: Optional[str] = Field(
        alias="defaultPaymentMethodLast4Digits"
    )
    default_payment_method_id: Optional[str] = Field(alias="defaultPaymentMethodId")
    default_payment_expiration_month: Optional[int] = Field(
        alias="defaultPaymentExpirationMonth"
    )
    default_payment_expiration_year: Optional[int] = Field(
        alias="defaultPaymentExpirationYear"
    )


class CustomerPortalConfigurationFragment(BaseModel):
    palette: Optional["CustomerPortalConfigurationFragmentPalette"]
    typography: Optional["CustomerPortalConfigurationFragmentTypography"]
    custom_css: Optional[str] = Field(alias="customCss")


class CustomerPortalConfigurationFragmentPalette(BaseModel):
    primary: Optional[str]
    text_color: Optional[str] = Field(alias="textColor")
    background_color: Optional[str] = Field(alias="backgroundColor")
    border_color: Optional[str] = Field(alias="borderColor")
    current_plan_background: Optional[str] = Field(alias="currentPlanBackground")
    icons_color: Optional[str] = Field(alias="iconsColor")
    paywall_background_color: Optional[str] = Field(alias="paywallBackgroundColor")


class CustomerPortalConfigurationFragmentTypography(TypographyConfigurationFragment):
    pass


class FeatureFragment(BaseModel):
    feature_type: FeatureType = Field(alias="featureType")
    meter_type: Optional[MeterType] = Field(alias="meterType")
    feature_units: Optional[str] = Field(alias="featureUnits")
    feature_units_plural: Optional[str] = Field(alias="featureUnitsPlural")
    description: Optional[str]
    display_name: str = Field(alias="displayName")
    ref_id: str = Field(alias="refId")


class CustomerPortalEntitlementFragment(BaseModel):
    is_granted: bool = Field(alias="isGranted")
    usage_limit: Optional[float] = Field(alias="usageLimit")
    current_usage: Optional[float] = Field(alias="currentUsage")
    has_unlimited_usage: bool = Field(alias="hasUnlimitedUsage")
    next_reset_date: Optional[Any] = Field(alias="nextResetDate")
    reset_period: Optional[EntitlementResetPeriod] = Field(alias="resetPeriod")
    reset_period_configuration: Optional[
        Annotated[
            Union[
                "CustomerPortalEntitlementFragmentResetPeriodConfigurationMonthlyResetPeriodConfig",
                "CustomerPortalEntitlementFragmentResetPeriodConfigurationWeeklyResetPeriodConfig",
            ],
            Field(discriminator="typename__"),
        ]
    ] = Field(alias="resetPeriodConfiguration")
    feature: Optional["CustomerPortalEntitlementFragmentFeature"]


class CustomerPortalEntitlementFragmentResetPeriodConfigurationMonthlyResetPeriodConfig(
    BaseModel
):
    typename__: Literal["MonthlyResetPeriodConfig"] = Field(alias="__typename")
    monthly_according_to: Optional[MonthlyAccordingTo] = Field(
        alias="monthlyAccordingTo"
    )


class CustomerPortalEntitlementFragmentResetPeriodConfigurationWeeklyResetPeriodConfig(
    BaseModel
):
    typename__: Literal["WeeklyResetPeriodConfig"] = Field(alias="__typename")
    weekly_according_to: Optional[WeeklyAccordingTo] = Field(alias="weeklyAccordingTo")


class CustomerPortalEntitlementFragmentFeature(FeatureFragment):
    pass


class CustomerPortalPromotionalEntitlementFragment(BaseModel):
    display_name: str = Field(alias="displayName")
    has_unlimited_usage: Optional[bool] = Field(alias="hasUnlimitedUsage")
    usage_limit: Optional[float] = Field(alias="usageLimit")
    period: PromotionalEntitlementPeriod
    start_date: Any = Field(alias="startDate")
    end_date: Optional[Any] = Field(alias="endDate")


class CustomerPortalSubscriptionAddonFragment(BaseModel):
    addon_id: str = Field(alias="addonId")
    description: Optional[str]
    display_name: str = Field(alias="displayName")
    quantity: int


class CustomerPortalSubscriptionScheduledUpdateDataFragment(BaseModel):
    subscription_schedule_type: SubscriptionScheduleType = Field(
        alias="subscriptionScheduleType"
    )
    schedule_status: SubscriptionScheduleStatus = Field(alias="scheduleStatus")
    scheduled_execution_time: Any = Field(alias="scheduledExecutionTime")
    target_package: Optional[
        "CustomerPortalSubscriptionScheduledUpdateDataFragmentTargetPackage"
    ] = Field(alias="targetPackage")
    schedule_variables: Optional[
        Annotated[
            Union[
                "CustomerPortalSubscriptionScheduledUpdateDataFragmentScheduleVariablesAddonChangeVariables",
                "CustomerPortalSubscriptionScheduledUpdateDataFragmentScheduleVariablesBillingPeriodChangeVariables",
                "CustomerPortalSubscriptionScheduledUpdateDataFragmentScheduleVariablesDowngradeChangeVariables",
                "CustomerPortalSubscriptionScheduledUpdateDataFragmentScheduleVariablesUnitAmountChangeVariables",
            ],
            Field(discriminator="typename__"),
        ]
    ] = Field(alias="scheduleVariables")


class CustomerPortalSubscriptionScheduledUpdateDataFragmentTargetPackage(BaseModel):
    id: str
    ref_id: str = Field(alias="refId")
    display_name: str = Field(alias="displayName")
    pricing_type: Optional[PricingType] = Field(alias="pricingType")


class CustomerPortalSubscriptionScheduledUpdateDataFragmentScheduleVariablesAddonChangeVariables(
    BaseModel
):
    typename__: Literal["AddonChangeVariables"] = Field(alias="__typename")
    addon_ref_id: str = Field(alias="addonRefId")
    new_quantity: float = Field(alias="newQuantity")


class CustomerPortalSubscriptionScheduledUpdateDataFragmentScheduleVariablesBillingPeriodChangeVariables(
    BaseModel
):
    typename__: Literal["BillingPeriodChangeVariables"] = Field(alias="__typename")
    billing_period: Optional[BillingPeriod] = Field(alias="billingPeriod")


class CustomerPortalSubscriptionScheduledUpdateDataFragmentScheduleVariablesDowngradeChangeVariables(
    BaseModel
):
    typename__: Literal["DowngradeChangeVariables"] = Field(alias="__typename")
    addon_ref_ids: Optional[str] = Field(alias="addonRefIds")
    billing_period: Optional[BillingPeriod] = Field(alias="billingPeriod")
    downgrade_plan_ref_id: str = Field(alias="downgradePlanRefId")


class CustomerPortalSubscriptionScheduledUpdateDataFragmentScheduleVariablesUnitAmountChangeVariables(
    BaseModel
):
    typename__: Literal["UnitAmountChangeVariables"] = Field(alias="__typename")
    new_unit_amount: Optional[float] = Field(alias="newUnitAmount")
    feature_id: Optional[str] = Field(alias="featureId")


class CustomerPortalSubscriptionPriceFragment(BaseModel):
    billing_period: Optional[BillingPeriod] = Field(alias="billingPeriod")
    billing_model: Optional[BillingModel] = Field(alias="billingModel")
    price: Optional["CustomerPortalSubscriptionPriceFragmentPrice"]
    feature: Optional["CustomerPortalSubscriptionPriceFragmentFeature"]


class CustomerPortalSubscriptionPriceFragmentPrice(BaseModel):
    amount: float
    currency: Currency


class CustomerPortalSubscriptionPriceFragmentFeature(BaseModel):
    id: str
    ref_id: str = Field(alias="refId")
    display_name: str = Field(alias="displayName")
    feature_units: Optional[str] = Field(alias="featureUnits")
    feature_units_plural: Optional[str] = Field(alias="featureUnitsPlural")


class CustomerPortalSubscriptionFragment(BaseModel):
    subscription_id: str = Field(alias="subscriptionId")
    plan_name: str = Field(alias="planName")
    pricing_type: PricingType = Field(alias="pricingType")
    prices: List["CustomerPortalSubscriptionFragmentPrices"]
    pricing: "CustomerPortalSubscriptionFragmentPricing"
    status: SubscriptionStatus
    trial_remaining_days: Optional[int] = Field(alias="trialRemainingDays")
    billing_period_range: Optional[
        "CustomerPortalSubscriptionFragmentBillingPeriodRange"
    ] = Field(alias="billingPeriodRange")
    total_price: Optional["CustomerPortalSubscriptionFragmentTotalPrice"] = Field(
        alias="totalPrice"
    )
    addons: List["CustomerPortalSubscriptionFragmentAddons"]
    scheduled_updates: Optional[
        List["CustomerPortalSubscriptionFragmentScheduledUpdates"]
    ] = Field(alias="scheduledUpdates")


class CustomerPortalSubscriptionFragmentPrices(CustomerPortalSubscriptionPriceFragment):
    pass


class CustomerPortalSubscriptionFragmentPricing(BaseModel):
    unit_quantity: Optional[int] = Field(alias="unitQuantity")
    billing_period: Optional[BillingPeriod] = Field(alias="billingPeriod")
    billing_model: Optional[BillingModel] = Field(alias="billingModel")
    pricing_type: PricingType = Field(alias="pricingType")
    usage_based_estimated_bill: Optional[float] = Field(alias="usageBasedEstimatedBill")
    price: Optional["CustomerPortalSubscriptionFragmentPricingPrice"]
    feature: Optional["CustomerPortalSubscriptionFragmentPricingFeature"]


class CustomerPortalSubscriptionFragmentPricingPrice(BaseModel):
    amount: float
    currency: Currency


class CustomerPortalSubscriptionFragmentPricingFeature(BaseModel):
    feature_units: Optional[str] = Field(alias="featureUnits")
    feature_units_plural: Optional[str] = Field(alias="featureUnitsPlural")
    display_name: str = Field(alias="displayName")


class CustomerPortalSubscriptionFragmentBillingPeriodRange(BaseModel):
    start: Optional[Any]
    end: Optional[Any]


class CustomerPortalSubscriptionFragmentTotalPrice(BaseModel):
    sub_total: "CustomerPortalSubscriptionFragmentTotalPriceSubTotal" = Field(
        alias="subTotal"
    )
    total: "CustomerPortalSubscriptionFragmentTotalPriceTotal"
    addons_total: "CustomerPortalSubscriptionFragmentTotalPriceAddonsTotal" = Field(
        alias="addonsTotal"
    )


class CustomerPortalSubscriptionFragmentTotalPriceSubTotal(BaseModel):
    amount: float
    currency: Currency


class CustomerPortalSubscriptionFragmentTotalPriceTotal(BaseModel):
    amount: float
    currency: Currency


class CustomerPortalSubscriptionFragmentTotalPriceAddonsTotal(BaseModel):
    amount: float
    currency: Currency


class CustomerPortalSubscriptionFragmentAddons(CustomerPortalSubscriptionAddonFragment):
    pass


class CustomerPortalSubscriptionFragmentScheduledUpdates(
    CustomerPortalSubscriptionScheduledUpdateDataFragment
):
    pass


class CustomerPortalFragment(BaseModel):
    subscriptions: List["CustomerPortalFragmentSubscriptions"]
    entitlements: List["CustomerPortalFragmentEntitlements"]
    promotional_entitlements: List[
        "CustomerPortalFragmentPromotionalEntitlements"
    ] = Field(alias="promotionalEntitlements")
    billing_information: "CustomerPortalFragmentBillingInformation" = Field(
        alias="billingInformation"
    )
    show_watermark: bool = Field(alias="showWatermark")
    billing_portal_url: Optional[str] = Field(alias="billingPortalUrl")
    can_upgrade_subscription: bool = Field(alias="canUpgradeSubscription")
    configuration: Optional["CustomerPortalFragmentConfiguration"]
    resource: Optional["CustomerPortalFragmentResource"]


class CustomerPortalFragmentSubscriptions(CustomerPortalSubscriptionFragment):
    pass


class CustomerPortalFragmentEntitlements(CustomerPortalEntitlementFragment):
    pass


class CustomerPortalFragmentPromotionalEntitlements(
    CustomerPortalPromotionalEntitlementFragment
):
    pass


class CustomerPortalFragmentBillingInformation(
    CustomerPortalBillingInformationFragment
):
    pass


class CustomerPortalFragmentConfiguration(CustomerPortalConfigurationFragment):
    pass


class CustomerPortalFragmentResource(CustomerResourceFragment):
    pass


class CustomerWithSubscriptionsFragment(CustomerFragment):
    subscriptions: Optional[List["CustomerWithSubscriptionsFragmentSubscriptions"]]


class CustomerWithSubscriptionsFragmentSubscriptions(SubscriptionFragment):
    pass


class EntitlementFragment(BaseModel):
    is_granted: bool = Field(alias="isGranted")
    access_denied_reason: Optional[AccessDeniedReason] = Field(
        alias="accessDeniedReason"
    )
    customer_id: Optional[str] = Field(alias="customerId")
    resource_id: Optional[str] = Field(alias="resourceId")
    usage_limit: Optional[float] = Field(alias="usageLimit")
    has_unlimited_usage: bool = Field(alias="hasUnlimitedUsage")
    current_usage: Optional[float] = Field(alias="currentUsage")
    requested_usage: Optional[float] = Field(alias="requestedUsage")
    entitlement_updated_at: Optional[Any] = Field(alias="entitlementUpdatedAt")
    usage_updated_at: Optional[Any] = Field(alias="usageUpdatedAt")
    next_reset_date: Optional[Any] = Field(alias="nextResetDate")
    reset_period: Optional[EntitlementResetPeriod] = Field(alias="resetPeriod")
    reset_period_configuration: Optional[
        Annotated[
            Union[
                "EntitlementFragmentResetPeriodConfigurationMonthlyResetPeriodConfig",
                "EntitlementFragmentResetPeriodConfigurationWeeklyResetPeriodConfig",
            ],
            Field(discriminator="typename__"),
        ]
    ] = Field(alias="resetPeriodConfiguration")
    feature: Optional["EntitlementFragmentFeature"]


class EntitlementFragmentResetPeriodConfigurationMonthlyResetPeriodConfig(BaseModel):
    typename__: Literal["MonthlyResetPeriodConfig"] = Field(alias="__typename")
    monthly_according_to: Optional[MonthlyAccordingTo] = Field(
        alias="monthlyAccordingTo"
    )


class EntitlementFragmentResetPeriodConfigurationWeeklyResetPeriodConfig(BaseModel):
    typename__: Literal["WeeklyResetPeriodConfig"] = Field(alias="__typename")
    weekly_according_to: Optional[WeeklyAccordingTo] = Field(alias="weeklyAccordingTo")


class EntitlementFragmentFeature(FeatureFragment):
    pass


class UsageUpdatedFragment(BaseModel):
    customer_id: str = Field(alias="customerId")
    resource_id: Optional[str] = Field(alias="resourceId")
    feature_id: str = Field(alias="featureId")
    current_usage: float = Field(alias="currentUsage")
    next_reset_date: Optional[float] = Field(alias="nextResetDate")


class EntitlementUsageUpdated(BaseModel):
    usage: "EntitlementUsageUpdatedUsage"
    entitlement: "EntitlementUsageUpdatedEntitlement"


class EntitlementUsageUpdatedUsage(UsageUpdatedFragment):
    pass


class EntitlementUsageUpdatedEntitlement(EntitlementFragment):
    pass


class EntitlementsUpdatedPayload(BaseModel):
    customer_id: str = Field(alias="customerId")
    resource_id: Optional[str] = Field(alias="resourceId")
    entitlements: List["EntitlementsUpdatedPayloadEntitlements"]


class EntitlementsUpdatedPayloadEntitlements(EntitlementFragment):
    pass


class ImmediateSubscriptionPreviewInvoiceFragment(BaseModel):
    total: "ImmediateSubscriptionPreviewInvoiceFragmentTotal"
    sub_total: "ImmediateSubscriptionPreviewInvoiceFragmentSubTotal" = Field(
        alias="subTotal"
    )
    total_excluding_tax: "ImmediateSubscriptionPreviewInvoiceFragmentTotalExcludingTax" = Field(
        alias="totalExcludingTax"
    )
    tax: Optional["ImmediateSubscriptionPreviewInvoiceFragmentTax"]
    discount: Optional["ImmediateSubscriptionPreviewInvoiceFragmentDiscount"]
    tax_details: Optional[
        "ImmediateSubscriptionPreviewInvoiceFragmentTaxDetails"
    ] = Field(alias="taxDetails")
    discount_details: Optional[
        "ImmediateSubscriptionPreviewInvoiceFragmentDiscountDetails"
    ] = Field(alias="discountDetails")
    credits: Optional["ImmediateSubscriptionPreviewInvoiceFragmentCredits"]
    proration: Optional["ImmediateSubscriptionPreviewInvoiceFragmentProration"]


class ImmediateSubscriptionPreviewInvoiceFragmentTotal(BaseModel):
    amount: float
    currency: Currency


class ImmediateSubscriptionPreviewInvoiceFragmentSubTotal(BaseModel):
    amount: float
    currency: Currency


class ImmediateSubscriptionPreviewInvoiceFragmentTotalExcludingTax(BaseModel):
    amount: float
    currency: Currency


class ImmediateSubscriptionPreviewInvoiceFragmentTax(BaseModel):
    amount: float
    currency: Currency


class ImmediateSubscriptionPreviewInvoiceFragmentDiscount(BaseModel):
    amount: float
    currency: Currency


class ImmediateSubscriptionPreviewInvoiceFragmentTaxDetails(BaseModel):
    display_name: str = Field(alias="displayName")
    percentage: float
    inclusive: bool


class ImmediateSubscriptionPreviewInvoiceFragmentDiscountDetails(BaseModel):
    type: DiscountType
    value: float
    duration_type: DiscountDurationType = Field(alias="durationType")
    duration_in_months: Optional[float] = Field(alias="durationInMonths")


class ImmediateSubscriptionPreviewInvoiceFragmentCredits(BaseModel):
    initial: "ImmediateSubscriptionPreviewInvoiceFragmentCreditsInitial"
    used: "ImmediateSubscriptionPreviewInvoiceFragmentCreditsUsed"
    remaining: "ImmediateSubscriptionPreviewInvoiceFragmentCreditsRemaining"


class ImmediateSubscriptionPreviewInvoiceFragmentCreditsInitial(BaseModel):
    amount: float
    currency: Currency


class ImmediateSubscriptionPreviewInvoiceFragmentCreditsUsed(BaseModel):
    amount: float
    currency: Currency


class ImmediateSubscriptionPreviewInvoiceFragmentCreditsRemaining(BaseModel):
    amount: float
    currency: Currency


class ImmediateSubscriptionPreviewInvoiceFragmentProration(BaseModel):
    proration_date: Any = Field(alias="prorationDate")
    has_prorations: Optional[bool] = Field(alias="hasProrations")
    credit: "ImmediateSubscriptionPreviewInvoiceFragmentProrationCredit"
    debit: "ImmediateSubscriptionPreviewInvoiceFragmentProrationDebit"
    net_amount: "ImmediateSubscriptionPreviewInvoiceFragmentProrationNetAmount" = Field(
        alias="netAmount"
    )


class ImmediateSubscriptionPreviewInvoiceFragmentProrationCredit(BaseModel):
    amount: float
    currency: Currency


class ImmediateSubscriptionPreviewInvoiceFragmentProrationDebit(BaseModel):
    amount: float
    currency: Currency


class ImmediateSubscriptionPreviewInvoiceFragmentProrationNetAmount(BaseModel):
    amount: float
    currency: Currency


class LayoutConfigurationFragment(BaseModel):
    alignment: Optional[Alignment]
    plan_width: Optional[float] = Field(alias="planWidth")
    plan_margin: Optional[float] = Field(alias="planMargin")
    plan_padding: Optional[float] = Field(alias="planPadding")


class MockPaywallPackageEntitlementFragment(BaseModel):
    usage_limit: Optional[float] = Field(alias="usageLimit")
    has_unlimited_usage: bool = Field(alias="hasUnlimitedUsage")
    reset_period: Optional[EntitlementResetPeriod] = Field(alias="resetPeriod")
    hidden_from_widgets: Optional[List[WidgetType]] = Field(alias="hiddenFromWidgets")
    display_name_override: Optional[str] = Field(alias="displayNameOverride")
    feature: Optional["MockPaywallPackageEntitlementFragmentFeature"]


class MockPaywallPackageEntitlementFragmentFeature(BaseModel):
    feature_type: FeatureType = Field(alias="featureType")
    meter_type: Optional[MeterType] = Field(alias="meterType")
    feature_units: Optional[str] = Field(alias="featureUnits")
    feature_units_plural: Optional[str] = Field(alias="featureUnitsPlural")
    display_name: str = Field(alias="displayName")
    description: Optional[str]
    ref_id: str = Field(alias="refId")
    additional_meta_data: Optional[Any] = Field(alias="additionalMetaData")


class MockPaywallPriceFragment(BaseModel):
    billing_model: BillingModel = Field(alias="billingModel")
    billing_period: BillingPeriod = Field(alias="billingPeriod")
    billing_id: Optional[str] = Field(alias="billingId")
    min_unit_quantity: Optional[float] = Field(alias="minUnitQuantity")
    max_unit_quantity: Optional[float] = Field(alias="maxUnitQuantity")
    billing_country_code: Optional[str] = Field(alias="billingCountryCode")
    price: Optional["MockPaywallPriceFragmentPrice"]
    tiers_mode: Optional[TiersMode] = Field(alias="tiersMode")
    tiers: Optional[List["MockPaywallPriceFragmentTiers"]]
    feature: Optional["MockPaywallPriceFragmentFeature"]


class MockPaywallPriceFragmentPrice(BaseModel):
    amount: float
    currency: Currency


class MockPaywallPriceFragmentTiers(PriceTierFragment):
    pass


class MockPaywallPriceFragmentFeature(BaseModel):
    ref_id: str = Field(alias="refId")
    feature_units: Optional[str] = Field(alias="featureUnits")
    feature_units_plural: Optional[str] = Field(alias="featureUnitsPlural")
    display_name: str = Field(alias="displayName")


class MockPaywallAddonFragment(BaseModel):
    ref_id: str = Field(alias="refId")
    display_name: str = Field(alias="displayName")
    description: Optional[str]
    additional_meta_data: Optional[Any] = Field(alias="additionalMetaData")
    billing_id: Optional[str] = Field(alias="billingId")
    entitlements: List["MockPaywallAddonFragmentEntitlements"]
    prices: List["MockPaywallAddonFragmentPrices"]
    pricing_type: Optional[PricingType] = Field(alias="pricingType")


class MockPaywallAddonFragmentEntitlements(MockPaywallPackageEntitlementFragment):
    pass


class MockPaywallAddonFragmentPrices(MockPaywallPriceFragment):
    pass


class MockPaywallPlanFragment(BaseModel):
    ref_id: str = Field(alias="refId")
    description: Optional[str]
    display_name: str = Field(alias="displayName")
    billing_id: Optional[str] = Field(alias="billingId")
    additional_meta_data: Optional[Any] = Field(alias="additionalMetaData")
    product: "MockPaywallPlanFragmentProduct"
    base_plan: Optional["MockPaywallPlanFragmentBasePlan"] = Field(alias="basePlan")
    entitlements: Optional[List["MockPaywallPlanFragmentEntitlements"]]
    inherited_entitlements: Optional[
        List["MockPaywallPlanFragmentInheritedEntitlements"]
    ] = Field(alias="inheritedEntitlements")
    prices: List["MockPaywallPlanFragmentPrices"]
    pricing_type: Optional[PricingType] = Field(alias="pricingType")
    default_trial_config: Optional["MockPaywallPlanFragmentDefaultTrialConfig"] = Field(
        alias="defaultTrialConfig"
    )
    compatible_addons: Optional[
        List["MockPaywallPlanFragmentCompatibleAddons"]
    ] = Field(alias="compatibleAddons")


class MockPaywallPlanFragmentProduct(BaseModel):
    ref_id: str = Field(alias="refId")
    display_name: Optional[str] = Field(alias="displayName")
    description: Optional[str]
    additional_meta_data: Optional[Any] = Field(alias="additionalMetaData")


class MockPaywallPlanFragmentBasePlan(BaseModel):
    ref_id: str = Field(alias="refId")
    display_name: str = Field(alias="displayName")


class MockPaywallPlanFragmentEntitlements(MockPaywallPackageEntitlementFragment):
    pass


class MockPaywallPlanFragmentInheritedEntitlements(
    MockPaywallPackageEntitlementFragment
):
    pass


class MockPaywallPlanFragmentPrices(MockPaywallPriceFragment):
    pass


class MockPaywallPlanFragmentDefaultTrialConfig(BaseModel):
    duration: float
    units: TrialPeriodUnits


class MockPaywallPlanFragmentCompatibleAddons(MockPaywallAddonFragment):
    pass


class PackagePublishedPayload(BaseModel):
    account_id: str = Field(alias="accountId")
    environment_id: str = Field(alias="environmentId")
    package_type: str = Field(alias="packageType")
    package_ref_id: str = Field(alias="packageRefId")
    package_version: int = Field(alias="packageVersion")
    migration_type: PublishMigrationType = Field(alias="migrationType")


class PaywallCalculatedPricePointsFragment(BaseModel):
    plan_id: str = Field(alias="planId")
    additional_charges_may_apply: Optional[bool] = Field(
        alias="additionalChargesMayApply"
    )
    billing_period: BillingPeriod = Field(alias="billingPeriod")
    amount: float
    currency: Currency
    billing_country_code: Optional[str] = Field(alias="billingCountryCode")
    feature: Optional["PaywallCalculatedPricePointsFragmentFeature"]


class PaywallCalculatedPricePointsFragmentFeature(BaseModel):
    ref_id: str = Field(alias="refId")
    feature_units: Optional[str] = Field(alias="featureUnits")
    feature_units_plural: Optional[str] = Field(alias="featureUnitsPlural")
    display_name: str = Field(alias="displayName")
    description: Optional[str]


class PaywallConfigurationFragment(BaseModel):
    palette: Optional["PaywallConfigurationFragmentPalette"]
    typography: Optional["PaywallConfigurationFragmentTypography"]
    layout: Optional["PaywallConfigurationFragmentLayout"]
    custom_css: Optional[str] = Field(alias="customCss")


class PaywallConfigurationFragmentPalette(BaseModel):
    primary: Optional[str]
    text_color: Optional[str] = Field(alias="textColor")
    background_color: Optional[str] = Field(alias="backgroundColor")
    border_color: Optional[str] = Field(alias="borderColor")
    current_plan_background: Optional[str] = Field(alias="currentPlanBackground")


class PaywallConfigurationFragmentTypography(TypographyConfigurationFragment):
    pass


class PaywallConfigurationFragmentLayout(LayoutConfigurationFragment):
    pass


class PaywallCurrencyFragment(BaseModel):
    code: Currency
    symbol: str


class PaywallFragment(BaseModel):
    plans: List["PaywallFragmentPlans"]
    currency: "PaywallFragmentCurrency"
    configuration: Optional["PaywallFragmentConfiguration"]
    customer: Optional["PaywallFragmentCustomer"]
    active_subscriptions: Optional[List["PaywallFragmentActiveSubscriptions"]] = Field(
        alias="activeSubscriptions"
    )
    resource: Optional["PaywallFragmentResource"]
    paywall_calculated_price_points: Optional[
        List["PaywallFragmentPaywallCalculatedPricePoints"]
    ] = Field(alias="paywallCalculatedPricePoints")


class PaywallFragmentPlans(PlanFragment):
    pass


class PaywallFragmentCurrency(PaywallCurrencyFragment):
    pass


class PaywallFragmentConfiguration(PaywallConfigurationFragment):
    pass


class PaywallFragmentCustomer(CustomerFragment):
    pass


class PaywallFragmentActiveSubscriptions(SubscriptionFragment):
    pass


class PaywallFragmentResource(CustomerResourceFragment):
    pass


class PaywallFragmentPaywallCalculatedPricePoints(PaywallCalculatedPricePointsFragment):
    pass


class SlimSubscriptionFragment(BaseModel):
    id: str
    ref_id: str = Field(alias="refId")
    status: SubscriptionStatus
    additional_meta_data: Optional[Any] = Field(alias="additionalMetaData")
    billing_id: Optional[str] = Field(alias="billingId")
    billing_link_url: Optional[str] = Field(alias="billingLinkUrl")
    effective_end_date: Optional[Any] = Field(alias="effectiveEndDate")
    current_billing_period_end: Optional[Any] = Field(alias="currentBillingPeriodEnd")
    pricing_type: PricingType = Field(alias="pricingType")
    latest_invoice: Optional["SlimSubscriptionFragmentLatestInvoice"] = Field(
        alias="latestInvoice"
    )
    payment_collection: PaymentCollection = Field(alias="paymentCollection")
    billing_sync_error: Optional[str] = Field(alias="billingSyncError")
    resource: Optional["SlimSubscriptionFragmentResource"]
    experiment_info: Optional["SlimSubscriptionFragmentExperimentInfo"] = Field(
        alias="experimentInfo"
    )
    prices: Optional[List["SlimSubscriptionFragmentPrices"]]
    total_price: Optional["SlimSubscriptionFragmentTotalPrice"] = Field(
        alias="totalPrice"
    )
    plan: "SlimSubscriptionFragmentPlan"
    addons: Optional[List["SlimSubscriptionFragmentAddons"]]
    customer: "SlimSubscriptionFragmentCustomer"


class SlimSubscriptionFragmentLatestInvoice(SubscriptionInvoiceFragment):
    pass


class SlimSubscriptionFragmentResource(CustomerResourceFragment):
    pass


class SlimSubscriptionFragmentExperimentInfo(BaseModel):
    name: str
    id: str
    group_name: str = Field(alias="groupName")
    group_type: experimentGroupType = Field(alias="groupType")


class SlimSubscriptionFragmentPrices(BaseModel):
    usage_limit: Optional[float] = Field(alias="usageLimit")
    price: Optional["SlimSubscriptionFragmentPricesPrice"]


class SlimSubscriptionFragmentPricesPrice(PriceFragment):
    pass


class SlimSubscriptionFragmentTotalPrice(TotalPriceFragment):
    pass


class SlimSubscriptionFragmentPlan(BaseModel):
    id: str
    ref_id: str = Field(alias="refId")


class SlimSubscriptionFragmentAddons(BaseModel):
    quantity: float
    addon: "SlimSubscriptionFragmentAddonsAddon"


class SlimSubscriptionFragmentAddonsAddon(BaseModel):
    id: str
    ref_id: str = Field(alias="refId")


class SlimSubscriptionFragmentCustomer(BaseModel):
    id: str
    ref_id: str = Field(alias="refId")


class SubscriptionPreviewFragment(BaseModel):
    sub_total: "SubscriptionPreviewFragmentSubTotal" = Field(alias="subTotal")
    total_excluding_tax: "SubscriptionPreviewFragmentTotalExcludingTax" = Field(
        alias="totalExcludingTax"
    )
    total: "SubscriptionPreviewFragmentTotal"
    discount_amount: Optional["SubscriptionPreviewFragmentDiscountAmount"] = Field(
        alias="discountAmount"
    )
    tax_details: Optional["SubscriptionPreviewFragmentTaxDetails"] = Field(
        alias="taxDetails"
    )
    tax: Optional["SubscriptionPreviewFragmentTax"]
    billing_period_range: "SubscriptionPreviewFragmentBillingPeriodRange" = Field(
        alias="billingPeriodRange"
    )
    discount: Optional["SubscriptionPreviewFragmentDiscount"]
    subscription: Optional["SubscriptionPreviewFragmentSubscription"]
    proration: Optional["SubscriptionPreviewFragmentProration"]
    is_plan_downgrade: Optional[bool] = Field(alias="isPlanDowngrade")
    has_scheduled_updates: Optional[bool] = Field(alias="hasScheduledUpdates")
    credits: Optional["SubscriptionPreviewFragmentCredits"]


class SubscriptionPreviewFragmentSubTotal(BaseModel):
    amount: float
    currency: Currency


class SubscriptionPreviewFragmentTotalExcludingTax(BaseModel):
    amount: float
    currency: Currency


class SubscriptionPreviewFragmentTotal(BaseModel):
    amount: float
    currency: Currency


class SubscriptionPreviewFragmentDiscountAmount(BaseModel):
    amount: float
    currency: Currency


class SubscriptionPreviewFragmentTaxDetails(BaseModel):
    display_name: str = Field(alias="displayName")
    percentage: float
    inclusive: bool


class SubscriptionPreviewFragmentTax(BaseModel):
    amount: float
    currency: Currency


class SubscriptionPreviewFragmentBillingPeriodRange(BaseModel):
    start: Optional[Any]
    end: Optional[Any]


class SubscriptionPreviewFragmentDiscount(BaseModel):
    type: DiscountType
    value: float
    duration_type: DiscountDurationType = Field(alias="durationType")
    duration_in_months: Optional[float] = Field(alias="durationInMonths")


class SubscriptionPreviewFragmentSubscription(BaseModel):
    sub_total: "SubscriptionPreviewFragmentSubscriptionSubTotal" = Field(
        alias="subTotal"
    )
    total_excluding_tax: "SubscriptionPreviewFragmentSubscriptionTotalExcludingTax" = (
        Field(alias="totalExcludingTax")
    )
    total: "SubscriptionPreviewFragmentSubscriptionTotal"
    tax: "SubscriptionPreviewFragmentSubscriptionTax"
    discount_amount: Optional[
        "SubscriptionPreviewFragmentSubscriptionDiscountAmount"
    ] = Field(alias="discountAmount")
    tax_details: Optional["SubscriptionPreviewFragmentSubscriptionTaxDetails"] = Field(
        alias="taxDetails"
    )
    discount: Optional["SubscriptionPreviewFragmentSubscriptionDiscount"]


class SubscriptionPreviewFragmentSubscriptionSubTotal(BaseModel):
    amount: float
    currency: Currency


class SubscriptionPreviewFragmentSubscriptionTotalExcludingTax(BaseModel):
    amount: float
    currency: Currency


class SubscriptionPreviewFragmentSubscriptionTotal(BaseModel):
    amount: float
    currency: Currency


class SubscriptionPreviewFragmentSubscriptionTax(BaseModel):
    amount: float
    currency: Currency


class SubscriptionPreviewFragmentSubscriptionDiscountAmount(BaseModel):
    amount: float
    currency: Currency


class SubscriptionPreviewFragmentSubscriptionTaxDetails(BaseModel):
    display_name: str = Field(alias="displayName")
    percentage: float
    inclusive: bool


class SubscriptionPreviewFragmentSubscriptionDiscount(BaseModel):
    type: DiscountType
    value: float
    duration_type: DiscountDurationType = Field(alias="durationType")
    duration_in_months: Optional[float] = Field(alias="durationInMonths")


class SubscriptionPreviewFragmentProration(BaseModel):
    proration_date: Any = Field(alias="prorationDate")
    credit: "SubscriptionPreviewFragmentProrationCredit"
    debit: "SubscriptionPreviewFragmentProrationDebit"
    net_amount: "SubscriptionPreviewFragmentProrationNetAmount" = Field(
        alias="netAmount"
    )


class SubscriptionPreviewFragmentProrationCredit(BaseModel):
    amount: float
    currency: Currency


class SubscriptionPreviewFragmentProrationDebit(BaseModel):
    amount: float
    currency: Currency


class SubscriptionPreviewFragmentProrationNetAmount(BaseModel):
    amount: float
    currency: Currency


class SubscriptionPreviewFragmentCredits(BaseModel):
    initial: "SubscriptionPreviewFragmentCreditsInitial"
    used: "SubscriptionPreviewFragmentCreditsUsed"
    remaining: "SubscriptionPreviewFragmentCreditsRemaining"


class SubscriptionPreviewFragmentCreditsInitial(BaseModel):
    amount: float
    currency: Currency


class SubscriptionPreviewFragmentCreditsUsed(BaseModel):
    amount: float
    currency: Currency


class SubscriptionPreviewFragmentCreditsRemaining(BaseModel):
    amount: float
    currency: Currency


class SubscriptionPreviewInvoiceFragment(BaseModel):
    total: "SubscriptionPreviewInvoiceFragmentTotal"
    sub_total: "SubscriptionPreviewInvoiceFragmentSubTotal" = Field(alias="subTotal")
    total_excluding_tax: "SubscriptionPreviewInvoiceFragmentTotalExcludingTax" = Field(
        alias="totalExcludingTax"
    )
    tax: Optional["SubscriptionPreviewInvoiceFragmentTax"]
    discount: Optional["SubscriptionPreviewInvoiceFragmentDiscount"]
    tax_details: Optional["SubscriptionPreviewInvoiceFragmentTaxDetails"] = Field(
        alias="taxDetails"
    )
    discount_details: Optional[
        "SubscriptionPreviewInvoiceFragmentDiscountDetails"
    ] = Field(alias="discountDetails")


class SubscriptionPreviewInvoiceFragmentTotal(BaseModel):
    amount: float
    currency: Currency


class SubscriptionPreviewInvoiceFragmentSubTotal(BaseModel):
    amount: float
    currency: Currency


class SubscriptionPreviewInvoiceFragmentTotalExcludingTax(BaseModel):
    amount: float
    currency: Currency


class SubscriptionPreviewInvoiceFragmentTax(BaseModel):
    amount: float
    currency: Currency


class SubscriptionPreviewInvoiceFragmentDiscount(BaseModel):
    amount: float
    currency: Currency


class SubscriptionPreviewInvoiceFragmentTaxDetails(BaseModel):
    display_name: str = Field(alias="displayName")
    percentage: float
    inclusive: bool


class SubscriptionPreviewInvoiceFragmentDiscountDetails(BaseModel):
    type: DiscountType
    value: float
    duration_type: DiscountDurationType = Field(alias="durationType")
    duration_in_months: Optional[float] = Field(alias="durationInMonths")


class SubscriptionPreviewV2Fragment(BaseModel):
    immediate_invoice: "SubscriptionPreviewV2FragmentImmediateInvoice" = Field(
        alias="immediateInvoice"
    )
    recurring_invoice: Optional[
        "SubscriptionPreviewV2FragmentRecurringInvoice"
    ] = Field(alias="recurringInvoice")
    billing_period_range: "SubscriptionPreviewV2FragmentBillingPeriodRange" = Field(
        alias="billingPeriodRange"
    )
    is_plan_downgrade: Optional[bool] = Field(alias="isPlanDowngrade")
    has_scheduled_updates: Optional[bool] = Field(alias="hasScheduledUpdates")


class SubscriptionPreviewV2FragmentImmediateInvoice(
    ImmediateSubscriptionPreviewInvoiceFragment
):
    pass


class SubscriptionPreviewV2FragmentRecurringInvoice(SubscriptionPreviewInvoiceFragment):
    pass


class SubscriptionPreviewV2FragmentBillingPeriodRange(BaseModel):
    start: Optional[Any]
    end: Optional[Any]


class UsageHistoryFragment(BaseModel):
    start_date: Any = Field(alias="startDate")
    end_date: Optional[Any] = Field(alias="endDate")
    usage_measurements: List["UsageHistoryFragmentUsageMeasurements"] = Field(
        alias="usageMeasurements"
    )


class UsageHistoryFragmentUsageMeasurements(BaseModel):
    date: Any
    value: float
    is_reset_point: Optional[bool] = Field(alias="isResetPoint")


PackageEntitlementFragment.update_forward_refs()
PackageEntitlementFragmentFeature.update_forward_refs()
PriceTierFragment.update_forward_refs()
PriceTierFragmentUnitPrice.update_forward_refs()
PriceFragment.update_forward_refs()
PriceFragmentPrice.update_forward_refs()
PriceFragmentTiers.update_forward_refs()
PriceFragmentFeature.update_forward_refs()
AddonFragment.update_forward_refs()
AddonFragmentEntitlements.update_forward_refs()
AddonFragmentPrices.update_forward_refs()
FontVariantFragment.update_forward_refs()
TypographyConfigurationFragment.update_forward_refs()
TypographyConfigurationFragmentH1.update_forward_refs()
TypographyConfigurationFragmentH2.update_forward_refs()
TypographyConfigurationFragmentH3.update_forward_refs()
TypographyConfigurationFragmentBody.update_forward_refs()
CheckoutConfigurationFragment.update_forward_refs()
CheckoutConfigurationFragmentPalette.update_forward_refs()
CheckoutConfigurationFragmentTypography.update_forward_refs()
CheckoutConfigurationFragmentContent.update_forward_refs()
TotalPriceFragment.update_forward_refs()
TotalPriceFragmentSubTotal.update_forward_refs()
TotalPriceFragmentTotal.update_forward_refs()
CustomerResourceFragment.update_forward_refs()
SubscriptionFutureUpdateData.update_forward_refs()
SubscriptionFutureUpdateDataTargetPackage.update_forward_refs()
SubscriptionFutureUpdateDataScheduleVariablesAddonChangeVariables.update_forward_refs()
SubscriptionFutureUpdateDataScheduleVariablesBillingPeriodChangeVariables.update_forward_refs()
SubscriptionFutureUpdateDataScheduleVariablesDowngradeChangeVariables.update_forward_refs()
SubscriptionFutureUpdateDataScheduleVariablesUnitAmountChangeVariables.update_forward_refs()
ProductFragment.update_forward_refs()
ProductFragmentProductSettings.update_forward_refs()
ProductFragmentProductSettingsDowngradePlan.update_forward_refs()
PlanFragment.update_forward_refs()
PlanFragmentProduct.update_forward_refs()
PlanFragmentBasePlan.update_forward_refs()
PlanFragmentEntitlements.update_forward_refs()
PlanFragmentInheritedEntitlements.update_forward_refs()
PlanFragmentCompatibleAddons.update_forward_refs()
PlanFragmentPrices.update_forward_refs()
PlanFragmentDefaultTrialConfig.update_forward_refs()
SubscriptionScheduledUpdateData.update_forward_refs()
SubscriptionScheduledUpdateDataTargetPackage.update_forward_refs()
SubscriptionScheduledUpdateDataScheduleVariablesAddonChangeVariables.update_forward_refs()
SubscriptionScheduledUpdateDataScheduleVariablesBillingPeriodChangeVariables.update_forward_refs()
SubscriptionScheduledUpdateDataScheduleVariablesDowngradeChangeVariables.update_forward_refs()
SubscriptionScheduledUpdateDataScheduleVariablesUnitAmountChangeVariables.update_forward_refs()
SubscriptionInvoiceFragment.update_forward_refs()
SubscriptionFragment.update_forward_refs()
SubscriptionFragmentLatestInvoice.update_forward_refs()
SubscriptionFragmentResource.update_forward_refs()
SubscriptionFragmentExperimentInfo.update_forward_refs()
SubscriptionFragmentPrices.update_forward_refs()
SubscriptionFragmentPricesPrice.update_forward_refs()
SubscriptionFragmentTotalPrice.update_forward_refs()
SubscriptionFragmentPlan.update_forward_refs()
SubscriptionFragmentAddons.update_forward_refs()
SubscriptionFragmentAddonsAddon.update_forward_refs()
SubscriptionFragmentScheduledUpdates.update_forward_refs()
SubscriptionFragmentFutureUpdates.update_forward_refs()
SlimCustomerFragment.update_forward_refs()
CouponFragment.update_forward_refs()
CouponFragmentSyncStates.update_forward_refs()
CouponFragmentCustomers.update_forward_refs()
PromotionalEntitlementFragment.update_forward_refs()
PromotionalEntitlementFragmentFeature.update_forward_refs()
CustomerFragment.update_forward_refs()
CustomerFragmentTrialedPlans.update_forward_refs()
CustomerFragmentExperimentInfo.update_forward_refs()
CustomerFragmentCoupon.update_forward_refs()
CustomerFragmentEligibleForTrial.update_forward_refs()
CustomerFragmentPromotionalEntitlements.update_forward_refs()
CheckoutStateFragment.update_forward_refs()
CheckoutStateFragmentConfiguration.update_forward_refs()
CheckoutStateFragmentCustomer.update_forward_refs()
CheckoutStateFragmentActiveSubscription.update_forward_refs()
CheckoutStateFragmentResource.update_forward_refs()
CheckoutStateFragmentPlan.update_forward_refs()
CheckoutStateFragmentBillingIntegration.update_forward_refs()
CheckoutStateFragmentBillingIntegrationCredentials.update_forward_refs()
CustomerPortalBillingInformationFragment.update_forward_refs()
CustomerPortalConfigurationFragment.update_forward_refs()
CustomerPortalConfigurationFragmentPalette.update_forward_refs()
CustomerPortalConfigurationFragmentTypography.update_forward_refs()
FeatureFragment.update_forward_refs()
CustomerPortalEntitlementFragment.update_forward_refs()
CustomerPortalEntitlementFragmentResetPeriodConfigurationMonthlyResetPeriodConfig.update_forward_refs()
CustomerPortalEntitlementFragmentResetPeriodConfigurationWeeklyResetPeriodConfig.update_forward_refs()
CustomerPortalEntitlementFragmentFeature.update_forward_refs()
CustomerPortalPromotionalEntitlementFragment.update_forward_refs()
CustomerPortalSubscriptionAddonFragment.update_forward_refs()
CustomerPortalSubscriptionScheduledUpdateDataFragment.update_forward_refs()
CustomerPortalSubscriptionScheduledUpdateDataFragmentTargetPackage.update_forward_refs()
CustomerPortalSubscriptionScheduledUpdateDataFragmentScheduleVariablesAddonChangeVariables.update_forward_refs()
CustomerPortalSubscriptionScheduledUpdateDataFragmentScheduleVariablesBillingPeriodChangeVariables.update_forward_refs()
CustomerPortalSubscriptionScheduledUpdateDataFragmentScheduleVariablesDowngradeChangeVariables.update_forward_refs()
CustomerPortalSubscriptionScheduledUpdateDataFragmentScheduleVariablesUnitAmountChangeVariables.update_forward_refs()
CustomerPortalSubscriptionPriceFragment.update_forward_refs()
CustomerPortalSubscriptionPriceFragmentPrice.update_forward_refs()
CustomerPortalSubscriptionPriceFragmentFeature.update_forward_refs()
CustomerPortalSubscriptionFragment.update_forward_refs()
CustomerPortalSubscriptionFragmentPrices.update_forward_refs()
CustomerPortalSubscriptionFragmentPricing.update_forward_refs()
CustomerPortalSubscriptionFragmentPricingPrice.update_forward_refs()
CustomerPortalSubscriptionFragmentPricingFeature.update_forward_refs()
CustomerPortalSubscriptionFragmentBillingPeriodRange.update_forward_refs()
CustomerPortalSubscriptionFragmentTotalPrice.update_forward_refs()
CustomerPortalSubscriptionFragmentTotalPriceSubTotal.update_forward_refs()
CustomerPortalSubscriptionFragmentTotalPriceTotal.update_forward_refs()
CustomerPortalSubscriptionFragmentTotalPriceAddonsTotal.update_forward_refs()
CustomerPortalSubscriptionFragmentAddons.update_forward_refs()
CustomerPortalSubscriptionFragmentScheduledUpdates.update_forward_refs()
CustomerPortalFragment.update_forward_refs()
CustomerPortalFragmentSubscriptions.update_forward_refs()
CustomerPortalFragmentEntitlements.update_forward_refs()
CustomerPortalFragmentPromotionalEntitlements.update_forward_refs()
CustomerPortalFragmentBillingInformation.update_forward_refs()
CustomerPortalFragmentConfiguration.update_forward_refs()
CustomerPortalFragmentResource.update_forward_refs()
CustomerWithSubscriptionsFragment.update_forward_refs()
CustomerWithSubscriptionsFragmentSubscriptions.update_forward_refs()
EntitlementFragment.update_forward_refs()
EntitlementFragmentResetPeriodConfigurationMonthlyResetPeriodConfig.update_forward_refs()
EntitlementFragmentResetPeriodConfigurationWeeklyResetPeriodConfig.update_forward_refs()
EntitlementFragmentFeature.update_forward_refs()
UsageUpdatedFragment.update_forward_refs()
EntitlementUsageUpdated.update_forward_refs()
EntitlementUsageUpdatedUsage.update_forward_refs()
EntitlementUsageUpdatedEntitlement.update_forward_refs()
EntitlementsUpdatedPayload.update_forward_refs()
EntitlementsUpdatedPayloadEntitlements.update_forward_refs()
ImmediateSubscriptionPreviewInvoiceFragment.update_forward_refs()
ImmediateSubscriptionPreviewInvoiceFragmentTotal.update_forward_refs()
ImmediateSubscriptionPreviewInvoiceFragmentSubTotal.update_forward_refs()
ImmediateSubscriptionPreviewInvoiceFragmentTotalExcludingTax.update_forward_refs()
ImmediateSubscriptionPreviewInvoiceFragmentTax.update_forward_refs()
ImmediateSubscriptionPreviewInvoiceFragmentDiscount.update_forward_refs()
ImmediateSubscriptionPreviewInvoiceFragmentTaxDetails.update_forward_refs()
ImmediateSubscriptionPreviewInvoiceFragmentDiscountDetails.update_forward_refs()
ImmediateSubscriptionPreviewInvoiceFragmentCredits.update_forward_refs()
ImmediateSubscriptionPreviewInvoiceFragmentCreditsInitial.update_forward_refs()
ImmediateSubscriptionPreviewInvoiceFragmentCreditsUsed.update_forward_refs()
ImmediateSubscriptionPreviewInvoiceFragmentCreditsRemaining.update_forward_refs()
ImmediateSubscriptionPreviewInvoiceFragmentProration.update_forward_refs()
ImmediateSubscriptionPreviewInvoiceFragmentProrationCredit.update_forward_refs()
ImmediateSubscriptionPreviewInvoiceFragmentProrationDebit.update_forward_refs()
ImmediateSubscriptionPreviewInvoiceFragmentProrationNetAmount.update_forward_refs()
LayoutConfigurationFragment.update_forward_refs()
MockPaywallPackageEntitlementFragment.update_forward_refs()
MockPaywallPackageEntitlementFragmentFeature.update_forward_refs()
MockPaywallPriceFragment.update_forward_refs()
MockPaywallPriceFragmentPrice.update_forward_refs()
MockPaywallPriceFragmentTiers.update_forward_refs()
MockPaywallPriceFragmentFeature.update_forward_refs()
MockPaywallAddonFragment.update_forward_refs()
MockPaywallAddonFragmentEntitlements.update_forward_refs()
MockPaywallAddonFragmentPrices.update_forward_refs()
MockPaywallPlanFragment.update_forward_refs()
MockPaywallPlanFragmentProduct.update_forward_refs()
MockPaywallPlanFragmentBasePlan.update_forward_refs()
MockPaywallPlanFragmentEntitlements.update_forward_refs()
MockPaywallPlanFragmentInheritedEntitlements.update_forward_refs()
MockPaywallPlanFragmentPrices.update_forward_refs()
MockPaywallPlanFragmentDefaultTrialConfig.update_forward_refs()
MockPaywallPlanFragmentCompatibleAddons.update_forward_refs()
PackagePublishedPayload.update_forward_refs()
PaywallCalculatedPricePointsFragment.update_forward_refs()
PaywallCalculatedPricePointsFragmentFeature.update_forward_refs()
PaywallConfigurationFragment.update_forward_refs()
PaywallConfigurationFragmentPalette.update_forward_refs()
PaywallConfigurationFragmentTypography.update_forward_refs()
PaywallConfigurationFragmentLayout.update_forward_refs()
PaywallCurrencyFragment.update_forward_refs()
PaywallFragment.update_forward_refs()
PaywallFragmentPlans.update_forward_refs()
PaywallFragmentCurrency.update_forward_refs()
PaywallFragmentConfiguration.update_forward_refs()
PaywallFragmentCustomer.update_forward_refs()
PaywallFragmentActiveSubscriptions.update_forward_refs()
PaywallFragmentResource.update_forward_refs()
PaywallFragmentPaywallCalculatedPricePoints.update_forward_refs()
SlimSubscriptionFragment.update_forward_refs()
SlimSubscriptionFragmentLatestInvoice.update_forward_refs()
SlimSubscriptionFragmentResource.update_forward_refs()
SlimSubscriptionFragmentExperimentInfo.update_forward_refs()
SlimSubscriptionFragmentPrices.update_forward_refs()
SlimSubscriptionFragmentPricesPrice.update_forward_refs()
SlimSubscriptionFragmentTotalPrice.update_forward_refs()
SlimSubscriptionFragmentPlan.update_forward_refs()
SlimSubscriptionFragmentAddons.update_forward_refs()
SlimSubscriptionFragmentAddonsAddon.update_forward_refs()
SlimSubscriptionFragmentCustomer.update_forward_refs()
SubscriptionPreviewFragment.update_forward_refs()
SubscriptionPreviewFragmentSubTotal.update_forward_refs()
SubscriptionPreviewFragmentTotalExcludingTax.update_forward_refs()
SubscriptionPreviewFragmentTotal.update_forward_refs()
SubscriptionPreviewFragmentDiscountAmount.update_forward_refs()
SubscriptionPreviewFragmentTaxDetails.update_forward_refs()
SubscriptionPreviewFragmentTax.update_forward_refs()
SubscriptionPreviewFragmentBillingPeriodRange.update_forward_refs()
SubscriptionPreviewFragmentDiscount.update_forward_refs()
SubscriptionPreviewFragmentSubscription.update_forward_refs()
SubscriptionPreviewFragmentSubscriptionSubTotal.update_forward_refs()
SubscriptionPreviewFragmentSubscriptionTotalExcludingTax.update_forward_refs()
SubscriptionPreviewFragmentSubscriptionTotal.update_forward_refs()
SubscriptionPreviewFragmentSubscriptionTax.update_forward_refs()
SubscriptionPreviewFragmentSubscriptionDiscountAmount.update_forward_refs()
SubscriptionPreviewFragmentSubscriptionTaxDetails.update_forward_refs()
SubscriptionPreviewFragmentSubscriptionDiscount.update_forward_refs()
SubscriptionPreviewFragmentProration.update_forward_refs()
SubscriptionPreviewFragmentProrationCredit.update_forward_refs()
SubscriptionPreviewFragmentProrationDebit.update_forward_refs()
SubscriptionPreviewFragmentProrationNetAmount.update_forward_refs()
SubscriptionPreviewFragmentCredits.update_forward_refs()
SubscriptionPreviewFragmentCreditsInitial.update_forward_refs()
SubscriptionPreviewFragmentCreditsUsed.update_forward_refs()
SubscriptionPreviewFragmentCreditsRemaining.update_forward_refs()
SubscriptionPreviewInvoiceFragment.update_forward_refs()
SubscriptionPreviewInvoiceFragmentTotal.update_forward_refs()
SubscriptionPreviewInvoiceFragmentSubTotal.update_forward_refs()
SubscriptionPreviewInvoiceFragmentTotalExcludingTax.update_forward_refs()
SubscriptionPreviewInvoiceFragmentTax.update_forward_refs()
SubscriptionPreviewInvoiceFragmentDiscount.update_forward_refs()
SubscriptionPreviewInvoiceFragmentTaxDetails.update_forward_refs()
SubscriptionPreviewInvoiceFragmentDiscountDetails.update_forward_refs()
SubscriptionPreviewV2Fragment.update_forward_refs()
SubscriptionPreviewV2FragmentImmediateInvoice.update_forward_refs()
SubscriptionPreviewV2FragmentRecurringInvoice.update_forward_refs()
SubscriptionPreviewV2FragmentBillingPeriodRange.update_forward_refs()
UsageHistoryFragment.update_forward_refs()
UsageHistoryFragmentUsageMeasurements.update_forward_refs()
