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
- CategoryMixin
- FootwearCategory
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