Skip to content

Class: BabyInfantItem

Baby and infant supplies: pushchairs, cots, car seats, infant formula, feeding bottles, baby monitors, bath equipment. Baby clothing belongs in ClothingItem (demographic=baby).

COICOP distributes baby items across Division 03 (clothing), 05 (household), and 01 (food). Treated as a first-class top-level category here following Open Eligibility "Baby Supplies" and UNHCR NFI kit practice (nappies and formula are core NFI kit items):

https://company.auntbertha.com/openeligibility/

https://emergency.unhcr.org/emergency-assistance/core-relief-items/

Three-track assessment model (defined in BabyInfantCategory):

Track 1 — safety-critical equipment (BabyEquipmentAssessmentEnum):

pushchairs, cots, car seats, carriers, high chairs, sleeping bags.

EN 1888 (pushchairs), EN 716 (cots), EN 14344 (car seats),

EN 16781 (baby sleeping bags — neck/armhole openings, no loose

cords), all require structured provenance + structural assessment.

Baby sleeping bags are Track 1, NOT BeddingTextilesItem — the

EN 16781 safety check differs materially from adult sleeping bag

hygiene assessment.

Track 2 — consumables (is_sealed + expiry_date):

infant_formula, feeding_bottles_teats, baby_food.

Track 3 — general baby gear (condition_grade):

bath equipment, changing, monitors, bouncers.

URI: pto:Baby_transport

 classDiagram
    class BabyInfantItem
    click BabyInfantItem href "../BabyInfantItem/"
      BabyInfantCategory <|-- BabyInfantItem
        click BabyInfantCategory href "../BabyInfantCategory/"
      DonationItem <|-- BabyInfantItem
        click DonationItem href "../DonationItem/"

      BabyInfantItem : assessment_result





        BabyInfantItem --> "0..1" BabyEquipmentAssessmentEnum : assessment_result
        click BabyEquipmentAssessmentEnum href "../BabyEquipmentAssessmentEnum/"



      BabyInfantItem : attribute_completeness





        BabyInfantItem --> "0..1" AttributeCompletenessEnum : attribute_completeness
        click AttributeCompletenessEnum href "../AttributeCompletenessEnum/"



      BabyInfantItem : category

      BabyInfantItem : condition_grade





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



      BabyInfantItem : created_at

      BabyInfantItem : donation_source





        BabyInfantItem --> "0..1" DonationSource : donation_source
        click DonationSource href "../DonationSource/"



      BabyInfantItem : expiry_date

      BabyInfantItem : id

      BabyInfantItem : includes_original_accessories

      BabyInfantItem : is_sealed

      BabyInfantItem : is_winter_suitable

      BabyInfantItem : lifecycle_state





        BabyInfantItem --> "1" ItemLifecycleStateEnum : lifecycle_state
        click ItemLifecycleStateEnum href "../ItemLifecycleStateEnum/"



      BabyInfantItem : manufacture_year

      BabyInfantItem : material

      BabyInfantItem : sorting_notes

      BabyInfantItem : source_collection





        BabyInfantItem --> "0..1" DonationCollection : source_collection
        click DonationCollection href "../DonationCollection/"



      BabyInfantItem : storage_unit





        BabyInfantItem --> "0..1" StorageLocation : storage_unit
        click StorageLocation href "../StorageLocation/"



      BabyInfantItem : subcategory





        BabyInfantItem --> "1" BabyInfantSubcategoryEnum : subcategory
        click BabyInfantSubcategoryEnum href "../BabyInfantSubcategoryEnum/"



      BabyInfantItem : updated_at

      BabyInfantItem : usage





        BabyInfantItem --> "1" ItemUsageEnum : usage
        click ItemUsageEnum href "../ItemUsageEnum/"



Inheritance

Class Properties

Property Value
Class URI pto:Baby_transport

Slots

