During the course of a Calendar that lasts for an extended period (for example, all year) there may be holidays on which regularly scheduled service is either suspended or altered.
When to Schedule Holidays
Whenever regularly scheduled service is changed, either through service suspension, reduction or extension. Most commonly, service for one or more Routes is suspended for a holiday, but there may also be cases when service ends earlier than usually scheduled (such as on Christmas Eve) or is extended until later (such as on New Year's Eve.)
From the Calendars Dashboard select Holidays & Exceptions. Click Add a Service Exception.
Name your holiday or suspension and select the date of the exception. From the Services Removed column, select the Calendar that has suspended service.
Each grouping of Service Days for that Calendar is made available for suspension. If a holiday would affect multiple Service Days, such as both a Mon-Fri and Mon-Sat grouping, both must have an entry.
Service will now be suspended for all Trips on that Calendar. If only certain Routes or Trips are suspended, additional Calendars will need to be created to separate them out.
How to Schedule a Service "Swap"
In instances where one grouping of Service Days is "swapped out" for another (such as running Saturday service on Memorial Day, a Monday,) in addition to suspending scheduled service, services can be added.
After suspending service, select a Calendar from the Services Added column and select the corresponding grouping of Service Days that will be scheduled that day.
Review your Service Exception carefully. Adding Saturday service may require leaving a Mon-Sat grouping alone and only suspending Mon-Fri service and adding Saturday. If service is added in addition to being already scheduled duplicate Trips will show up in the GTFS and errors with Blocking may occur.
Scheduling Unique Service Extensions or Reductions
If the service extension or reduction is not already available in the GTFS as an existing Service Day grouping (such as Saturday service,) an Exception Only Calendar must be created first. That Calendar then becomes available as a Services Added option to replace suspended service. This is true of reductions as well as extensions.
Example: On Christmas Eve, service is suspended at 6:00pm instead of 9:00pm. This does not normally occur anywhere in the regular service. A special Exception Only Calendar has been created with all regularly scheduled Trips through 6:00pm. Christmas Eve falls on a Tuesday, so it is first suspended from Mon-Fri and Mon-Sat groupings. The special Exception Only Calendar is then added to replace the suspended service. So even though there are fewer Trips than usual, service is still "added."