Skip to content

Class: FootwearCategory

Mixin for footwear slots and UC rules. Applied to FootwearItem via mixins: [FootwearCategory]. Uses shoe_size + shoe_size_system instead of ClothingSizeEnum. Reuses DemographicEnum, is_winter_suitable, and SeasonEnum from clothing.yaml. Same VM season auto-derivation rules apply.

URI: inkind_knowledge_repo:FootwearCategory

 classDiagram
    class FootwearCategory
    click FootwearCategory href "../FootwearCategory/"
      CategoryMixin <|-- FootwearCategory
        click CategoryMixin href "../CategoryMixin/"


      FootwearCategory <|-- FootwearItem
        click FootwearItem href "../FootwearItem/"


      FootwearCategory : condition_grade





        FootwearCategory --> "0..1" UsedConditionGradeEnum : condition_grade
        click UsedConditionGradeEnum href "../UsedConditionGradeEnum/"



      FootwearCategory : demographic





        FootwearCategory --> "0..1" DemographicEnum : demographic
        click DemographicEnum href "../DemographicEnum/"



      FootwearCategory : is_pair_complete

      FootwearCategory : is_winter_suitable

      FootwearCategory : material





        FootwearCategory --> "0..1" FootwearMaterialEnum : material
        click FootwearMaterialEnum href "../FootwearMaterialEnum/"



      FootwearCategory : season





        FootwearCategory --> "*" SeasonEnum : season
        click SeasonEnum href "../SeasonEnum/"



      FootwearCategory : shoe_size

      FootwearCategory : shoe_size_system





        FootwearCategory --> "0..1" ShoeSizeSystemEnum : shoe_size_system
        click ShoeSizeSystemEnum href "../ShoeSizeSystemEnum/"



      FootwearCategory : subcategory





        FootwearCategory --> "1" FootwearSubcategoryEnum : subcategory
        click FootwearSubcategoryEnum href "../FootwearSubcategoryEnum/"



Inheritance

Class Properties

Property Value
Mixin Yes

Slots

Name Cardinality and Range Description Inheritance
condition_grade 0..1
UsedConditionGradeEnum
Observed wear/quality grade at sorting time direct
subcategory 1
FootwearSubcategoryEnum
Subcategory within the item type direct
material 0..1
FootwearMaterialEnum
Primary upper-material direct
is_pair_complete 0..1
Boolean
Whether both shoes of the pair are present direct
is_winter_suitable 0..1
Boolean
Whether this footwear provides meaningful warmth and weather protection in co... direct
demographic 0..1
DemographicEnum
Combined age-and-gender demographic suitability of clothing items direct
shoe_size 0..1
String
Shoe size as a string direct
shoe_size_system 0..1
ShoeSizeSystemEnum
Sizing system for the shoe_size value direct
season *
SeasonEnum
Seasonal suitability direct

Mixin Usage

mixed into description
FootwearItem Footwear: shoes, boots, sandals, slippers

Rules

uc-footwear-pair-incomplete-warn

Rule Applied Preconditions Postconditions Elseconditions
slot_conditions {'is_pair_complete': {'equals_string': 'false'}} {'sorting_notes': {'required': True}}

vm-season-winter

Rule Applied Preconditions Postconditions Elseconditions
slot_conditions {'season': {'equals_string': 'winter'}} {'is_winter_suitable': {'equals_string': 'true'}}

vm-season-summer

Rule Applied Preconditions Postconditions Elseconditions
slot_conditions {'season': {'equals_string': 'summer'}} {'is_winter_suitable': {'equals_string': 'false'}}

vm-season-all

Rule Applied Preconditions Postconditions Elseconditions
slot_conditions {'season': {'equals_string': 'all_season'}} {'is_winter_suitable': {'equals_string': 'true'}}

See Also

Identifier and Mapping Information

Annotations

