Skip to content

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

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