Name Cardinality and Range Description Inheritance
subcategory 1
BabyInfantSubcategoryEnum
Subcategory within the item type BabyInfantCategory
assessment_result 0..1
BabyEquipmentAssessmentEnum
Structural/provenance assessment for Track 1 safety-critical equipment BabyInfantCategory
manufacture_year 0..1
Integer
Year of manufacture BabyInfantCategory
includes_original_accessories 0..1
Boolean
Whether standard accessories/components are included (e BabyInfantCategory
is_winter_suitable 0..1
Boolean
Whether this item provides meaningful warmth in cold conditions BabyInfantCategory
is_sealed 0..1
Boolean
Packaging/seal integrity for Track 2 consumables BabyInfantCategory
expiry_date 0..1
Date
Expiry or best-before date BabyInfantCategory
condition_grade 0..1
UsedConditionGradeEnum
Wear grade for Track 3 general baby gear BabyInfantCategory
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
material 0..1
String
Primary material composition CategoryMixin

Rules

lc-sorted-baby-sleeping-bag-winter-required

Rule Applied Preconditions Postconditions Elseconditions
slot_conditions {'lifecycle_state': {'equals_string': 'sorted'}, 'subcategory': {'equals_string': 'sleeping_bags'}} {'is_winter_suitable': {'required': True}}

lc-sorted-baby-subcategory-required

Rule Applied Preconditions Postconditions Elseconditions
slot_conditions {'lifecycle_state': {'equals_string': 'sorted'}} {'subcategory': {'required': True}}

lc-manufacture-year-required

Rule Applied Preconditions Postconditions Elseconditions
slot_conditions {'subcategory': {'any_of': [{'equals_string': 'cots_cribs'}, {'equals_string': 'car_seats'}, {'equals_string': 'pushchairs_prams'}]}, 'lifecycle_state': {'equals_string': 'sorted'}} {'manufacture_year': {'required': True}}

See Also

Identifier and Mapping Information

Annotations

property value
label_en Baby and Infant Supplies
label_de Baby- und Kleinkindausstattung

Schema Source

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

Mappings

Mapping Type Mapped Value
self pto:Baby_transport
native inkind_knowledge_repo:BabyInfantItem

LinkML Source

Direct

name: BabyInfantItem
annotations:
  label_en:
    tag: label_en
    value: Baby and Infant Supplies
  label_de:
    tag: label_de
    value: Baby- und Kleinkindausstattung
description: "Baby and infant supplies: pushchairs, cots, car seats, infant formula,\
  \ feeding bottles, baby monitors, bath equipment. Baby clothing belongs in ClothingItem\
  \ (demographic=baby).\nCOICOP distributes baby items across Division 03 (clothing),\
  \ 05 (household), and 01 (food). Treated as a first-class top-level category here\
  \ following Open Eligibility \"Baby Supplies\" and UNHCR NFI kit practice (nappies\
  \ and formula are core NFI kit items):\n  https://company.auntbertha.com/openeligibility/\n\
  \  https://emergency.unhcr.org/emergency-assistance/core-relief-items/\n\nThree-track\
  \ assessment model (defined in BabyInfantCategory):\n  Track 1  safety-critical\
  \ equipment (BabyEquipmentAssessmentEnum):\n    pushchairs, cots, car seats, carriers,\
  \ high chairs, sleeping bags.\n    EN 1888 (pushchairs), EN 716 (cots), EN 14344\
  \ (car seats),\n    EN 16781 (baby sleeping bags  neck/armhole openings, no loose\n\
  \    cords), all require structured provenance + structural assessment.\n    Baby\
  \ sleeping bags are Track 1, NOT BeddingTextilesItem  the\n    EN 16781 safety\
  \ check differs materially from adult sleeping bag\n    hygiene assessment.\n  Track\
  \ 2  consumables (is_sealed + expiry_date):\n    infant_formula, feeding_bottles_teats,\
  \ baby_food.\n  Track 3  general baby gear (condition_grade):\n    bath equipment,\
  \ changing, monitors, bouncers."
from_schema: https://inkind-at.github.io/inkind-knowledge-repo
see_also:
- http://www.productontology.org/id/Baby_transport
- http://www.productontology.org/id/Infant_bed
- https://company.auntbertha.com/openeligibility/
- https://emergency.unhcr.org/emergency-assistance/core-relief-items/kind-non-food-item-distribution
is_a: DonationItem
mixins:
- BabyInfantCategory
class_uri: pto:Baby_transport
rules:
- preconditions:
    slot_conditions:
      lifecycle_state:
        name: lifecycle_state
        equals_string: sorted
      subcategory:
        name: subcategory
        equals_string: sleeping_bags
  postconditions:
    slot_conditions:
      is_winter_suitable:
        name: is_winter_suitable
        required: true
  description: is_winter_suitable required at sorted state for baby sleeping bags.
    A summer-weight baby sleeping bag (0.5-1.0 tog) issued in cold- weather distribution
    is a safety risk — infants cannot regulate their own temperature. BabyInfantCategory
    also carries this rule; the lifecycle rule here ensures it is enforced at the
    sorted transition.
  title: lc-sorted-baby-sleeping-bag-winter-required
- preconditions:
    slot_conditions:
      lifecycle_state:
        name: lifecycle_state
        equals_string: sorted
  postconditions:
    slot_conditions:
      subcategory:
        name: subcategory
        required: true
  description: subcategory required at sorted state. BabyInfantCategory rules then
    enforce the appropriate assessment track for that subcategory.
  title: lc-sorted-baby-subcategory-required
- preconditions:
    slot_conditions:
      subcategory:
        name: subcategory
        any_of:
        - equals_string: cots_cribs
        - equals_string: car_seats
        - equals_string: pushchairs_prams
      lifecycle_state:
        name: lifecycle_state
        equals_string: sorted
  postconditions:
    slot_conditions:
      manufacture_year:
        name: manufacture_year
        required: true
  description: Manufacture year is required for certain subcategories.
  title: lc-manufacture-year-required

Induced

name: BabyInfantItem
annotations:
  label_en:
    tag: label_en
    value: Baby and Infant Supplies
  label_de:
    tag: label_de
    value: Baby- und Kleinkindausstattung
description: "Baby and infant supplies: pushchairs, cots, car seats, infant formula,\
  \ feeding bottles, baby monitors, bath equipment. Baby clothing belongs in ClothingItem\
  \ (demographic=baby).\nCOICOP distributes baby items across Division 03 (clothing),\
  \ 05 (household), and 01 (food). Treated as a first-class top-level category here\
  \ following Open Eligibility \"Baby Supplies\" and UNHCR NFI kit practice (nappies\
  \ and formula are core NFI kit items):\n  https://company.auntbertha.com/openeligibility/\n\
  \  https://emergency.unhcr.org/emergency-assistance/core-relief-items/\n\nThree-track\
  \ assessment model (defined in BabyInfantCategory):\n  Track 1  safety-critical\
  \ equipment (BabyEquipmentAssessmentEnum):\n    pushchairs, cots, car seats, carriers,\
  \ high chairs, sleeping bags.\n    EN 1888 (pushchairs), EN 716 (cots), EN 14344\
  \ (car seats),\n    EN 16781 (baby sleeping bags  neck/armhole openings, no loose\n\
  \    cords), all require structured provenance + structural assessment.\n    Baby\
  \ sleeping bags are Track 1, NOT BeddingTextilesItem  the\n    EN 16781 safety\
  \ check differs materially from adult sleeping bag\n    hygiene assessment.\n  Track\
  \ 2  consumables (is_sealed + expiry_date):\n    infant_formula, feeding_bottles_teats,\
  \ baby_food.\n  Track 3  general baby gear (condition_grade):\n    bath equipment,\
  \ changing, monitors, bouncers."
from_schema: https://inkind-at.github.io/inkind-knowledge-repo
see_also:
- http://www.productontology.org/id/Baby_transport
- http://www.productontology.org/id/Infant_bed
- https://company.auntbertha.com/openeligibility/
- https://emergency.unhcr.org/emergency-assistance/core-relief-items/kind-non-food-item-distribution
is_a: DonationItem
mixins:
- BabyInfantCategory
attributes:
  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: BabyInfantItem
    domain_of:
    - ClothingCategory
    - AccessoriesCategory
    - FootwearCategory
    - FurnitureCategory
    - BeddingTextilesCategory
    - HouseholdCategory
    - ElectronicsCategory
    - ToysCategory
    - SportsCategory
    - BooksCategory
    - StationeryCategory
    - PersonalCareCategory
    - MobilityAidsCategory
    - BabyInfantCategory
    - AnyValue
    range: BabyInfantSubcategoryEnum
    required: true
  assessment_result:
    name: assessment_result
    annotations:
      label_en:
        tag: label_en
        value: Assessment Result
      label_de:
        tag: label_de
        value: Bewertungsergebnis
    description: Structural/provenance assessment for Track 1 safety-critical equipment.
      Required when subcategory in [pushchairs_prams, cots_cribs, baby_carriers, high_chairs,
      car_seats, sleeping_bags].
    from_schema: https://inkind-at.github.io/inkind-knowledge-repo
    see_also:
    - schema:OfferItemCondition
    rank: 1000
    alias: assessment_result
    owner: BabyInfantItem
    domain_of:
    - FurnitureCategory
    - BeddingTextilesCategory
    - ElectronicsCategory
    - SportsCategory
    - MobilityAidsCategory
    - BabyInfantCategory
    range: BabyEquipmentAssessmentEnum
    required: false
  manufacture_year:
    name: manufacture_year
    annotations:
      show_if:
        tag: show_if
        value: subcategory in [car_seats, cots_cribs, pushchairs_prams]
      label_en:
        tag: label_en
        value: Manufacture year
      label_de:
        tag: label_de
        value: Herstellungsjahr
    description: Year of manufacture. Required for car seats (EN 14344 — 10-year redistribution
      limit). Recommended for cots (EN 716) and pushchairs (EN 1888) to verify age
      of safety-relevant components.
    from_schema: https://inkind-at.github.io/inkind-knowledge-repo
    rank: 1000
    alias: manufacture_year
    owner: BabyInfantItem
    domain_of:
    - BabyInfantCategory
    range: integer
  includes_original_accessories:
    name: includes_original_accessories
    annotations:
      label_en:
        tag: label_en
        value: Includes original accessories
      label_de:
        tag: label_de
        value: Enthält Originalzubehör
    description: Whether standard accessories/components are included (e.g. pushchair
      includes rain cover and harness; cot includes mattress and side rails).
    from_schema: https://inkind-at.github.io/inkind-knowledge-repo
    rank: 1000
    alias: includes_original_accessories
    owner: BabyInfantItem
    domain_of:
    - BabyInfantCategory
    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 item provides meaningful warmth in cold conditions.
      Required for sleeping_bags (UC-enforced) — a summer-weight baby sleeping bag
      in cold-weather distribution is a safety risk. Thermal rating (e.g. "2.5 tog",
      "0°C comfort limit") may be noted in sorting_notes.
    from_schema: https://inkind-at.github.io/inkind-knowledge-repo
    see_also:
    - schema:itemCondition
    rank: 1000
    alias: is_winter_suitable
    owner: BabyInfantItem
    domain_of:
    - ClothingCategory
    - FootwearCategory
    - BeddingTextilesCategory
    - BabyInfantCategory
    range: boolean
    required: false
  is_sealed:
    name: is_sealed
    annotations:
      label_en:
        tag: label_en
        value: Sealed Packaging
      label_de:
        tag: label_de
        value: Versiegelte Verpackung
    description: Packaging/seal integrity for Track 2 consumables. Required when subcategory
      in [infant_formula, feeding_bottles_teats, baby_food].
    from_schema: https://inkind-at.github.io/inkind-knowledge-repo
    rank: 1000
    alias: is_sealed
    owner: BabyInfantItem
    domain_of:
    - PersonalCareCategory
    - BabyInfantCategory
    range: boolean
    required: false
  expiry_date:
    name: expiry_date
    annotations:
      uc_action:
        tag: uc_action
        value: block
      uc_suggest:
        tag: uc_suggest
        value: disposal
      uc_note:
        tag: uc_note
        value: Dynamic date comparison — runtime enforcement
      label_en:
        tag: label_en
        value: Expiry Date
      label_de:
        tag: label_de
        value: Ablaufdatum
    description: 'Expiry or best-before date. UC block: expiry_date < today (runtime
      check).'
    from_schema: https://inkind-at.github.io/inkind-knowledge-repo
    rank: 1000
    alias: expiry_date
    owner: BabyInfantItem
    domain_of:
    - PersonalCareCategory
    - BabyInfantCategory
    - FoodCategory
    range: date
  condition_grade:
    name: condition_grade
    annotations:
      label_en:
        tag: label_en
        value: Wear Grade
      label_de:
        tag: label_de
        value: Abnutzungsgrad
    description: Wear grade for Track 3 general baby gear. Required when subcategory
      in [bath_equipment, changing, baby_monitors, bouncers_swings, breastfeeding,
      other].
    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: BabyInfantItem
    domain_of:
    - ClothingCategory
    - AccessoriesCategory
    - FootwearCategory
    - HouseholdCategory
    - ToysCategory
    - SportsCategory
    - BooksCategory
    - StationeryCategory
    - BabyInfantCategory
    - OtherItem
    range: UsedConditionGradeEnum
    required: false
  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: BabyInfantItem
    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: BabyInfantItem
    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: BabyInfantItem
    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: BabyInfantItem
    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: BabyInfantItem
    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: BabyInfantItem
    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: BabyInfantItem
    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: BabyInfantItem
    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: BabyInfantItem
    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: BabyInfantItem
    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: BabyInfantItem
    domain_of:
    - DonationItem
    range: datetime
    required: true
  material:
    name: material
    annotations:
      label_en:
        tag: label_en
        value: Material
      label_de:
        tag: label_de
        value: Material
    description: Primary material composition. Range overridden per class.
    from_schema: https://inkind-at.github.io/inkind-knowledge-repo
    rank: 1000
    alias: material
    owner: BabyInfantItem
    domain_of:
    - ClothingCategory
    - AccessoriesCategory
    - FootwearCategory
    - FurnitureCategory
    - BeddingTextilesCategory
    - HouseholdCategory
    - ToysCategory
    - CategoryMixin
    range: string