property value
completeness_minimal subcategory, usage
completeness_standard subcategory, demographic, shoe_size, shoe_size_system, is_pair_complete, is_winter_suitable, usage, condition_grade
completeness_detailed subcategory, demographic, shoe_size, shoe_size_system, is_pair_complete, is_winter_suitable, season, material, usage, condition_grade
coicop_division 03.2
season_ui_hint Fragment compiler may pre-fill is_winter_suitable=true for boots and is_winter_suitable=false for sandals. Sorter can override.

Schema Source

  • from schema: https://inkind-at.github.io/inkind-knowledge-repo

Mappings

Mapping Type Mapped Value
self inkind_knowledge_repo:FootwearCategory
native inkind_knowledge_repo:FootwearCategory

LinkML Source

Direct

name: FootwearCategory
annotations:
  completeness_minimal:
    tag: completeness_minimal
    value: subcategory, usage
  completeness_standard:
    tag: completeness_standard
    value: subcategory, demographic, shoe_size, shoe_size_system, is_pair_complete,
      is_winter_suitable, usage, condition_grade
  completeness_detailed:
    tag: completeness_detailed
    value: subcategory, demographic, shoe_size, shoe_size_system, is_pair_complete,
      is_winter_suitable, season, material, usage, condition_grade
  coicop_division:
    tag: coicop_division
    value: '03.2'
  season_ui_hint:
    tag: season_ui_hint
    value: Fragment compiler may pre-fill is_winter_suitable=true for boots and is_winter_suitable=false
      for sandals. Sorter can override.
description: 'Mixin for footwear slots and UC rules. Applied to FootwearItem via mixins:
  [FootwearCategory]. Uses shoe_size + shoe_size_system instead of ClothingSizeEnum.
  Reuses DemographicEnum, is_winter_suitable, and SeasonEnum from clothing.yaml. Same
  VM season auto-derivation rules apply.'
from_schema: https://inkind-at.github.io/inkind-knowledge-repo
see_also:
- http://www.productontology.org/id/Footwear
is_a: CategoryMixin
mixin: true
slots:
- condition_grade
- subcategory
- material
- is_pair_complete
- is_winter_suitable
- demographic
- shoe_size
- shoe_size_system
- season
slot_usage:
  subcategory:
    name: subcategory
    range: FootwearSubcategoryEnum
    required: true
  demographic:
    name: demographic
    range: DemographicEnum
    required: false
  is_winter_suitable:
    name: is_winter_suitable
    description: 'Whether this footwear provides meaningful warmth and weather protection
      in cold conditions. Required at standard completeness. Fragment compiler may
      pre-fill: boots  true, sandals  false. Sorter always overrides (e.g. a lightweight
      canvas boot  false).'
    range: boolean
    required: false
  season:
    name: season
    description: "Seasonal suitability. Optional  detailed completeness tier. Same\
      \ VM auto-derivation as ClothingCategory:\n  winter  is_winter_suitable = true\n\
      \  summer  is_winter_suitable = false\n  all_season  is_winter_suitable =\
      \ true\n  spring_autumn  sorter decides is_winter_suitable explicitly."
    range: SeasonEnum
    required: false
    multivalued: true
  material:
    name: material
    description: Primary upper-material. Optional — detailed completeness tier. Record
      the dominant outer surface material. See FootwearMaterialEnum for full vocabulary
      and ontology grounding.
    range: FootwearMaterialEnum
    required: false
  condition_grade:
    name: condition_grade
    range: UsedConditionGradeEnum
    required: false
rules:
- preconditions:
    slot_conditions:
      is_pair_complete:
        name: is_pair_complete
        equals_string: 'false'
  postconditions:
    slot_conditions:
      sorting_notes:
        name: sorting_notes
        required: true
  description: 'Single shoes require sorter confirmation. Single shoes may still be
    appropriate for beneficiaries with limb differences. action: warn  sorting_notes
    required.'
  title: uc-footwear-pair-incomplete-warn
- preconditions:
    slot_conditions:
      season:
        name: season
        equals_string: winter
  postconditions:
    slot_conditions:
      is_winter_suitable:
        name: is_winter_suitable
        equals_string: 'true'
  description: season = winter implies is_winter_suitable = true.
  title: vm-season-winter
