glam/schemas/20251121/linkml/modules/classes/Appointment.yaml
2026-01-17 17:49:56 +01:00

151 lines
5.6 KiB
YAML

# Appointment - Models appointment/reservation requirements as entities
# Created 2026-01-17 per slot_fixes.yaml revision for appointment_required
id: https://nde.nl/ontology/hc/class/Appointment
name: appointment_class
title: Appointment Class
version: 1.0.0
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
schema: http://schema.org/
rico: https://www.ica.org/standards/RiC/ontology#
imports:
- linkml:types
- ../slots/has_or_had_description
- ../slots/has_or_had_label
- ../slots/temporal_extent
- ./TimeSpan
default_prefix: hc
classes:
Appointment:
class_uri: schema:Reservation
description: |
Models an appointment or reservation requirement as a structured entity.
**PURPOSE**:
Heritage institutions often require appointments for:
- Special collections access
- Reading room reservations
- Guided tours of sensitive materials
- Conservation viewing requests
By modeling appointments as entities (not just boolean flags), we can capture:
- Lead time requirements (24h, 48h, 1 week in advance)
- Booking methods (email, phone, online form)
- Confirmation requirements
- Cancellation policies
- Temporal validity (when appointments are required)
**ONTOLOGY ALIGNMENT**:
- schema:Reservation - "A reservation for an event, service, or product"
- rico:conditionsOfAccess - Links to RiC-O access condition patterns
**REPLACES**:
- appointment_required (boolean) - Now modeled as structured entity
- requires_appointment (boolean) - Preserved for backward compatibility
exact_mappings:
- schema:Reservation
close_mappings:
- rico:Rule
slots:
- has_or_had_label
- has_or_had_description
- temporal_extent
attributes:
appointment_id:
description: Unique identifier for this appointment requirement type
range: uriorcurie
identifier: true
lead_time_hours:
description: |
Minimum hours in advance that appointment must be booked.
E.g., 24 = appointment must be made at least 24 hours before.
range: integer
minimum_value: 0
examples:
- value: 24
description: 24 hours advance notice
- value: 48
description: 48 hours advance notice
- value: 168
description: 1 week (168 hours) advance notice
booking_method:
description: How appointments can be made
range: string
multivalued: true
examples:
- value: email
description: Book via email
- value: phone
description: Book via telephone
- value: online_form
description: Book via website form
- value: in_person
description: Book at institution
booking_contact:
description: Contact information for making appointments
range: string
examples:
- value: "studiezaal@nationaalarchief.nl"
- value: "+31 70 331 5400"
confirmation_required:
description: Whether confirmation of appointment is required before visit
range: boolean
cancellation_notice_hours:
description: Hours in advance cancellation must be made
range: integer
minimum_value: 0
appointment_required:
description: |
Whether appointment is mandatory (true) or recommended (false).
Preserves backward compatibility with boolean appointment_required field.
range: boolean
examples:
- value: true
description: Appointment is mandatory
- value: false
description: Appointment recommended but not required
slot_usage:
has_or_had_label:
description: Human-readable name for this appointment type
examples:
- value: "Reading Room Appointment"
- value: "Special Collections Viewing"
- value: "Conservation Lab Access"
has_or_had_description:
description: Detailed description of appointment requirements
examples:
- value: |
Appointments for the Special Collections reading room must be made
at least 48 hours in advance. Please specify which materials you
wish to consult. Maximum 5 items per visit.
temporal_extent:
description: |
When this appointment requirement is/was in effect.
Enables historical tracking of when appointment policies changed.
range: TimeSpan
inlined: true
examples:
- value:
appointment_id: "hc:appointment/nationaal-archief-special-collections"
has_or_had_label: "Special Collections Appointment"
has_or_had_description: "Advance appointment required for manuscript and map collections"
lead_time_hours: 48
booking_method:
- email
- online_form
booking_contact: "bijzondere.collecties@nationaalarchief.nl"
confirmation_required: true
appointment_required: true
description: Nationaal Archief special collections appointment requirement
- value:
appointment_id: "hc:appointment/reading-room-recommended"
has_or_had_label: "Reading Room Reservation"
has_or_had_description: "Reservations recommended but walk-ins accepted based on availability"
lead_time_hours: 0
booking_method:
- online_form
- in_person
appointment_required: false
description: Reading room with recommended but not required reservations