glam/schemas/20251121/linkml/modules/classes/GiftShop.yaml
kempersc 626bd3a095 refactor(schemas): apply naming conventions to 261 class files
- Apply Rule 39: RiC-O style hasOrHad*/isOrWas* for temporal slots
- Apply Rule 43: Singular noun convention (keywords → keyword)
- Update slot references to match renamed slot files
- Maintain schema integrity across all class definitions
2026-01-10 15:36:33 +01:00

676 lines
24 KiB
YAML

id: https://nde.nl/ontology/hc/class/gift-shop
name: gift_shop_class
title: GiftShop Class
imports:
- linkml:types
- ./Custodian
- ./AuxiliaryPlace
- ./AuxiliaryDigitalPlatform
- ./CustodianObservation
- ./ReconstructionActivity
- ./TimeSpan
- ../enums/GiftShopTypeEnum
- ../enums/ProductCategoryEnum
- ../slots/staff_count
- ../slots/managed_by
- ../slots/price_currency
- ./ReconstructedEntity
- ../slots/accepts_payment_methods
- ../slots/has_or_had_annual_revenue
- ../slots/giftshop_price_range
- ../slots/online_shop
- ../slots/opening_hour
- ../slots/physical_location
- ../slots/has_or_had_product_category
- ../slots/refers_to_custodian
- ../slots/shop_description
- ../slots/shop_id
- ../slots/shop_name
- ../slots/shop_type
- ../slots/specificity_annotation
- ../slots/square_meters
- ../slots/supplier_relationship
- ../slots/template_specificity
- ../slots/temporal_extent
- ../slots/valid_from
- ../slots/valid_to
- ../slots/visitor_conversion_rate
- ../slots/was_derived_from
- ../slots/was_generated_by
- ./SpecificityAnnotation
- ./TemplateSpecificityScores
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
schema: http://schema.org/
dcterms: http://purl.org/dc/terms/
crm: http://www.cidoc-crm.org/cidoc-crm/
prov: http://www.w3.org/ns/prov#
gr: http://purl.org/goodrelations/v1#
org: http://www.w3.org/ns/org#
foaf: http://xmlns.com/foaf/0.1/
classes:
GiftShop:
is_a: ReconstructedEntity
class_uri: schema:Store
description: "Retail operation associated with a heritage custodian for selling\
\ merchandise,\nreproductions, books, and heritage-related products.\n\n**PURPOSE\
\ AND SCOPE**:\n\nMuseum gift shops, archive bookshops, and library retail spaces\
\ are important\nrevenue-generating operations that also serve educational and\
\ cultural missions:\n\n- **Revenue generation**: Support institutional operations\
\ through merchandise sales\n- **Mission extension**: Offer products related\
\ to collections and exhibitions\n- **Visitor experience**: Complete the visit\
\ with memorable takeaways\n- **Brand communication**: Extend institutional\
\ identity through products\n- **Educational outreach**: Books, educational\
\ materials, replicas for learning\n\n**PHYSICAL vs. DIGITAL PRESENCE**:\n\n\
Gift shops can exist in multiple forms:\n\n1. **Physical shop** (on-site): Located\
\ within museum/archive building\n - Links to AuxiliaryPlace (physical location)\n\
\ - Has opening_hours, accepts_payment_methods\n \n2. **Physical shop**\
\ (separate): Stand-alone retail location\n - Links to AuxiliaryPlace with\
\ type RETAIL_SPACE\n - May have separate street address, hours\n \n3. **Online\
\ shop** (e-commerce): Web-based retail platform\n - Links to AuxiliaryDigitalPlatform\
\ with type WEBSHOP\n - Has platform_url, shipping policies\n \n4. **Hybrid**:\
\ Both physical and online presence\n - Multiple links to AuxiliaryPlace AND\
\ AuxiliaryDigitalPlatform\n\n**SCHEMA.ORG ALIGNMENT**:\n\n`schema:Store` -\
\ \"A retail good store.\"\n\nKey properties:\n- `schema:openingHours` - Operating\
\ hours\n- `schema:acceptedPaymentMethod` - Payment options\n- `schema:priceRange`\
\ - Price level indication\n- `schema:currenciesAccepted` - Currency codes\n\
\n**GoodRelations Integration**:\n\nFor detailed product/offer modeling, GiftShop\
\ can link to:\n- `gr:Offering` - Specific product offers\n- `gr:BusinessEntity`\
\ - Shop as business entity\n- `gr:PaymentMethod` - Payment options\n\n**RELATIONSHIP\
\ TO CUSTODIAN HUB**:\n\n```\nCustodian (hub)\n ├── gift_shop → GiftShop (retail\
\ operations)\n │ ├── physical_location → AuxiliaryPlace (shop location)\n\
\ │ ├── online_shop → AuxiliaryDigitalPlatform (e-commerce)\n │ ├── product_categories\
\ → ProductCategoryEnum[]\n │ └── revenue_data → Annual sales, visitor conversion\n\
\ │\n └── commercial_activities (broader commercial operations)\n```\n\n**USE\
\ CASES**:\n\n1. **Museum Shop** (Rijksmuseum):\n - Physical shop in museum\
\ foyer\n - Online shop at rijksmuseumshop.nl\n - Products: Reproductions,\
\ books, design objects\n \n2. **Archive Bookshop** (National Archives):\n\
\ - Small shop near reading room\n - Publications, finding aids, historical\
\ maps\n \n3. **Library Retail** (British Library):\n - Multiple retail\
\ spaces (shop, cafe, bookshop)\n - Extensive publication program\n \n4.\
\ **Pop-up Shop** (Exhibition):\n - Temporary retail for special exhibition\n\
\ - Exhibition catalog, themed merchandise\n\n**Example - Rijksmuseum Gift\
\ Shop**:\n```yaml\nCustodian:\n hc_id: \"https://nde.nl/ontology/hc/nl-nh-ams-m-rm-q190804\"\
\n preferred_label: \"Rijksmuseum\"\n gift_shop:\n - shop_id: \"https://nde.nl/ontology/hc/gift-shop/rijksmuseum-shop\"\
\n shop_name: \"Rijksmuseum Shop\"\n shop_type: MUSEUM_SHOP\n \
\ shop_description: |\n Award-winning museum shop offering reproductions,\
\ design objects,\n books, and exclusive Rijksmuseum merchandise.\n \
\ physical_location:\n - place_name: \"Rijksmuseum Shop - Main Hall\"\
\n auxiliary_place_type: RETAIL_SPACE\n street_address: \"\
Museumstraat 1, Amsterdam\"\n online_shop:\n - platform_name: \"\
Rijksmuseum Online Shop\"\n platform_url: \"https://www.rijksmuseumshop.nl/\"\
\n auxiliary_platform_type: WEBSHOP\n product_categories:\n \
\ - REPRODUCTIONS\n - BOOKS\n - DESIGN_OBJECTS\n -\
\ JEWELRY\n - HOME_DECOR\n price_currency: EUR\n accepts_payment_methods:\n\
\ - CASH\n - CREDIT_CARD\n - DEBIT_CARD\n - MOBILE_PAYMENT\n\
\ opening_hours: \"09:00-18:00\"\n```\n\n**TEMPORAL VALIDITY**:\n\nGift\
\ shops can open/close independently of the main institution:\n- New shop location\
\ opened 2013 after renovation\n- Temporary pop-up during exhibition\n- Online\
\ shop launched 2010\n\nTrack with valid_from/valid_to dates.\n"
exact_mappings:
- schema:Store
- gr:BusinessEntity
close_mappings:
- schema:LocalBusiness
- schema:ShoppingCenter
- crm:E39_Actor
- foaf:Organization
related_mappings:
- schema:Offer
- gr:Offering
- schema:Product
slots:
- accepts_payment_methods
- has_or_had_annual_revenue
- giftshop_price_range
- managed_by
- online_shop
- opening_hour
- physical_location
- price_currency
- has_or_had_product_category
- refers_to_custodian
- shop_description
- shop_id
- shop_name
- shop_type
- specificity_annotation
- square_meters
- staff_count
- supplier_relationship
- template_specificity
- temporal_extent
- valid_from
- valid_to
- visitor_conversion_rate
- was_derived_from
- was_generated_by
slot_usage:
shop_id:
slot_uri: dcterms:identifier
description: |
Unique identifier for this gift shop.
Format: URI following NDE Heritage Custodian ontology conventions.
range: uriorcurie
required: true
identifier: true
examples:
- value: https://nde.nl/ontology/hc/gift-shop/rijksmuseum-shop
description: Rijksmuseum shop ID
shop_name:
slot_uri: schema:name
description: |
Human-readable name for this gift shop.
Schema.org: name for store name.
Examples:
- "Rijksmuseum Shop"
- "British Library Bookshop"
- "MoMA Design Store"
- "National Archives Publications"
range: string
required: true
examples:
- value: Rijksmuseum Shop
description: Museum shop name
- value: British Library Bookshop
description: Library bookshop name
shop_type:
slot_uri: dcterms:type
description: |
Type of gift shop using GiftShopTypeEnum classification.
Types include:
- MUSEUM_SHOP: General museum merchandise
- BOOKSHOP: Primarily books and publications
- DESIGN_STORE: Design objects and reproductions
- SPECIALTY_SHOP: Themed or collection-specific
- POP_UP: Temporary retail for exhibitions
- KIOSK: Small-format retail point
Dublin Core: type for classification.
range: GiftShopTypeEnum
required: true
examples:
- value: MUSEUM_SHOP
description: General museum shop
- value: BOOKSHOP
description: Primarily publications
shop_description:
slot_uri: dcterms:description
description: |
Detailed description of this gift shop.
Include:
- Retail concept and positioning
- Relationship to museum/archive mission
- Notable products or exclusives
- Awards or recognition
range: string
examples:
- value: Award-winning museum shop offering reproductions and design objects
description: Rijksmuseum shop description
physical_location:
slot_uri: schema:location
description: |
Physical retail location(s) for this gift shop.
Links to AuxiliaryPlace instances representing:
- On-site shop within museum building
- Separate retail space at different address
- Multiple locations (branch shops)
Schema.org: location for physical presence.
May be null for online-only retail operations.
range: AuxiliaryPlace
multivalued: true
inlined_as_list: true
required: false
examples:
- value:
place_name: Rijksmuseum Shop - Main Hall
auxiliary_place_type: RETAIL_SPACE
street_address: Museumstraat 1
city: Amsterdam
description: Physical shop location
online_shop:
slot_uri: schema:url
description: |
Online e-commerce platform(s) for this gift shop.
Links to AuxiliaryDigitalPlatform instances with type WEBSHOP.
Schema.org: url for web presence.
May be null for physical-only retail operations.
range: AuxiliaryDigitalPlatform
multivalued: true
inlined_as_list: true
required: false
examples:
- value:
platform_name: Rijksmuseum Online Shop
platform_url: https://www.rijksmuseumshop.nl/
auxiliary_platform_type: WEBSHOP
description: Online shop platform
has_or_had_product_category:
slot_uri: schema:category
description: |
Categories of products sold in this gift shop.
Uses ProductCategoryEnum classification:
- REPRODUCTIONS: Art prints, posters, replicas
- BOOKS: Publications, catalogs, guides
- DESIGN_OBJECTS: Design items, home decor
- JEWELRY: Jewelry, accessories
- TEXTILES: Clothing, scarves, bags
- STATIONERY: Cards, notebooks, pens
- TOYS: Educational toys, games
- FOOD: Specialty foods, chocolates
- SOUVENIRS: Tourist items, keychains
Schema.org: category for product classification.
range: ProductCategoryEnum
multivalued: true
required: true
examples:
- value:
- REPRODUCTIONS
- BOOKS
- DESIGN_OBJECTS
description: Rijksmuseum shop categories
price_currency:
slot_uri: schema:priceCurrency
description: |
Primary currency accepted (ISO 4217 code).
Schema.org: priceCurrency for currency specification.
Examples: EUR, USD, GBP, JPY
range: string
required: true
pattern: ^[A-Z]{3}$
examples:
- value: EUR
description: Euro currency
- value: USD
description: US Dollar
giftshop_price_range:
slot_uri: schema:priceRange
description: |
Price level indication (Schema.org convention).
Schema.org: priceRange for price level.
Values: $, $$, $$$, $$$$ (budget to luxury)
Or text description: "€5-€500"
range: string
required: false
examples:
- value: $$
description: Mid-range pricing
- value: €5-€500
description: Price range in euros
accepts_or_accepted_payment_method:
slot_uri: schema:paymentAccepted
description: |
Payment methods accepted by this gift shop.
Schema.org: paymentAccepted for payment options.
GoodRelations: gr:PaymentMethod for detailed payment modeling.
Common values:
- CASH
- CREDIT_CARD
- DEBIT_CARD
- MOBILE_PAYMENT (Apple Pay, Google Pay)
- MUSEUM_CARD (Netherlands)
- GIFT_CARD
range: string
multivalued: true
required: false
examples:
- value:
- CASH
- CREDIT_CARD
- DEBIT_CARD
- MOBILE_PAYMENT
description: Common payment methods
opening_hour:
slot_uri: schema:openingHours
description: |
Operating hours for the physical gift shop.
Schema.org: openingHours in Schema.org format.
Format: "Mo-Fr 09:00-17:00, Sa 10:00-18:00, Su 11:00-17:00"
May differ from museum hours (shop may close earlier).
range: string
required: false
examples:
- value: Mo-Su 09:00-18:00
description: Daily hours
- value: Mo-Fr 10:00-17:00, Sa-Su 10:00-18:00
description: Weekday/weekend hours
has_or_had_annual_revenue:
slot_uri: schema:annualRevenue
description: |
Estimated annual revenue from retail operations.
Schema.org: annualRevenue for financial data (if disclosed).
May be confidential for commercial custodians.
Include currency code.
range: string
required: false
examples:
- value: EUR 5,000,000
description: Annual revenue in euros
visitor_conversion_rate:
slot_uri: hc:visitorConversionRate
description: |
Percentage of museum visitors who make a shop purchase.
Key performance metric for museum retail:
- Industry average: 15-25%
- High performers: 30-40%
Expressed as decimal (0.25 = 25%).
range: float
required: false
examples:
- value: 0.35
description: 35% conversion rate
staff_count:
slot_uri: schema:numberOfEmployees
description: |
Number of staff working in the gift shop.
Schema.org: numberOfEmployees for staffing.
May include full-time, part-time, seasonal.
range: integer
required: false
examples:
- value: 15
description: 15 shop staff
square_meters:
slot_uri: schema:floorSize
description: |
Retail floor space in square meters.
Schema.org: floorSize for area measurement.
Indicator of shop scale and capacity.
range: float
required: false
examples:
- value: 250.0
description: 250 square meters
managed_by:
slot_uri: schema:member
description: |
Management structure for the gift shop.
Options:
- In-house: Managed by museum/archive staff
- Outsourced: Third-party retail operator
- Franchise: Licensed operation
- Partnership: Joint venture with retail partner
Include operator name if outsourced.
range: string
required: false
examples:
- value: In-house (Rijksmuseum BV)
description: Internal management
- value: Outsourced (Culture Shops Ltd)
description: External operator
supplier_relationship:
slot_uri: schema:supplier
description: |
Key supplier relationships for shop merchandise.
Schema.org: supplier for business relationships.
May include:
- Print-on-demand partners
- Local artisan suppliers
- Publication distributors
- Exclusive license holders
range: string
multivalued: true
required: false
examples:
- value: King & McGaw (art prints)
description: Print supplier
- value: Museum Reproductions Ltd
description: Reproduction supplier
valid_from:
slot_uri: schema:validFrom
description: |
Date when this gift shop opened.
Track when retail operations commenced.
range: date
required: false
examples:
- value: '2013-04-13'
description: Shop opened with new building
valid_to:
slot_uri: schema:validThrough
description: |
Date when this gift shop closed.
NULL if still operational.
range: date
required: false
examples:
- value: '2020-03-15'
description: Temporary closure date
temporal_extent:
slot_uri: crm:P4_has_time-span
description: |
Temporal period during which this gift shop was operational.
CIDOC-CRM: P4_has_time-span for fuzzy temporal boundaries.
Use when exact dates are uncertain.
range: TimeSpan
required: false
examples:
- value:
begin_of_the_begin: '2010-01-01'
end_of_the_begin: '2013-04-13'
description: Shop opened sometime 2010-2013
was_derived_from:
slot_uri: prov:wasDerivedFrom
description: |
CustodianObservation(s) documenting this gift shop.
PROV-O: wasDerivedFrom for observation provenance.
range: CustodianObservation
multivalued: true
required: false
was_generated_by:
slot_uri: prov:wasGeneratedBy
description: |
ReconstructionActivity that created this gift shop record.
PROV-O: wasGeneratedBy for generation activity.
range: ReconstructionActivity
required: false
refers_to_custodian:
slot_uri: schema:parentOrganization
description: |
The Custodian hub that operates this gift shop.
Schema.org: parentOrganization for organizational ownership.
All gift shops MUST reference the custodian they serve.
range: Custodian
required: true
examples:
- value: https://nde.nl/ontology/hc/nl-nh-ams-m-rm-q190804
description: Rijksmuseum custodian hub
specificity_annotation:
range: SpecificityAnnotation
inlined: true
template_specificity:
range: TemplateSpecificityScores
inlined: true
comments:
- GiftShop models retail operations of heritage custodians
- Can have physical location (AuxiliaryPlace) and/or online presence (AuxiliaryDigitalPlatform)
- Schema.org schema:Store for retail business modeling
- GoodRelations (gr:) can be used for detailed product/offer modeling
- Revenue and conversion metrics support institutional planning
- Temporal validity tracks shop lifecycle (opening, renovation, closure)
- May be in-house or outsourced to third-party operators
see_also:
- https://schema.org/Store
- https://schema.org/LocalBusiness
- http://purl.org/goodrelations/v1#
- https://schema.org/Offer
examples:
- value:
shop_id: https://nde.nl/ontology/hc/gift-shop/rijksmuseum-shop
shop_name: Rijksmuseum Shop
shop_type: MUSEUM_SHOP
shop_description: Award-winning museum shop offering reproductions, design
objects, books, and exclusive Rijksmuseum merchandise. Located in the redesigned
entrance hall.
physical_location:
- place_name: Rijksmuseum Shop - Main Hall
auxiliary_place_type: RETAIL_SPACE
street_address: Museumstraat 1
postal_code: 1071 XX
city: Amsterdam
country: https://nde.nl/ontology/hc/country/NL
online_shop:
- platform_name: Rijksmuseum Online Shop
platform_url: https://www.rijksmuseumshop.nl/
auxiliary_platform_type: WEBSHOP
has_or_had_product_category:
- REPRODUCTIONS
- BOOKS
- DESIGN_OBJECTS
- JEWELRY
- HOME_DECOR
price_currency: EUR
giftshop_price_range: $$
accepts_or_accepted_payment_method:
- CASH
- CREDIT_CARD
- DEBIT_CARD
- MOBILE_PAYMENT
- MUSEUM_CARD
opening_hours: Mo-Su 09:00-18:00
staff_count: 25
square_meters: 450.0
managed_by: In-house (Rijksmuseum BV)
valid_from: '2013-04-13'
refers_to_custodian: https://nde.nl/ontology/hc/nl-nh-ams-m-rm-q190804
description: Rijksmuseum flagship museum shop
- value:
shop_id: https://nde.nl/ontology/hc/gift-shop/british-library-shop
shop_name: British Library Shop
shop_type: BOOKSHOP
shop_description: Specialist bookshop focusing on rare book facsimiles, literary
merchandise, and British Library publications.
physical_location:
- place_name: British Library Shop
auxiliary_place_type: RETAIL_SPACE
street_address: 96 Euston Road
city: London
country: https://nde.nl/ontology/hc/country/GB
online_shop:
- platform_name: British Library Shop Online
platform_url: https://shop.bl.uk/
auxiliary_platform_type: WEBSHOP
has_or_had_product_category:
- BOOKS
- REPRODUCTIONS
- STATIONERY
- GIFTS
price_currency: GBP
giftshop_price_range: $$
accepts_or_accepted_payment_method:
- CASH
- CREDIT_CARD
- DEBIT_CARD
opening_hours: Mo-Fr 09:30-18:00, Sa 09:30-17:00, Su 11:00-17:00
refers_to_custodian: https://nde.nl/ontology/hc/gb-british-library
description: British Library specialist bookshop
- value:
shop_id: https://nde.nl/ontology/hc/gift-shop/vermeer-exhibition-popup
shop_name: Vermeer Exhibition Pop-up Shop
shop_type: POP_UP
shop_description: Temporary retail for the 2023 Vermeer exhibition with exclusive
exhibition merchandise and catalog.
physical_location:
- place_name: Vermeer Exhibition Shop
auxiliary_place_type: RETAIL_SPACE
street_address: Museumstraat 1
city: Amsterdam
has_or_had_product_category:
- BOOKS
- REPRODUCTIONS
- SOUVENIRS
price_currency: EUR
valid_from: '2023-02-10'
valid_to: '2023-06-04'
refers_to_custodian: https://nde.nl/ontology/hc/nl-nh-ams-m-rm-q190804
description: Temporary exhibition pop-up shop
slots:
shop_id:
description: Unique identifier for gift shop
range: uriorcurie
shop_name:
description: Human-readable shop name
range: string
shop_type:
description: Type of gift shop
range: GiftShopTypeEnum
shop_description:
description: Detailed description of gift shop
range: string
physical_location:
description: Physical retail location(s)
range: AuxiliaryPlace
multivalued: true
online_shop:
description: Online e-commerce platform(s)
range: AuxiliaryDigitalPlatform
multivalued: true
has_or_had_product_category:
description: Categories of products sold
range: ProductCategoryEnum
multivalued: true
giftshop_price_range:
description: Price level indication
range: string
accepts_or_accepted_payment_method:
description: Payment methods accepted
range: string
multivalued: true
opening_hour:
description: Operating hours
range: string
has_or_had_annual_revenue:
description: Estimated annual revenue
range: string
visitor_conversion_rate:
description: Visitor to purchase conversion rate
range: float
square_meters:
description: Retail floor space
range: float
supplier_relationship:
description: Key supplier relationships
range: string
multivalued: true