Android · Schema

BasePlan

A base plan specifies the billing period and renewal type for a subscription. A subscription must have at least one base plan.

AIAndroidAutomotiveGoogleMachine LearningMobile DevelopmentSDKTVWearables

Properties

Name Type Description
basePlanId string The unique identifier for this base plan.
state string The state of the base plan.
regionalConfigs array Regional pricing configurations.
autoRenewingBasePlanType object Details for auto-renewing base plans.
prepaidBasePlanType object Details for prepaid base plans.
offerTags array List of up to 20 custom tags for this base plan.
View JSON Schema on GitHub

JSON Schema

android-baseplan-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "#/components/schemas/BasePlan",
  "title": "BasePlan",
  "type": "object",
  "description": "A base plan specifies the billing period and renewal type for a subscription. A subscription must have at least one base plan.",
  "properties": {
    "basePlanId": {
      "type": "string",
      "description": "The unique identifier for this base plan.",
      "example": "500123"
    },
    "state": {
      "type": "string",
      "description": "The state of the base plan.",
      "enum": [
        "STATE_UNSPECIFIED",
        "DRAFT",
        "ACTIVE",
        "INACTIVE"
      ],
      "readOnly": true,
      "example": "STATE_UNSPECIFIED"
    },
    "regionalConfigs": {
      "type": "array",
      "description": "Regional pricing configurations.",
      "items": {
        "type": "object",
        "properties": {
          "regionCode": {
            "type": "string",
            "description": "ISO 3166-1 alpha-2 region code."
          },
          "price": {
            "$ref": "#/components/schemas/Money"
          }
        }
      },
      "example": []
    },
    "autoRenewingBasePlanType": {
      "type": "object",
      "description": "Details for auto-renewing base plans.",
      "properties": {
        "billingPeriodDuration": {
          "type": "string",
          "description": "Subscription period in ISO 8601 format (e.g., P1M for monthly, P1Y for yearly, P3M for quarterly)."
        },
        "gracePeriodDuration": {
          "type": "string",
          "description": "Grace period after a failed payment in ISO 8601 format."
        },
        "accountHoldDuration": {
          "type": "string",
          "description": "Account hold duration in ISO 8601 format."
        },
        "resubscribeState": {
          "type": "string",
          "enum": [
            "RESUBSCRIBE_STATE_UNSPECIFIED",
            "RESUBSCRIBE_STATE_ACTIVE",
            "RESUBSCRIBE_STATE_INACTIVE"
          ]
        },
        "prorationMode": {
          "type": "string",
          "description": "Proration mode for mid-cycle price changes.",
          "enum": [
            "SUBSCRIPTION_PRORATION_MODE_UNSPECIFIED",
            "SUBSCRIPTION_PRORATION_MODE_CHARGE_ON_NEXT_BILLING_DATE",
            "SUBSCRIPTION_PRORATION_MODE_CHARGE_FULL_PRICE_IMMEDIATELY"
          ]
        }
      },
      "example": "example_value"
    },
    "prepaidBasePlanType": {
      "type": "object",
      "description": "Details for prepaid base plans.",
      "properties": {
        "billingPeriodDuration": {
          "type": "string",
          "description": "Subscription period in ISO 8601 format."
        },
        "timeExtension": {
          "type": "string",
          "enum": [
            "TIME_EXTENSION_UNSPECIFIED",
            "TIME_EXTENSION_ACTIVE",
            "TIME_EXTENSION_INACTIVE"
          ]
        }
      },
      "example": "example_value"
    },
    "offerTags": {
      "type": "array",
      "description": "List of up to 20 custom tags for this base plan.",
      "items": {
        "type": "object",
        "properties": {
          "tag": {
            "type": "string"
          }
        }
      },
      "example": []
    }
  }
}