type_alias:
  availability_list_type:
    type: map
    map_schema:
      region:
        required: no
      country:
        required: no

  category_list_type:
    type: map
    map_schema:
      name:
        required: yes

  root_list_type:
    type: map
    map_schema:
      name:
        required: yes
      genre:
        required: yes
      release_date:
        required: no
      description:
        required: yes
      thumb_url:
        required: yes
      platform:
        required: yes
      use_sso:
        required: no
      is_promoted:
        required: no
      promotion_thumb_url:
        required: no
      button_text:
        required: no
      website_url:
        required: yes
      availability:
        type: list
        required: yes
        list_type: availability_list_type
      categories:
        type: list
        required: no
        list_type: category_list_type
      product_id:
        required: no
      after_activation_product_id:
        required: no
      age_restriction:
        required: no
      
  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