{
  "id": "sitepurpose.json",
  "$schema": "http://json-schema.org/draft-04/schema",
  "title": "Site Purpose",
  "description": "Definition of a purpose for a website, with potential attached action",
  "type": [
    "object"
  ],
  "properties": {
    "type": {
      "description": "Type of the site purpose",
      "example": "purchase",
      "type": "string"
    },
    "label": {
      "description": "Textual label for the site purpose",
      "example": "Become a Founding Member",
      "type": "string"
    },
    "url": {
      "description": "External URL to link to",
      "$ref": "base.json#/definitions/url"
    },
    "item": {
      "description": "Internal item to link to",
      "$ref": "base.json#/definitions/uuid"
    },
    "cta": {
      "description": "The Grid Reserve CTA associated with the entry",
      "$ref": "base.json#/definitions/uuid"
    },
    "price": {
      "description": "A tagged price, in USD cents",
      "example": "9600",
      "type": "string"
    }
  },
  "required": [
    "type",
    "label"
  ],
  "oneOf": [
    {
      "required": [
        "url"
      ]
    },
    {
      "required": [
        "item"
      ]
    },
    {
      "required": [
        "cta",
        "price"
      ]
    }
  ]
}