Class: FootwearItem
Footwear: shoes, boots, sandals, slippers. COICOP 03.2 (footwear). Separated from ClothingItem because:
-
Shoe sizing systems (EU/UK/US/CM) differ from clothing sizes
-
Pair-completeness is a footwear-specific assessment concern
Assessment: condition_grade (wear grade).
URI: pto:Footwear
classDiagram
class FootwearItem
click FootwearItem href "../FootwearItem/"
FootwearCategory <|-- FootwearItem
click FootwearCategory href "../FootwearCategory/"
DonationItem <|-- FootwearItem
click DonationItem href "../DonationItem/"
FootwearItem : attribute_completeness
FootwearItem --> "0..1" AttributeCompletenessEnum : attribute_completeness
click AttributeCompletenessEnum href "../AttributeCompletenessEnum/"
FootwearItem : category
FootwearItem : condition_grade
FootwearItem --> "0..1" UsedConditionGradeEnum : condition_grade
click UsedConditionGradeEnum href "../UsedConditionGradeEnum/"
FootwearItem : created_at
FootwearItem : demographic
FootwearItem --> "0..1" DemographicEnum : demographic
click DemographicEnum href "../DemographicEnum/"
FootwearItem : donation_source
FootwearItem --> "0..1" DonationSource : donation_source
click DonationSource href "../DonationSource/"
FootwearItem : id
FootwearItem : is_pair_complete
FootwearItem : is_winter_suitable
FootwearItem : lifecycle_state
FootwearItem --> "1" ItemLifecycleStateEnum : lifecycle_state
click ItemLifecycleStateEnum href "../ItemLifecycleStateEnum/"
FootwearItem : material
FootwearItem --> "0..1" FootwearMaterialEnum : material
click FootwearMaterialEnum href "../FootwearMaterialEnum/"
FootwearItem : season
FootwearItem --> "*" SeasonEnum : season
click SeasonEnum href "../SeasonEnum/"
FootwearItem : shoe_size
FootwearItem : shoe_size_system
FootwearItem --> "0..1" ShoeSizeSystemEnum : shoe_size_system
click ShoeSizeSystemEnum href "../ShoeSizeSystemEnum/"
FootwearItem : sorting_notes
FootwearItem : source_collection
FootwearItem --> "0..1" DonationCollection : source_collection
click DonationCollection href "../DonationCollection/"
FootwearItem : storage_unit
FootwearItem --> "0..1" StorageLocation : storage_unit
click StorageLocation href "../StorageLocation/"
FootwearItem : subcategory
FootwearItem --> "1" FootwearSubcategoryEnum : subcategory
click FootwearSubcategoryEnum href "../FootwearSubcategoryEnum/"
FootwearItem : updated_at
FootwearItem : usage
FootwearItem --> "1" ItemUsageEnum : usage
click ItemUsageEnum href "../ItemUsageEnum/"
Inheritance
- DonationItem
- FootwearItem [ FootwearCategory]
Class Properties
| Property | Value |
|---|---|
| Class URI | pto:Footwear |
Slots
| Name | Cardinality and Range | Description | Inheritance |
|---|---|---|---|
| condition_grade | 0..1 UsedConditionGradeEnum |
Observed wear/quality grade at sorting time | FootwearCategory |
| subcategory | 1 FootwearSubcategoryEnum |
Subcategory within the item type | FootwearCategory |
| material | 0..1 FootwearMaterialEnum |
Primary upper-material | FootwearCategory, CategoryMixin |
| is_pair_complete | 0..1 Boolean |
Whether both shoes of the pair are present | FootwearCategory |
| is_winter_suitable | 0..1 Boolean |
Whether this footwear provides meaningful warmth and weather protection in co... | FootwearCategory |
| demographic | 0..1 DemographicEnum |
Combined age-and-gender demographic suitability of clothing items | FootwearCategory |
| shoe_size | 0..1 String |
Shoe size as a string | FootwearCategory |
| shoe_size_system | 0..1 ShoeSizeSystemEnum |
Sizing system for the shoe_size value | FootwearCategory |
| season | * SeasonEnum |
Seasonal suitability | FootwearCategory |
| id | 1 Uriorcurie |
A unique identifier for the entity | DonationItem |
| usage | 1 ItemUsageEnum |
Provenance condition — was the item ever used before donation? Orthogonal to ... | DonationItem |
| category | 1 String |
Type-defining slot on DonationItem | DonationItem |
| lifecycle_state | 1 ItemLifecycleStateEnum |
Current lifecycle state of the entity | DonationItem |
| attribute_completeness | 0..1 AttributeCompletenessEnum |
Data quality tier set by the fragment engine on sorting completion | DonationItem |
| source_collection | 0..1 DonationCollection |
FK — the DonationCollection (arrival type) this item was registered from | DonationItem |
| donation_source | 0..1 DonationSource |
Reference to the DonationSource — privacy boundary between item records and d... | DonationItem |
| storage_unit | 0..1 StorageLocation |
FK — set when lifecycle_state transitions to stored | DonationItem |
| sorting_notes | 0..1 String |
Free-text notes recorded by the sorter during sorting | DonationItem |
| created_at | 1 Datetime |
Timestamp when the entity was created | DonationItem |
| updated_at | 1 Datetime |
Timestamp when the entity record was last modified | DonationItem |
Rules
lc-sorted-footwear-condition-grade-required
| Rule Applied | Preconditions | Postconditions | Elseconditions |
|---|---|---|---|
| slot_conditions | {'lifecycle_state': {'equals_string': 'sorted'}} |
{'condition_grade': {'required': True}} |
lc-sorted-footwear-is-winter-suitable-required
| Rule Applied | Preconditions | Postconditions | Elseconditions |
|---|---|---|---|
| slot_conditions | {'lifecycle_state': {'equals_string': 'sorted'}} |
{'is_winter_suitable': {'required': True}} |
lc-sorted-footwear-size-required
| Rule Applied | Preconditions | Postconditions | Elseconditions |
|---|---|---|---|
| slot_conditions | {'lifecycle_state': {'equals_string': 'sorted'}} |
{'shoe_size': {'required': True}, 'shoe_size_system': {'required': True}} |
See Also
Identifier and Mapping Information
Annotations
| property | value |
|---|---|
| label_en | Footwear |
| label_de | Schuhe |
Schema Source
- from schema: https://inkind-at.github.io/inkind-knowledge-repo
Mappings
| Mapping Type | Mapped Value |
|---|---|
| self | pto:Footwear |
| native | inkind_knowledge_repo:FootwearItem |
LinkML Source
Direct
name: FootwearItem
annotations:
label_en:
tag: label_en
value: Footwear
label_de:
tag: label_de
value: Schuhe
description: "Footwear: shoes, boots, sandals, slippers. COICOP 03.2 (footwear). Separated\
\ from ClothingItem because:\n - Shoe sizing systems (EU/UK/US/CM) differ from\
\ clothing sizes\n - Pair-completeness is a footwear-specific assessment concern\n\
Assessment: condition_grade (wear grade)."
from_schema: https://inkind-at.github.io/inkind-knowledge-repo
see_also:
- http://www.productontology.org/id/Footwear
is_a: DonationItem
mixins:
- FootwearCategory
class_uri: pto:Footwear
rules:
- preconditions:
slot_conditions:
lifecycle_state:
name: lifecycle_state
equals_string: sorted
postconditions:
slot_conditions:
condition_grade:
name: condition_grade
required: true
description: condition_grade required at sorted state regardless of usage.
title: lc-sorted-footwear-condition-grade-required
- preconditions:
slot_conditions:
lifecycle_state:
name: lifecycle_state
equals_string: sorted
postconditions:
slot_conditions:
is_winter_suitable:
name: is_winter_suitable
required: true
description: is_winter_suitable required at sorted state. The thermal and weather-protection
character of footwear is operationally critical for cold-weather emergency distribution
— boots and sandals serve entirely different needs. Sorter makes the call; fragment
compiler provides subcategory-based hints only.
title: lc-sorted-footwear-is-winter-suitable-required
- preconditions:
slot_conditions:
lifecycle_state:
name: lifecycle_state
equals_string: sorted
postconditions:
slot_conditions:
shoe_size:
name: shoe_size
required: true
shoe_size_system:
name: shoe_size_system
required: true
description: shoe_size and shoe_size_system required at sorted state. System required
alongside size to disambiguate EU 42 from UK 8.
title: lc-sorted-footwear-size-required
Induced
name: FootwearItem
annotations:
label_en:
tag: label_en
value: Footwear
label_de:
tag: label_de
value: Schuhe
description: "Footwear: shoes, boots, sandals, slippers. COICOP 03.2 (footwear). Separated\
\ from ClothingItem because:\n - Shoe sizing systems (EU/UK/US/CM) differ from\
\ clothing sizes\n - Pair-completeness is a footwear-specific assessment concern\n\
Assessment: condition_grade (wear grade)."
from_schema: https://inkind-at.github.io/inkind-knowledge-repo
see_also:
- http://www.productontology.org/id/Footwear
is_a: DonationItem
mixins:
- FootwearCategory
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: FootwearItem
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: FootwearItem
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: FootwearItem
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: FootwearItem
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: FootwearItem
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: FootwearItem
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: FootwearItem
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: FootwearItem
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: FootwearItem
domain_of:
- ClothingCategory
- FootwearCategory
range: SeasonEnum
required: false
multivalued: true
id:
name: id
description: A unique identifier for the entity.
from_schema: https://inkind-at.github.io/inkind-knowledge-repo
rank: 1000
slot_uri: schema:identifier
identifier: true
alias: id
owner: FootwearItem
domain_of:
- NamedThing
- SocialOrganisation
- Actor
- StorageLocation
- DonationSource
- DonationCollection
- DonationItem
- DemandSignal
- Campaign
- ProvenanceRecord
range: uriorcurie
required: true
usage:
name: usage
annotations:
label_en:
tag: label_en
value: Provenance
label_de:
tag: label_de
value: Provenance
description: Provenance condition — was the item ever used before donation? Orthogonal
to condition_grade and assessment_result. Maps to schema:NewCondition / schema:UsedCondition.
usage = new does NOT imply no defects — manufacturing defects are possible and
assessment must always be performed regardless of usage.
from_schema: https://inkind-at.github.io/inkind-knowledge-repo
see_also:
- schema:OfferItemCondition
- schema:NewCondition
- schema:UsedCondition
rank: 1000
slot_uri: schema:itemCondition
alias: usage
owner: FootwearItem
domain_of:
- DonationItem
range: ItemUsageEnum
required: true
category:
name: category
annotations:
label_en:
tag: label_en
value: Item Type
label_de:
tag: label_de
value: Artikeltyp
description: Type-defining slot on DonationItem. Value is the class URI of the
concrete subclass (e.g. inkind_knowledge_repo:ClothingItem). linkml-validate,
gen-json-schema, and gen-pydantic all use this slot to dispatch to the correct
subclass schema and valid slot set. For other entities (DemandSignal, StorageLocation)
the range is overridden via slot_usage to CategoryEnum.
notes:
- Due to a limitation in LinkML, the designates_type annotation was removed because
the range is an Enum and not a string.
from_schema: https://inkind-at.github.io/inkind-knowledge-repo
rank: 1000
slot_uri: schema:additionalType
designates_type: true
alias: category
owner: FootwearItem
domain_of:
- DonationItem
- DemandSignal
range: string
required: true
lifecycle_state:
name: lifecycle_state
description: Current lifecycle state of the entity. Concrete enum range applied
via slot_usage. Transitions enforced by Django model clean().
from_schema: https://inkind-at.github.io/inkind-knowledge-repo
rank: 1000
alias: lifecycle_state
owner: FootwearItem
domain_of:
- DonationSource
- DonationCollection
- DonationItem
- DemandSignal
- Campaign
range: ItemLifecycleStateEnum
required: true
attribute_completeness:
name: attribute_completeness
description: 'Data quality tier set by the fragment engine on sorting completion.
Not derived from field presence. Not a lifecycle gate. Used by the match engine
to filter candidates by data quality tier. See AttributeCompletenessEnum for
the relationship to lifecycle_state. Set by: fragment_engine. Read by: match_engine.'
from_schema: https://inkind-at.github.io/inkind-knowledge-repo
rank: 1000
alias: attribute_completeness
owner: FootwearItem
domain_of:
- DonationItem
range: AttributeCompletenessEnum
required: false
source_collection:
name: source_collection
description: FK — the DonationCollection (arrival type) this item was registered
from. Null for items not arriving as part of a collection.
from_schema: https://inkind-at.github.io/inkind-knowledge-repo
rank: 1000
alias: source_collection
owner: FootwearItem
domain_of:
- DonationItem
range: DonationCollection
required: false
donation_source:
name: donation_source
description: Reference to the DonationSource — privacy boundary between item records
and donor identity. Concrete range applied via slot_usage.
from_schema: https://inkind-at.github.io/inkind-knowledge-repo
rank: 1000
slot_uri: inkind_knowledge_repo:donation_source
alias: donation_source
owner: FootwearItem
domain_of:
- DonationCollection
- DonationItem
range: DonationSource
required: false
storage_unit:
name: storage_unit
description: FK — set when lifecycle_state transitions to stored. Null until the
item reaches stored state.
from_schema: https://inkind-at.github.io/inkind-knowledge-repo
rank: 1000
alias: storage_unit
owner: FootwearItem
domain_of:
- DonationItem
range: StorageLocation
required: false
sorting_notes:
name: sorting_notes
annotations:
label_en:
tag: label_en
value: Notes
label_de:
tag: label_de
value: Notizen
description: Free-text notes recorded by the sorter during sorting. Required by
UC warn rules to capture explicit sorter confirmation (e.g. incomplete pair,
body-contact item, inconclusive assessment).
from_schema: https://inkind-at.github.io/inkind-knowledge-repo
rank: 1000
alias: sorting_notes
owner: FootwearItem
domain_of:
- DonationItem
range: string
created_at:
name: created_at
description: Timestamp when the entity was created.
from_schema: https://inkind-at.github.io/inkind-knowledge-repo
rank: 1000
alias: created_at
owner: FootwearItem
domain_of:
- DonationSource
- DonationCollection
- DonationItem
range: datetime
required: true
updated_at:
name: updated_at
description: Timestamp when the entity record was last modified.
from_schema: https://inkind-at.github.io/inkind-knowledge-repo
rank: 1000
alias: updated_at
owner: FootwearItem
domain_of:
- DonationItem
range: datetime
required: true
class_uri: pto:Footwear
rules:
- preconditions:
slot_conditions:
lifecycle_state:
name: lifecycle_state
equals_string: sorted
postconditions:
slot_conditions:
condition_grade:
name: condition_grade
required: true
description: condition_grade required at sorted state regardless of usage.
title: lc-sorted-footwear-condition-grade-required
- preconditions:
slot_conditions:
lifecycle_state:
name: lifecycle_state
equals_string: sorted
postconditions:
slot_conditions:
is_winter_suitable:
name: is_winter_suitable
required: true
description: is_winter_suitable required at sorted state. The thermal and weather-protection
character of footwear is operationally critical for cold-weather emergency distribution
— boots and sandals serve entirely different needs. Sorter makes the call; fragment
compiler provides subcategory-based hints only.
title: lc-sorted-footwear-is-winter-suitable-required
- preconditions:
slot_conditions:
lifecycle_state:
name: lifecycle_state
equals_string: sorted
postconditions:
slot_conditions:
shoe_size:
name: shoe_size
required: true
shoe_size_system:
name: shoe_size_system
required: true
description: shoe_size and shoe_size_system required at sorted state. System required
alongside size to disambiguate EU 42 from UK 8.
title: lc-sorted-footwear-size-required