class_uri: pto:Baby_transport
rules:
- preconditions:
    slot_conditions:
      lifecycle_state:
        name: lifecycle_state
        equals_string: sorted
      subcategory:
        name: subcategory
        equals_string: sleeping_bags
  postconditions:
    slot_conditions:
      is_winter_suitable:
        name: is_winter_suitable
        required: true
  description: is_winter_suitable required at sorted state for baby sleeping bags.
    A summer-weight baby sleeping bag (0.5-1.0 tog) issued in cold- weather distribution
    is a safety risk — infants cannot regulate their own temperature. BabyInfantCategory
    also carries this rule; the lifecycle rule here ensures it is enforced at the
    sorted transition.
  title: lc-sorted-baby-sleeping-bag-winter-required
- preconditions:
    slot_conditions:
      lifecycle_state:
        name: lifecycle_state
        equals_string: sorted
  postconditions:
    slot_conditions:
      subcategory:
        name: subcategory
        required: true
  description: subcategory required at sorted state. BabyInfantCategory rules then
    enforce the appropriate assessment track for that subcategory.
  title: lc-sorted-baby-subcategory-required
- preconditions:
    slot_conditions:
      subcategory:
        name: subcategory
        any_of:
        - equals_string: cots_cribs
        - equals_string: car_seats
        - equals_string: pushchairs_prams
      lifecycle_state:
        name: lifecycle_state
        equals_string: sorted
  postconditions:
    slot_conditions:
      manufacture_year:
        name: manufacture_year
        required: true
  description: Manufacture year is required for certain subcategories.
  title: lc-manufacture-year-required