- preconditions:
    slot_conditions:
      season:
        name: season
        equals_string: summer
  postconditions:
    slot_conditions:
      is_winter_suitable:
        name: is_winter_suitable
        equals_string: 'false'
  description: season = summer implies is_winter_suitable = false.
  title: vm-season-summer
- preconditions:
    slot_conditions:
      season:
        name: season
        equals_string: all_season
  postconditions:
    slot_conditions:
      is_winter_suitable:
        name: is_winter_suitable
        equals_string: 'true'
  description: season = all_season implies is_winter_suitable = true.
  title: vm-season-all

Induced

name: FootwearCategory
annotations:
  completeness_minimal:
    tag: completeness_minimal
    value: subcategory, usage
  completeness_standard:
    tag: completeness_standard
    value: subcategory, demographic, shoe_size, shoe_size_system, is_pair_complete,
      is_winter_suitable, usage, condition_grade
  completeness_detailed:
    tag: completeness_detailed
    value: subcategory, demographic, shoe_size, shoe_size_system, is_pair_complete,
      is_winter_suitable, season, material, usage, condition_grade
  coicop_division:
    tag: coicop_division
    value: '03.2'
  season_ui_hint:
    tag: season_ui_hint
    value: Fragment compiler may pre-fill is_winter_suitable=true for boots and is_winter_suitable=false
      for sandals. Sorter can override.
description: 'Mixin for footwear slots and UC rules. Applied to FootwearItem via mixins:
  [FootwearCategory]. Uses shoe_size + shoe_size_system instead of ClothingSizeEnum.
  Reuses DemographicEnum, is_winter_suitable, and SeasonEnum from clothing.yaml. Same
  VM season auto-derivation rules apply.'
from_schema: https://inkind-at.github.io/inkind-knowledge-repo
see_also:
- http://www.productontology.org/id/Footwear
is_a: CategoryMixin
mixin: true
slot_usage:
  subcategory:
    name: subcategory
    range: FootwearSubcategoryEnum
    required: true
  demographic:
    name: demographic
    range: DemographicEnum
    required: false
  is_winter_suitable:
    name: is_winter_suitable
    description: 'Whether this footwear provides meaningful warmth and weather protection
      in cold conditions. Required at standard completeness. Fragment compiler may
      pre-fill: boots  true, sandals  false. Sorter always overrides (e.g. a lightweight
      canvas boot  false).'
    range: boolean
    required: false
  season:
    name: season
    description: "Seasonal suitability. Optional  detailed completeness tier. Same\
      \ VM auto-derivation as ClothingCategory:\n  winter  is_winter_suitable = true\n\
      \  summer  is_winter_suitable = false\n  all_season  is_winter_suitable =\
      \ true\n  spring_autumn  sorter decides is_winter_suitable explicitly."
    range: SeasonEnum
    required: false
    multivalued: true
  material:
    name: material
    description: Primary upper-material. Optional — detailed completeness tier. Record
      the dominant outer surface material. See FootwearMaterialEnum for full vocabulary
      and ontology grounding.
    range: FootwearMaterialEnum
    required: false
  condition_grade:
    name: condition_grade
    range: UsedConditionGradeEnum
    required: false
