Summary

Description
A set of games that are part of the same release, differing only in trivial ways (e.g. Pokemon available).
Data path
resources/data/version_group/
Schema
https://poketools.gamestuff.info/data/schema/version_group.json

Filename

Version Group identifier

A machine-usable name for the entity. This is usually a munged version of the entity name. An identifier must consist only of lowercase ASCII characters, 0-9, and/or a hyphen.

i.e. anything unique to the entity matching the regular expression ^[a-z0-9\-]+$ (Test it here)

type
string
pattern
^[a-z0-9\-]+$ (Test)

Fields

name

The entity’s user-facing name. All of UTF-8 is valid here, so use “é” where appropriate.

type

string

required

position

The sorting position for this entity.

type

integer

default

0

required

generation

Generation ID. The unique id for this entity. Only entities that have no clear name should use this numeric form.

type

integer

minimum

1

required

features

A list of Feature identifiers. Features are functionality that sets this version group apart from others. This will enable/disable certain site functionality on entity pages.

type
list
required

JSON Schema

View raw

{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "$id": "https://poketools.gamestuff.info/data/schema/version_group.json",
  "title": "Version Group",
  "description": "A set of games that are part of the same release, differing only in trivial ways (e.g. Pokemon available).",
  "type": "object",
  "properties": {
    "name": {
      "$ref": "types/name.json"
    },
    "position": {
      "$ref": "types/position.json"
    },
    "generation": {
      "title": "Generation",
      "type": "integer",
      "minimum": 1,
      "$filters": "generationId"
    },
    "features": {
      "title": "Features",
      "description": "Functionality that sets this version group apart from others.  This will enable/disable certain site functionality.",
      "type": "array",
      "minItems": 1,
      "items": {
        "allOf": [
          {
            "$ref": "types/identifier.json"
          },
          {
            "type": "string",
            "$filters": "featureIdentifier"
          }
        ]
      }
    }
  },
  "additionalProperties": false,
  "required": [
    "name",
    "position",
    "generation",
    "features"
  ]
}