inkind-knowledge-repo
Formal knowledge representation for in-kind donation coordination. Defines the domain schema, category schemas with constraint rules and dependent field maps, process templates, UI fragment bindings, and organisation configuration instances.
URI: https://inkind-at.github.io/inkind-knowledge-repo
Name: inkind-knowledge-repo
Classes
| Class | Description |
|---|---|
| Actor | A person interacting with the system — volunteer, staff, or manager |
| AnyValue | Current workaround before proper attributes are introduced |
| Campaign | A public-facing appeal grouping related DemandSignals under a shared title, t... |
| CategoryMixin | Abstract mixin base for all category classes except FoodCategory |
| AccessoriesCategory | Mixin for fashion and personal accessories |
| BabyInfantCategory | Mixin for baby and infant supply slots and UC rules |
| BeddingTextilesCategory | Mixin for bedding and textiles slots and UC rules |
| BooksCategory | Mixin for books and educational materials slots |
| ClothingCategory | Mixin carrying clothing-specific slots, value maps, and UC rules |
| ElectronicsCategory | Mixin for electronics slots and UC rules |
| FootwearCategory | Mixin for footwear slots and UC rules |
| FurnitureCategory | Mixin for furniture slots, value maps, and UC rules |
| HouseholdCategory | Mixin for household and kitchen goods slots |
| MobilityAidsCategory | Mixin for mobility aids and assistive device slots and UC rules |
| PersonalCareCategory | Mixin for personal care, hygiene, and health product slots and UC rules |
| SportsCategory | Mixin for sports equipment slots and UC rules |
| StationeryCategory | Mixin for stationery and office supply slots |
| ToysCategory | Mixin for toys and games slots and UC rules |
| DemandSignal | A signal representing demand for a category of items |
| DonationCollection | A general-purpose grouping of items with optional recursive parent-child stru... |
| DonationItem | Abstract base for all donation items |
| AccessoriesItem | Fashion and personal accessories: hats, scarves, gloves, belts, bags, jewelle... |
| BabyInfantItem | Baby and infant supplies: pushchairs, cots, car seats, infant formula, feedin... |
| BeddingTextilesItem | Bedding and household textiles: blankets, duvets, mattresses, pillows, sleepi... |
| BooksItem | Books and educational materials |
| ClothingItem | Clothing garments: tops, bottoms, outerwear, underwear, nightwear, sportswear |
| ElectronicsItem | Consumer electronics: phones, tablets, laptops, cameras, audio devices, cable... |
| FoodItem | Food donation item |
| FootwearItem | Footwear: shoes, boots, sandals, slippers |
| FurnitureItem | Structural furniture: chairs, tables, beds, wardrobes, shelving |
| HouseholdItem | Household and kitchen goods: cookware, crockery, small appliances, cleaning t... |
| MobilityAidsItem | Mobility aids and assistive devices: wheelchairs, crutches, walking frames, h... |
| OtherItem | Catch-all for donation items not fitting any other category |
| PersonalCareItem | Personal care, hygiene, and health products |
| SportsItem | Sports and fitness equipment |
| StationeryItem | Stationery and office supplies: pens, notebooks, art supplies, calculators |
| ToysItem | Toys and games |
| DonationSource | Supply-side abstraction representing the origin of a donation |
| FoodCategory | Mixin for food-specific slots, value maps, and UC rules |
| GeoPoint | Geographic coordinates for public map display of an organisation |
| NamedThing | A generic grouping for any identifiable entity with an id, name, and descript... |
| OrgConfig | Organisation-specific configuration parameters (timezone, locale, etc |
| ProvenanceRecord | A single provenance record capturing one completed process step — who did it,... |
| SocialOrganisation | A social organisation deploying the in-kind platform |
| StorageLocation | A physical storage unit within an organisation's warehouse |
Slots
| Slot | Description |
|---|---|
| actor_ref | UUID reference to the Actor who performed this step |
| actor_role_ref | Actor role captured at step time — role may change after the fact so it is sn... |
| age_range | Age suitability |
| anonymous_donor_id | Opaque UUID token linking items back to an anonymous donor for impact reporti... |
| assessment_result | Category-specific structured assessment result |
| attribute_completeness | Data quality tier set by the fragment engine on sorting completion |
| attributes | Category-specific demand attribute filters |
| campaign | FK to Campaign — set only for campaign signal_type |
| capacity | Maximum item count for this location |
| category | Type-defining slot on DonationItem |
| category_affinity | Preferred item category — informational hint, not enforced by the engine |
| collection_type | Operational type of this collection |
| completed_at | Timestamp when the actor submitted the step |
| condition_grade | Observed wear/quality grade at sorting time |
| config | Inlined organisation configuration object (timezone, locale, etc |
| context_note | Human-readable context note, e |
| corporate_donor_ref | FK reference to CorporateDonor profile — Year 2 feature, nullable in Phase 1 |
| cost_configured | The c_s scalar from StepCost at time of execution — the configured cost for t... |
| created_at | Timestamp when the entity was created |
| created_by | FK — the Actor who created this collection |
| current_occupancy | Current item count — derived from items linked to this location |
| deadline | Deadline for fulfilment |
| demographic | Combined age-and-gender demographic suitability of clothing items |
| description | A human-readable description for a thing |
| device | Device type used to complete this step |
| dimensions | Physical dimensions in centimetres, e |
| donation_source | Reference to the DonationSource — privacy boundary between item records and d... |
| duration_seconds | Derived: completed_at - started_at in whole seconds |
| ends_at | Campaign end date and time |
| experience_level | Actor's experience level — informs whether the engine routes to guided or exp... |
| expiry_date | Expiry or best-before date |
| food_type | Primary food type classification |
| geo_point | Geographic coordinates for public map display |
| has_small_parts | Whether the item contains small parts posing a choking hazard |
| holder | FK reference to Beneficiary or SocialOrganisation — used for specific signa... |
| id | A unique identifier for the entity |
| includes_charger | Whether a compatible charger is included |
| includes_original_accessories | Whether standard accessories/components are included (e |
| includes_original_packaging | Whether original retail packaging is present |
| intact_labels | Whether care and composition labels are present and legible |
| is_active | Whether this entity is currently active |
| is_pair_complete | Whether both shoes of the pair are present |
| is_sealed | Whether the item's original packaging/seal is intact |
| is_set_complete | Whether all components of the set are present |
| is_winter_suitable | Whether this item provides meaningful warmth in cold-weather conditions |
| item_count | Count of items directly registered to this collection |
| item_description | Free-text description of the item |
| label | Human-readable label for the entity |
| language | Language of item content (ISO 639-1 code, e |
| lat | Latitude in decimal degrees |
| lifecycle_state | Current lifecycle state of the entity |
| locale | BCP-47 locale code (e |
| long | Longitude in decimal degrees |
| manufacture_year | Year of manufacture |
| material | Primary material composition |
| name | A human-readable name for a thing |
| notes | Optional free-text notes |
| observations_ref | JSON blob of field values submitted by the actor during this step |
| org | Reference to the owning SocialOrganisation |
| organisation_ref | FK to a SocialOrganisation — set for the Share disposal workflow (Phase 2+) |
| override_flag | True if the actor acknowledged a constraint warning (UC or PC) and proceeded ... |
| override_reason | Free-text reason provided by the actor when override_flag is true |
| packaging_intact | Whether the item's original packaging is intact and uncompromised |
| parent | Parent entity reference for hierarchical structures |
| provenance | Who recorded this source, on which device, and when |
| public_visibility | Whether to expose this signal on the public API and Donor Portal |
| quantity | Quantity in natural units (items, cans, bags, kg, etc |
| quantity_fulfilled | Items matched to this signal — derived at runtime |
| quantity_requested | Target quantity |
| registered_at | Timestamp when this demand signal was registered |
| role | The actor's role within the organisation |
| season | Seasonal suitability |
| shoe_size | Shoe size as a string |
| shoe_size_system | Sizing system for the shoe_size value |
| signal_type | Discriminator — standing (permanent interest), campaign (time-bounded), or sp... |
| signals | Inverse relation — DemandSignals with FK to this Campaign (signal_type = camp... |
| size | Size of the clothing item |
| sorting_notes | Free-text notes recorded by the sorter during sorting |
| source_collection | FK — the DonationCollection (arrival type) this item was registered from |
| source_type | Discriminator — anonymous_private is the only type used in Phase 1 |
| sport_type | Sport or activity type (free text, e |
| started_at | Timestamp when the step fragment was presented to the actor |
| starts_at | Campaign start date and time |
| step_type_ref | Slug reference to the StepType that was executed (e |
| storage_requirement | Required storage condition |
| storage_unit | FK — set when lifecycle_state transitions to stored |
| style | Style or design description (e |
| subcategory | Subcategory within the item type |
| target_beneficiary_group | Free-text description of the target beneficiary group, e |
| timezone | IANA timezone identifier (e |
| title | Human-readable campaign title, e |
| total_item_count | Derived count — items in this collection plus all descendant collections (com... |
| updated_at | Timestamp when the entity record was last modified |
| urgency_tier | Urgency classification |
| usage | Provenance condition — was the item ever used before donation? Orthogonal to ... |
Enumerations
| Enumeration | Description |
|---|---|
| AccessoriesDemographicEnum | Simplified age-group demographic for accessories |
| AccessoriesMaterialEnum | Primary construction material of a fashion or personal accessory |
| AccessoriesSubcategoryEnum | Fashion and personal accessories subcategories |
| ActorRoleEnum | Valid actor roles within a SocialOrganisation |
| AttributeCompletenessEnum | Data quality tier for a DonationItem's category-specific attributes |
| BabyEquipmentAssessmentEnum | Structured safety assessment for safety-critical baby equipment (pushchairs, ... |
| BabyInfantSubcategoryEnum | Baby and infant supplies subcategories |
| BeddingAssessmentEnum | Structured hygiene and condition assessment for bedding and textiles |
| BeddingMaterialEnum | Primary fibre or fabric composition of a bedding or textile item |
| BeddingTextilesSubcategoryEnum | Bedding and household textiles subcategories |
| BookAgeRangeEnum | Age suitability for books |
| BooksSubcategoryEnum | Books and educational materials subcategories |
| CampaignLifecycleEnum | Lifecycle states for a Campaign |
| CategoryEnum | Canonical registry of all donation item categories |
| ClothingMaterialEnum | Primary fibre or fabric composition of a clothing item |
| ClothingSizeEnum | Clothing sizes covering infant, children's, and adult sizing |
| ClothingSubcategoryEnum | Clothing garment subcategories |
| CollectionLifecycleEnum | Lifecycle states for a DonationCollection |
| CollectionTypeEnum | Operational type of a DonationCollection |
| ConditionEnum | DEPRECATED |
| DemandSignalLifecycleEnum | Lifecycle states for a DemandSignal |
| DemandSignalTypeEnum | Discriminator for the type of demand signal |
| DemographicEnum | Combined age-and-gender demographic for clothing and footwear items |
| DeviceTypeEnum | Device type used to complete a process step |
| DonationSourceLifecycleEnum | Lifecycle states for a DonationSource |
| DonationSourceTypeEnum | Discriminator for the origin type of a donation |
| ElectronicsAssessmentEnum | Structured functional and cosmetic assessment for electronic items |
| ElectronicsSubcategoryEnum | Electronics subcategories |
| ExperienceLevelEnum | Actor experience level for fragment mode selection |
| FoodSubcategoryEnum | Optional subcategory for further food classification within a food_type |
| FoodTypeEnum | Primary food type classification |
| FootwearMaterialEnum | Primary upper-material of a footwear item — the dominant outer fabric or surf... |
| FootwearSubcategoryEnum | Footwear subcategories |
| FurnitureAssessmentEnum | Structured assessment of furniture structural integrity and quality |
| FurnitureMaterialEnum | Primary furniture construction material |
| FurnitureSubcategoryEnum | Furniture subcategories |
| HouseholdMaterialEnum | Primary construction material of a household or kitchen item |
| HouseholdSubcategoryEnum | Household and kitchen goods subcategories aligned with COICOP 05 |
| ItemLifecycleStateEnum | Lifecycle states for a DonationItem |
| ItemUsageEnum | Provenance — was the item ever used before donation? Orthogonal to assessment |
| MobilityAidsSubcategoryEnum | Mobility aids and assistive devices subcategories |
| MobilityAssessmentEnum | Structured safety and hygiene assessment for mobility aids and assistive devi... |
| PersonalCareSubcategoryEnum | Personal care, hygiene, and health product subcategories |
| SeasonEnum | Seasonal suitability of a clothing or footwear item |
| ShoeSizeSystemEnum | Shoe size measurement system |
| SportsProtectiveAssessmentEnum | Structured safety assessment for protective gear (helmets, pads, life jackets... |
| SportsSubcategoryEnum | Sports equipment subcategories |
| StationerySubcategoryEnum | Stationery and office supply subcategories |
| StorageRequirementEnum | Required storage condition for a food item |
| ToyAgeRangeEnum | Age suitability for toys |
| ToysMaterialEnum | Primary construction material of a toy or game item |
| ToysSubcategoryEnum | Toys subcategories |
| UrgencyTierEnum | Urgency classification for campaign and specific demand signals |
| UsedConditionGradeEnum | Observed wear/quality grade at sorting time |
Types
| Type | Description |
|---|---|
| Boolean | A binary (true or false) value |
| Curie | a compact URI |
| Date | a date (year, month and day) in an idealized calendar |
| DateOrDatetime | Either a date or a datetime |
| Datetime | The combination of a date and time |
| Decimal | A real number with arbitrary precision that conforms to the xsd:decimal speci... |
| Double | A real number that conforms to the xsd:double specification |
| Float | A real number that conforms to the xsd:float specification |
| Integer | An integer |
| Jsonpath | A string encoding a JSON Path |
| Jsonpointer | A string encoding a JSON Pointer |
| Ncname | Prefix part of CURIE |
| Nodeidentifier | A URI, CURIE or BNODE that represents a node in a model |
| Objectidentifier | A URI or CURIE that represents an object in the model |
| Sparqlpath | A string encoding a SPARQL Property Path |
| String | A character string |
| Time | A time object represents a (local) time of day, independent of any particular... |
| Uri | a complete URI |
| Uriorcurie | a URI or a CURIE |
Subsets
| Subset | Description |
|---|---|