{
  "$ref": "#/definitions/ExtendedMarket",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "definitions": {
    "ExtendedMarket": {
      "additionalProperties": false,
      "description": "Extended market data written to separate 'Market.json' file.",
      "properties": {
        "CarrierDockingAccess": {
          "type": "string"
        },
        "Items": {
          "items": {
            "additionalProperties": false,
            "properties": {
              "BuyPrice": {
                "type": "number"
              },
              "Category": {
                "type": "string"
              },
              "Category_Localised": {
                "type": "string"
              },
              "Consumer": {
                "type": "boolean"
              },
              "Demand": {
                "type": "number"
              },
              "DemandBracket": {
                "type": "number"
              },
              "MeanPrice": {
                "type": "number"
              },
              "Name": {
                "type": "string"
              },
              "Name_Localised": {
                "type": "string"
              },
              "Producer": {
                "type": "boolean"
              },
              "Rare": {
                "type": "boolean"
              },
              "SellPrice": {
                "type": "number"
              },
              "Stock": {
                "type": "number"
              },
              "StockBracket": {
                "type": "number"
              },
              "id": {
                "type": "number"
              }
            },
            "required": [
              "id",
              "Name",
              "Name_Localised",
              "Category",
              "Category_Localised",
              "BuyPrice",
              "SellPrice",
              "MeanPrice",
              "StockBracket",
              "DemandBracket",
              "Stock",
              "Demand",
              "Consumer",
              "Producer",
              "Rare"
            ],
            "type": "object"
          },
          "type": "array"
        },
        "MarketID": {
          "$ref": "#/definitions/ID"
        },
        "StarSystem": {
          "type": "string"
        },
        "StationName": {
          "type": "string"
        },
        "StationType": {
          "$ref": "#/definitions/StationType"
        },
        "event": {
          "const": "Market",
          "description": "The type of event.",
          "type": "string"
        },
        "timestamp": {
          "description": "The time in GMT, ISO 8601.",
          "type": "string"
        }
      },
      "required": [
        "Items",
        "MarketID",
        "StarSystem",
        "StationName",
        "event",
        "timestamp"
      ],
      "type": "object"
    },
    "ID": {
      "description": "ID numbers in Elite Dangerous may be very large, exceeding the 53 bit range of JavaScript number type. So IDs are treated like both, number and bigint. The JSON parser automatically creates bigint values for ID properties when the value exceeds the safe integer range.",
      "type": "integer"
    },
    "StationType": {
      "description": "Station types.",
      "enum": [
        "FleetCarrier",
        "Outpost",
        "Coriolis",
        "Orbis",
        "Bernal",
        "SurfaceStation",
        "AsteroidBase",
        "MegaShip",
        "CraterOutpost",
        "Ocellus",
        "CraterPort",
        "OnFootSettlement",
        "SpaceConstructionDepot",
        "PlanetaryConstructionDepot"
      ],
      "type": "string"
    }
  }
}