glam/schemas/20251121/linkml/modules/classes/GiftShop.yaml
2025-12-06 19:50:04 +01:00

765 lines
25 KiB
YAML

# Heritage Gift Shop Class
# Represents retail operations of heritage custodians (museum shops, bookshops, merchandise stores)
# Schema.org: schema:Store for retail locations
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
- ./ReconstructedEntity
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,
reproductions, books, and heritage-related products.
**PURPOSE AND SCOPE**:
Museum gift shops, archive bookshops, and library retail spaces are important
revenue-generating operations that also serve educational and cultural missions:
- **Revenue generation**: Support institutional operations through merchandise sales
- **Mission extension**: Offer products related to collections and exhibitions
- **Visitor experience**: Complete the visit with memorable takeaways
- **Brand communication**: Extend institutional identity through products
- **Educational outreach**: Books, educational materials, replicas for learning
**PHYSICAL vs. DIGITAL PRESENCE**:
Gift shops can exist in multiple forms:
1. **Physical shop** (on-site): Located within museum/archive building
- Links to AuxiliaryPlace (physical location)
- Has opening_hours, accepts_payment_methods
2. **Physical shop** (separate): Stand-alone retail location
- Links to AuxiliaryPlace with type RETAIL_SPACE
- May have separate street address, hours
3. **Online shop** (e-commerce): Web-based retail platform
- Links to AuxiliaryDigitalPlatform with type WEBSHOP
- Has platform_url, shipping policies
4. **Hybrid**: Both physical and online presence
- Multiple links to AuxiliaryPlace AND AuxiliaryDigitalPlatform
**SCHEMA.ORG ALIGNMENT**:
`schema:Store` - "A retail good store."
Key properties:
- `schema:openingHours` - Operating hours
- `schema:acceptedPaymentMethod` - Payment options
- `schema:priceRange` - Price level indication
- `schema:currenciesAccepted` - Currency codes
**GoodRelations Integration**:
For detailed product/offer modeling, GiftShop can link to:
- `gr:Offering` - Specific product offers
- `gr:BusinessEntity` - Shop as business entity
- `gr:PaymentMethod` - Payment options
**RELATIONSHIP TO CUSTODIAN HUB**:
```
Custodian (hub)
├── gift_shop → GiftShop (retail operations)
│ ├── physical_location → AuxiliaryPlace (shop location)
│ ├── online_shop → AuxiliaryDigitalPlatform (e-commerce)
│ ├── product_categories → ProductCategoryEnum[]
│ └── revenue_data → Annual sales, visitor conversion
└── commercial_activities (broader commercial operations)
```
**USE CASES**:
1. **Museum Shop** (Rijksmuseum):
- Physical shop in museum foyer
- Online shop at rijksmuseumshop.nl
- Products: Reproductions, books, design objects
2. **Archive Bookshop** (National Archives):
- Small shop near reading room
- Publications, finding aids, historical maps
3. **Library Retail** (British Library):
- Multiple retail spaces (shop, cafe, bookshop)
- Extensive publication program
4. **Pop-up Shop** (Exhibition):
- Temporary retail for special exhibition
- Exhibition catalog, themed merchandise
**Example - Rijksmuseum Gift Shop**:
```yaml
Custodian:
hc_id: "https://nde.nl/ontology/hc/nl-nh-ams-m-rm-q190804"
preferred_label: "Rijksmuseum"
gift_shop:
- 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.
physical_location:
- place_name: "Rijksmuseum Shop - Main Hall"
auxiliary_place_type: RETAIL_SPACE
street_address: "Museumstraat 1, Amsterdam"
online_shop:
- platform_name: "Rijksmuseum Online Shop"
platform_url: "https://www.rijksmuseumshop.nl/"
auxiliary_platform_type: WEBSHOP
product_categories:
- REPRODUCTIONS
- BOOKS
- DESIGN_OBJECTS
- JEWELRY
- HOME_DECOR
price_currency: EUR
accepts_payment_methods:
- CASH
- CREDIT_CARD
- DEBIT_CARD
- MOBILE_PAYMENT
opening_hours: "09:00-18:00"
```
**TEMPORAL VALIDITY**:
Gift shops can open/close independently of the main institution:
- New shop location opened 2013 after renovation
- Temporary pop-up during exhibition
- Online shop launched 2010
Track with valid_from/valid_to dates.
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:
- shop_id
- shop_name
- shop_type
- shop_description
- physical_location
- online_shop
- product_categories
- price_currency
- giftshop_price_range
- accepts_payment_methods
- opening_hours
- annual_revenue
- visitor_conversion_rate
- staff_count
- square_meters
- managed_by
- supplier_relationships
- valid_from
- valid_to
- temporal_extent
- was_derived_from
- was_generated_by
- refers_to_custodian
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"
product_categories:
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_payment_methods:
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_hours:
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"
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_relationships:
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"
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
product_categories:
- REPRODUCTIONS
- BOOKS
- DESIGN_OBJECTS
- JEWELRY
- HOME_DECOR
price_currency: EUR
giftshop_price_range: "$$"
accepts_payment_methods:
- 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
product_categories:
- BOOKS
- REPRODUCTIONS
- STATIONERY
- GIFTS
price_currency: GBP
giftshop_price_range: "$$"
accepts_payment_methods:
- 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"
product_categories:
- 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"
# Slot definitions (basic - detailed in class slot_usage)
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
product_categories:
description: Categories of products sold
range: ProductCategoryEnum
multivalued: true
price_currency:
description: Primary currency (ISO 4217)
range: string
giftshop_price_range:
description: Price level indication
range: string
accepts_payment_methods:
description: Payment methods accepted
range: string
multivalued: true
opening_hours:
description: Operating hours
range: string
annual_revenue:
description: Estimated annual revenue
range: string
visitor_conversion_rate:
description: Visitor to purchase conversion rate
range: float
# NOTE: staff_count imported from global slot ../slots/staff_count.yaml
square_meters:
description: Retail floor space
range: float
# NOTE: managed_by imported from global slot ../slots/managed_by.yaml
supplier_relationships:
description: Key supplier relationships
range: string
multivalued: true