Introduction
Please read our glossary for a definition of Operating Hours.
How to check what Operating Hours are applied to your data
Using the Annotations page
The primary way to see the operating hours applied to each scanner is Explore > Annotations > Operating hours, which lists every scanner’s operating hours and — with the right permission — lets you adjust them alongside exceptions, reserved blocks, and events. See Calendar annotations: operating hours & events. .png)
Using the Calendar
Note - in previous versions of the Quantivly Hub, the Calendar feature was known as the Schedule Explorer.
When Operating Hours are set for a day, you will see grey shapes with hatch line fill and black borders indicating when the scanner is closed. Operating time is the time in between, as shown below.
.png)
Using a query
Tabular view, by scanner and by day
Using the SQL Query editor (Apps > SQL Queries), you can run this query to get for a given date range. 
select
resource.name as scanner,
resource_id as scanner_id,
isodow,
datetime_start at time zone timezone as datetime_start,
datetime_end at time zone timezone as datetime_end
from generate_resource_schedule(
(select array_agg(imaging_resource_id) from imaging_resource),
'2025-09-01 00:00:00',
'2025-09-07 23:59:59',
null,
null,
false
)
inner join resource on imaging_resource_id = resource_id
inner join facility using (facility_id)Day of the week x Scanner Matrix
The following query will output a table similar to the image below, with each day of the week displayed as a column
.png)
select
resource.name,
date_trunc('week', datetime_start at time zone timezone) as week_start,
string_agg((datetime_start at time zone timezone)::time || ' - ' || (datetime_end at time zone timezone)::time, ', ' order by datetime_start)
filter (where extract(isodow from datetime_start at time zone timezone) = 1) as monday,
string_agg((datetime_start at time zone timezone)::time || ' - ' || (datetime_end at time zone timezone)::time, ', ' order by datetime_start)
filter (where extract(isodow from datetime_start at time zone timezone) = 2) as tuesday,
string_agg((datetime_start at time zone timezone)::time || ' - ' || (datetime_end at time zone timezone)::time, ', ' order by datetime_start)
filter (where extract(isodow from datetime_start at time zone timezone) = 3) as wednesday,
string_agg((datetime_start at time zone timezone)::time || ' - ' || (datetime_end at time zone timezone)::time, ', ' order by datetime_start)
filter (where extract(isodow from datetime_start at time zone timezone) = 4) as thursday,
string_agg((datetime_start at time zone timezone)::time || ' - ' || (datetime_end at time zone timezone)::time, ', ' order by datetime_start)
filter (where extract(isodow from datetime_start at time zone timezone) = 5) as friday,
string_agg((datetime_start at time zone timezone)::time || ' - ' || (datetime_end at time zone timezone)::time, ', ' order by datetime_start)
filter (where extract(isodow from datetime_start at time zone timezone) = 6) as saturday,
string_agg((datetime_start at time zone timezone)::time || ' - ' || (datetime_end at time zone timezone)::time, ', ' order by datetime_start)
filter (where extract(isodow from datetime_start at time zone timezone) = 7) as sunday
from generate_resource_schedule(
(select array_agg(imaging_resource_id) from imaging_resource),
'2024-09-02 00:00:00',
'2024-09-08 23:59:59',
null,
null,
false
)
inner join resource on imaging_resource_id = resource_id
inner join facility using (facility_id)
group by resource.name, date_trunc('week', datetime_start at time zone timezone)
order by week_start;Managing Operating Hours
You can now manage operating hours and punctual events directly on the Calendar. See the ‘Calendar annotations: operating hours & events’ article. If you need support with editing or adding operating hour information, please contact contact-cx@quantivly.com