attributes:
  condition_grade:
    name: condition_grade
    annotations:
      label_en:
        tag: label_en
        value: Wear Grade
      label_de:
        tag: label_de
        value: Abnutzungsgrad
    description: "Observed wear/quality grade at sorting time. Grounded in schema:OfferItemCondition\
      \ and schema:itemCondition. Applied to wear-graded categories: clothing, accessories,\
      \ footwear, books, stationery, household, toys, general sports equipment.\n\
      Required at sorted state regardless of usage:\n  new item, no defects      \
      \      like_new\n  new item, manufacturing defect  fair or poor\n  used item,\
      \ minimal wear         like_new or good\nSorters record what they observe,\
      \ not what the label says.\nCategories using structured assessment_result enums\
      \ instead (furniture, electronics, bedding, protective sports gear, mobility\
      \ aids, baby equipment) do NOT declare this slot."
    from_schema: https://inkind-at.github.io/inkind-knowledge-repo
    see_also:
    - schema:OfferItemCondition
    - schema:LikeNewCondition
    - schema:DamagedCondition
    - schema:itemCondition
    rank: 1000
    alias: condition_grade
    owner: FootwearCategory
    domain_of:
    - ClothingCategory
    - AccessoriesCategory
    - FootwearCategory
    - HouseholdCategory
    - ToysCategory
    - SportsCategory
    - BooksCategory
    - StationeryCategory
    - BabyInfantCategory
    - OtherItem
    range: UsedConditionGradeEnum
    required: false
  subcategory:
    name: subcategory
    annotations:
      label_en:
        tag: label_en
        value: Subcategory
      label_de:
        tag: label_de
        value: Unterkategorie
    description: Subcategory within the item type. Overridden via slot_usage in each
      concrete DonationItem subclass to a category-specific enum.
    from_schema: https://inkind-at.github.io/inkind-knowledge-repo
    rank: 1000
    alias: subcategory
    owner: FootwearCategory
    domain_of:
    - ClothingCategory
    - AccessoriesCategory
    - FootwearCategory
    - FurnitureCategory
    - BeddingTextilesCategory
    - HouseholdCategory
    - ElectronicsCategory
    - ToysCategory
    - SportsCategory
    - BooksCategory
    - StationeryCategory
    - PersonalCareCategory
    - MobilityAidsCategory
    - BabyInfantCategory
    - AnyValue
    range: FootwearSubcategoryEnum
    required: true
  material:
    name: material
    annotations:
      label_en:
        tag: label_en
        value: Material
      label_de:
        tag: label_de
        value: Material
    description: Primary upper-material. Optional — detailed completeness tier. Record
      the dominant outer surface material. See FootwearMaterialEnum for full vocabulary
      and ontology grounding.
    from_schema: https://inkind-at.github.io/inkind-knowledge-repo
    rank: 1000
    alias: material
    owner: FootwearCategory
    domain_of:
    - ClothingCategory
    - AccessoriesCategory
    - FootwearCategory
    - FurnitureCategory
    - BeddingTextilesCategory
    - HouseholdCategory
    - ToysCategory
    - CategoryMixin
    range: FootwearMaterialEnum
    required: false
  is_pair_complete:
    name: is_pair_complete
    annotations:
      label_en:
        tag: label_en
        value: is pair complete
      label_de:
        tag: label_de
        value: Ist das Paar vollständig?
    description: Whether both shoes of the pair are present. UC warn if false — sorting_notes
      required.
    from_schema: https://inkind-at.github.io/inkind-knowledge-repo
    rank: 1000
    alias: is_pair_complete
    owner: FootwearCategory
    domain_of:
    - FootwearCategory
    range: boolean
  is_winter_suitable:
    name: is_winter_suitable
    annotations:
      label_en:
        tag: label_en
        value: Winter Suitable
      label_de:
        tag: label_de
        value: Wintertauglich
    description: 'Whether this footwear provides meaningful warmth and weather protection
      in cold conditions. Required at standard completeness. Fragment compiler may
      pre-fill: boots  true, sandals  false. Sorter always overrides (e.g. a lightweight
      canvas boot  false).'
    from_schema: https://inkind-at.github.io/inkind-knowledge-repo
    see_also:
    - schema:itemCondition
    rank: 1000
    alias: is_winter_suitable
    owner: FootwearCategory
    domain_of:
    - ClothingCategory
    - FootwearCategory
    - BeddingTextilesCategory
    - BabyInfantCategory
    range: boolean
    required: false
  demographic:
    name: demographic
    annotations:
      label_en:
        tag: label_en
        value: Demographic
      label_de:
        tag: label_de
        value: Demografie
    description: Combined age-and-gender demographic suitability of clothing items.
      Valid values depend on subcategory (see value_map above). Grounded in cpi:designatedFor
      and schema.org wearable size groups. Not applicable to AccessoriesItem — accessories
      use the simpler AccessoriesDemographicEnum (baby/child/adult/all_ages).
    from_schema: https://inkind-at.github.io/inkind-knowledge-repo
    see_also:
    - cpi:designatedFor
    - schema:WearableSizeGroupBaby
    - schema:WearableSizeGroupChildrens
    - schema:WearableSizeGroupAdult
    rank: 1000
    alias: demographic
    owner: FootwearCategory
    domain_of:
    - ClothingCategory
    - AccessoriesCategory
    - FootwearCategory
    - SportsCategory
    - AnyValue
    range: DemographicEnum
    required: false
  shoe_size:
    name: shoe_size
    annotations:
      label_en:
        tag: label_en
        value: shoe size
      label_de:
        tag: label_de
        value: Schuhgröße
    description: Shoe size as a string. Use with shoe_size_system to disambiguate
      (e.g. "42" with system "EU", "8" with system "UK").
    from_schema: https://inkind-at.github.io/inkind-knowledge-repo
    rank: 1000
    alias: shoe_size
    owner: FootwearCategory
    domain_of:
    - FootwearCategory
    range: string
  shoe_size_system:
    name: shoe_size_system
    annotations:
      label_en:
        tag: label_en
        value: shoe size system
      label_de:
        tag: label_de
        value: Schuhgrößen-System
    description: Sizing system for the shoe_size value.
    from_schema: https://inkind-at.github.io/inkind-knowledge-repo
    rank: 1000
    alias: shoe_size_system
    owner: FootwearCategory
    domain_of:
    - FootwearCategory
    range: ShoeSizeSystemEnum
  season:
    name: season
    annotations:
      label_en:
        tag: label_en
        value: Season
      label_de:
        tag: label_de
        value: Saison
    description: "Seasonal suitability. Optional  detailed completeness tier. Same\
      \ VM auto-derivation as ClothingCategory:\n  winter  is_winter_suitable = true\n\
      \  summer  is_winter_suitable = false\n  all_season  is_winter_suitable =\
      \ true\n  spring_autumn  sorter decides is_winter_suitable explicitly."
    from_schema: https://inkind-at.github.io/inkind-knowledge-repo
    see_also:
    - schema:itemCondition
    rank: 1000
    alias: season
    owner: FootwearCategory
    domain_of:
    - ClothingCategory
    - FootwearCategory
    range: SeasonEnum
    required: false
    multivalued: true
