{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "$id": "https://raw.githubusercontent.com/api-evangelist/verifone/refs/heads/main/json-schema/paypal-ecommerce-api-model37.json",
  "title": "Model37",
  "description": "Model37 from PayPal eComm API",
  "required": [
    "billingCycles",
    "createTime",
    "id",
    "name",
    "productId",
    "status"
  ],
  "type": "object",
  "properties": {
    "id": {
      "maxLength": 50,
      "minLength": 6,
      "type": "string",
      "description": "The unique PayPal-generated ID for the plan."
    },
    "productId": {
      "type": "string",
      "description": "PayPal catalog product id"
    },
    "name": {
      "maxLength": 127,
      "type": "string",
      "description": "The plan name"
    },
    "status": {
      "type": "string",
      "description": "The initial state of the plan",
      "enum": [
        "ACTIVE",
        "INACTIVE",
        "CREATED"
      ]
    },
    "description": {
      "maxLength": 127,
      "type": "string",
      "description": "The detailed description of the plan."
    },
    "billingCycles": {
      "$ref": "#/components/schemas/billingCycles"
    },
    "paymentPreferences": {
      "$ref": "#/components/schemas/paymentPreferences"
    },
    "taxes": {
      "$ref": "#/components/schemas/taxes"
    },
    "quantitySupported": {
      "type": "boolean",
      "description": "Indicates whether you can subscribe to this plan by providing a quantity for the goods or service."
    },
    "createTime": {
      "type": "string",
      "description": "The date and time when the billing plan was created.",
      "format": "date"
    },
    "updateTime": {
      "type": "string",
      "description": "The date and time when the billing plan was updated.",
      "format": "date"
    }
  }
}