OpenActive Developers
Data ValidatorDataset DashboardW3C Community Group
  • Welcome to our community
  • Publishing Data
    • Data Feeds
      • How an RPDE data feed works
      • Types of RDPE feed
      • Implementing RPDE
      • Testing RPDE feeds
      • Scaling RPDE feeds
    • Activity list references
    • Including geo coordinates
    • Schedules
    • Dataset Sites
    • Virtual Events
    • On-Demand Events
    • Opening Hours
    • Data Quality
  • Using data
    • Harvesting opportunity data
      • Large Integers in JavaScript
    • Tutorial: Consuming an RPDE feed
    • Attribution
  • Open Booking API
    • Key Decisions
    • Implementing booking
    • Testing booking
      • Configuring Test Suite
      • Implementing the Test Interface
        • Test Interface Actions
        • Create Opportunity Endpoint
      • Random Mode: Generating Test Opportunity Data
      • Running Test Suite
      • Generating the Conformance Certificate
  • Data Model
    • Data Model Overview
    • @context and JSON-LD
    • Types Reference
      • Action
      • AudioObject
      • BabyChanging
      • Barcode
      • BookingService
      • BooleanFormFieldSpecification
      • Brand
      • ChangingFacilities
      • ConceptScheme
      • Concept
      • CourseInstance
      • Course
      • Creche
      • CustomerAccount
      • DataCatalog
      • DataDownload
      • Dataset
      • DropdownFormFieldSpecification
      • DynamicPayment
      • Entitlement
      • EventSeries
      • Event
      • FacilityUse
      • FileUploadFormFieldSpecification
      • GeoCoordinates
      • HeadlineEvent
      • ImageObject
      • IndividualFacilityUse
      • InternalApplicationError
      • InternalLibraryConfigurationError
      • InternalLibraryError
      • Lease
      • LocationFeatureSpecification
      • Lockers
      • MediaObject
      • OfferOverride
      • Offer
      • OnDemandEvent
      • OpenBookingError
      • OpeningHoursSpecification
      • OrderItem
      • OrderProposal
      • OrderQuote
      • Order
      • Organization
      • ParagraphFormFieldSpecification
      • Parking
      • PartialSchedule
      • Payment
      • Person
      • Place
      • PostalAddress
      • PriceSpecification
      • PrivacyPolicy
      • PropertyValueSpecification
      • PropertyValue
      • QuantitativeValue
      • Schedule
      • ScheduledSession
      • SessionSeries
      • ShortAnswerFormFieldSpecification
      • Showers
      • Slot
      • SportsActivityLocation
      • TaxChargeSpecification
      • TermsOfUse
      • Terms
      • Toilets
      • Towels
      • VideoObject
      • VirtualLocation
      • WebAPI
  • Specifications
    • Specifications Overview
  • Useful links
    • Data Visualiser
    • Data Validator
    • Dataset Dashboard
    • Non-technical Guidance
  • OpenActive on GitHub
    • Overview
    • Activity List
    • Community
    • Controlled Vocabularies
    • Dataset Publication
    • Documentation
    • Implementation Support
    • Programmes
    • RPDE
    • SKOS
    • Specifications
    • Validators
Powered by GitBook
On this page
  • Standard opening hours
  • Open all year
  • Public holidays
  • Open seasonally
  • All-day open / closed
  • Late night hours
  • Multiple opening hours
  • Special opening hours
  • Christmas and New Year
  • COVID-19 Lockdown
Edit on GitHub
  1. Publishing Data

Opening Hours

PreviousOn-Demand EventsNextData Quality

Last updated 3 years ago

Please also refer to the .

Implementation of the within the tooling has been accelerated in response to the COVID-19 pandemic. The proposal follows , and so is unlikely to change significantly, however we welcome your contribution to the with any thoughts and feedback from your implementation.

Standard opening hours

The standard opening hours of a may be described using the openingHoursSpecification property as documented below. Note this property must not be used to define exceptional hours, such as specific public holidays, closures due to bad weather, or a pandemic-related lockdown.

Open all year

Excluding the validFrom and validThrough properties signifies that the hours are valid year-round. This example shows a business open every day from 6:30am until 21:30pm:

"openingHoursSpecification": [
  {
    "@type": "OpeningHoursSpecification",
    "dayOfWeek": [
      "https://schema.org/Monday",
      "https://schema.org/Tuesday",
      "https://schema.org/Wednesday",
      "https://schema.org/Thursday",
      "https://schema.org/Friday",
      "https://schema.org/Saturday",
      "https://schema.org/Sunday"
    ],
    "opens": "06:30",
    "closes": "21:30"
  }
]

Public holidays

The dayOfWeek value of https://schema.org/PublicHolidays is defined as a placeholder for all official public holidays in the location in which the Place is located. It can be used to indicate opening hours on public holidays, overriding general opening hours for the day of the week on which a public holiday occurs:

"openingHoursSpecification": [
  {
    "@type": "OpeningHoursSpecification",
    "dayOfWeek": [
      "https://schema.org/Monday",
      "https://schema.org/Tuesday",
      "https://schema.org/Wednesday",
      "https://schema.org/Thursday",
      "https://schema.org/Friday"
    ],
    "opens": "06:30",
    "closes": "21:30"
  },
  {
    "@type": "OpeningHoursSpecification",
    "dayOfWeek": [
      "https://schema.org/Saturday"
    ],
    "opens": "07:15",
    "closes": "17:30"
  },
  {
    "@type": "OpeningHoursSpecification",
    "dayOfWeek": [
      "https://schema.org/Sunday",
      "https://schema.org/PublicHolidays"
    ],
    "opens": "09:00",
    "closes": "17:30"
  }
]

Open seasonally

For Places that are open only seasonally (for example an Ice Rink), both the validFrom and validThrough may be used. This example shows a business open only during weekends during the winter holidays:

"openingHoursSpecification": [
  {
    "@type": "OpeningHoursSpecification",
    "dayOfWeek": [
      "https://schema.org/Saturday"
    ],
    "opens": "09:30",
    "closes": "20:30",
    "validFrom": "2015-12-23",
    "validThrough": "2016-01-05"
  },
  {
    "@type": "OpeningHoursSpecification",
    "dayOfWeek": [
      "https://schema.org/Sunday"
    ],
    "opens": "09:30",
    "closes": "17:30",
    "validFrom": "2015-12-23",
    "validThrough": "2016-01-05"
  }
]

All-day open / closed

To show a business as open 24 hours a day, set the open property to "00:00" and the closes property to "23:59".

To show a business is closed all day, set both opens and closes properties to "00:00".

This example shows a business open all day Saturday and closed all day Sunday:

"openingHoursSpecification": [
  {
    "@type": "OpeningHoursSpecification",
    "dayOfWeek": [
      "https://schema.org/Saturday"
    ],
    "opens": "00:00",
    "closes": "23:59"
  },
  {
    "@type": "OpeningHoursSpecification",
    "dayOfWeek": [
      "https://schema.org/Sunday"
    ],
    "opens": "00:00",
    "closes": "00:00"
  }
]

Late night hours

For hours past midnight, define opening and closing hours using a single OpeningHoursSpecification property. This example defines hours from Saturday at 6pm until Sunday at 3am:

"openingHoursSpecification": [
  {
    "@type": "OpeningHoursSpecification",
    "dayOfWeek": [
      "https://schema.org/Saturday"
    ],
    "opens": "18:00",
    "closes": "03:00"
  }
]

Multiple opening hours

For days with multiple hours, these must be provided as separate instances of OpeningHoursSpecification.

This example defines the following hours:

"openingHoursSpecification": [
  {
    "@type": "OpeningHoursSpecification",
    "dayOfWeek": [
      "https://schema.org/Monday",
      "https://schema.org/Tuesday",
      "https://schema.org/Wednesday",
      "https://schema.org/Thursday"
    ],
    "opens": "06:00",
    "closes": "13:00"
  },
  {
    "@type": "OpeningHoursSpecification",
    "dayOfWeek": [
      "https://schema.org/Monday",
      "https://schema.org/Tuesday",
      "https://schema.org/Wednesday",
      "https://schema.org/Thursday"
    ],
    "opens": "16:00",
    "closes": "20:00"
  },
  {
    "@type": "OpeningHoursSpecification",
    "dayOfWeek": [
      "https://schema.org/Friday"
    ],
    "opens": "06:00",
    "closes": "12:00"
  },
  {
    "@type": "OpeningHoursSpecification",
    "dayOfWeek": [
      "https://schema.org/Saturday",
      "https://schema.org/Sunday",
      "https://schema.org/PublicHolidays"
    ],
    "opens": "08:00",
    "closes": "12:00"
  }
]

Special opening hours

Christmas and New Year

Use specialOpeningHoursSpecification combined with validFrom and validThrough properties to specify opening hours for specific public holidays. This example shows a business closed on Christmas Day:

"specialOpeningHoursSpecification": [
  {
    "@type": "OpeningHoursSpecification",
    "opens": "00:00",
    "closes": "00:00",
    "validFrom": "2015-12-25",
    "validThrough": "2015-12-25"
  }
]

COVID-19 Lockdown

Use specialOpeningHoursSpecification combined with validFrom and validThrough properties to specify closure during specific dates. This example shows a business closed completely for all of January:

"specialOpeningHoursSpecification": [
  {
    "@type": "OpeningHoursSpecification",
    "opens": "00:00",
    "closes": "00:00",
    "validFrom": "2021-01-01",
    "validThrough": "2021-01-31"
  }
]

The specialOpeningHoursSpecification property of the is used to explicitly override standard opening hours brought in scope by . Note this property must not be used to define standard hours, and should instead describe exceptions such as specific public holidays, closures due to bad weather, or a pandemic-related lockdown.

reference documentation for the OpeningHoursSpecification type
proposal for OpeningHoursSpecification
Google's documented usage
proposal
openingHoursSpecification
Place
Place