rules:
- preconditions:
    slot_conditions:
      is_pair_complete:
        name: is_pair_complete
        equals_string: 'false'
  postconditions:
    slot_conditions:
      sorting_notes:
        name: sorting_notes
        required: true
  description: 'Single shoes require sorter confirmation. Single shoes may still be
    appropriate for beneficiaries with limb differences. action: warn  sorting_notes
    required.'
  title: uc-footwear-pair-incomplete-warn
- preconditions:
    slot_conditions:
      season:
        name: season
        equals_string: winter
  postconditions:
    slot_conditions:
      is_winter_suitable:
        name: is_winter_suitable
        equals_string: 'true'
  description: season = winter implies is_winter_suitable = true.
  title: vm-season-winter
- preconditions:
    slot_conditions:
      season:
        name: season
        equals_string: summer
  postconditions:
    slot_conditions:
      is_winter_suitable:
        name: is_winter_suitable
        equals_string: 'false'
  description: season = summer implies is_winter_suitable = false.
  title: vm-season-summer
- preconditions:
    slot_conditions:
      season:
        name: season
        equals_string: all_season
  postconditions:
    slot_conditions:
      is_winter_suitable:
        name: is_winter_suitable
        equals_string: 'true'
  description: season = all_season implies is_winter_suitable = true.
  title: vm-season-all