type_alias:
  availability_list_type:
    type: map
    map_schema:
      region:
        required: yes

  root_list_type:
    type: map
    map_schema:
      name:
        required: yes
      genre:
        required: yes
      release_date:
        required: yes
      description:
        required: yes
      thumb_url:
        required: yes
      platform:
        required: yes
      website_url:
        required: yes
      availability:
        type: list
        required: yes
        list_type: availability_list_type
      
  root_type:
    type: list
    list_type: root_list_type

  localization_type:
    type: map

schema:
  type: map
  map_schema:
    version:
    root:
      type: root_type
      required: yes
     # Localizations are optional and can be skipped
    localizations:
      type: map
      required: no
      map_type: localization_type