Adding service types


This page is about adding a whole new type of service to ChurchSuite. If you are just adding a new instance of a particular service or extending an existing service, you only need to worry about steps 3 and 4.

  1. Before you get started
  2. Adding a service type
    1. 1. Everyone: Decide on the service details
    2. 2. Anyone: Add the service category
    3. 3. Anyone: Add the service pattern
    4. 4. Anyone: Make sure necessary resources are booked
    5. 5. Technical Team: Add category to sync tools
    6. 6. Everyone: Keep an eye out for weirdness
  3. How services fit into our data ecosystem
    1. Flow diagram

Before you get started

Before adding a new type of service to ChurchSuite the following things should have happened:

  • Changes to our regular service pattern require the approval of the PCC.
  • You should have liaised with the Communications Team to decide on an overall publication strategy for this service type.
  • You will need to talk to the Technology Team to make sure they are aware of the change.

Adding a service type

1. Everyone: Decide on the service details

This will normally include:

  • The name of the service type, and optionally how we style individual instances of this service.
  • The pattern of repetition.
  • If we usually stream the service or not.
  • The default accessibility flags, eg if the service is usually low-light, uses incense or so-on.
  • The default image for this service type. This should be a 16x9 image without any text, ideally not showing any season-specific decor or vestments (except for season-specific service types like Christmas or Easter).

2. Anyone: Add the service category

  1. Add a new category in the Calendar module, with the exact name as above.

3. Anyone: Add the service pattern

  1. Add the services to the Calendar module.
    • The event is not linked to a booking - we will do this later.
    • The name should be descriptive of the instance of the service.
      • In many cases this will be the same as the service category name, for example “Compline by Candlelight”.
      • This may vary by repetition pattern, for example to distinguish a subset of the service which repeats regularly (eg “Morning Prayer” and “Evening Prayer” are both subsets of “Daily Office”).
      • You can change the name instance-by-instance later if needed (eg we add the regular Sunday morning service as “Sung Eucharist”, and then modify it later to match the Lectionary).
    • Make sure to set the repetition sequence correctly if the service is a regular occurence. Conventionally, we set the end date to the end of the calendar year and extend patterns each December.
      • If the services have complex repetition patterns, such as Daily Prayer occuring twice daily, you may need to add multiple service patterns.
    • Make sure the location is completed correctly.
    • Set the category to the one you created above.
    • Check the “Show in Embed” checkbox. If you don’t do this, the services will not appear anywhere but ChurchSuite and nobody will know about them.
  2. Fill in any additional details for the service pattern.
    • You may want to add a description. If you do, checking the “Update sequence” checkbox will apply it to every instance of the service.
    • Adding an image will make service pages look more appealing.

4. Anyone: Make sure necessary resources are booked

When creating a new service you must also make sure the spaces where it’s happening have been booked, to prevent clashes and make sure we can accurately report on our resource usage.

  1. Follow the ChurchSuite instructions for adding linked bookings to events.

5. Technical Team: Add category to sync tools

  1. Add the category ID to the categories list in Streaming Utilities, making sure to set appropriate default flags.
  2. Add the category name to the Services table in AirTable.
  3. Add the category to the service categories list in “Laurence”, and configure to sync.
  4. Run sync tests for the above to make sure the data is flowing correctly.

6. Everyone: Keep an eye out for weirdness

It might be that we’ve misconfigured something. It’s almost always an easy fix, but only if people spot it. Make sure that the service is appearing correctly in all the places you’d expect it to for the next few occurences.

How services fit into our data ecosystem

Services in ChurchSuite are different from other events in that they are automatically ingested into our other systems. ChurchSuite is our ‘one truth’ when it comes to which services are happening – if a service isn’t listed in ChurchSuite and marked as ‘embedded’ it won’t appear on our website, on lists of services, on the rota, on YouTube, or on any notice sheets or emails.

Flow diagram

This diagram gives a high-level overview of how service information flows between systems. Dashed lines represent manual stages, solid lines are fully automated.


flowchart TD
  CS[/"`ChurchSuite calendar`"/]

  POOS[/"`Printed order of service`"/]
  OOOS[/"`Online order of service`"/]
  ENS[/"`Emailed notice sheet`"/]
  ONS[/"`Online notice sheet`"/]

  MS[/"`Monthly services list`"/]
  TT[/"`Table talkers`"/]

  Rota[/"`Rota`"/]

  YT[/"`YouTube channel`"/]

  subgraph Streaming Utilities

    ServStore[("`Services information store`")]
    SUImport[["`Services importer`"]]
    SUWordpressSync[["`Sync services to Wordpress`"]]
    SUYouTubeSync[["`Sync services to YouTube`"]]

  end

  subgraph Comms Utilities

    NSServices[("`Notice sheet services list`")]
    RotaServices[("`Rota services list`")]

    CUSheetGenerator[["`Comms Utilities Notice Sheet Generator`"]]

    subgraph Herald
        MSGenerator[["`Monthly service list generator`"]]
        TTGenerator[["`Table talker generator`"]]
        OOSTextGenerator[["`Printed OOS text generator`"]]
        RotaGenerator[["`Rota generator`"]]
    end

  end

  subgraph "Codename 'Laurence'"
    UnifiedServicesImport[["`Services importer`"]]
    UnifiedServicesList[("`Unified services list`")]
    RotaSync[["`Rota sync`"]]
  end

  CS -- Services --> SUImport
  SUImport --> ServStore

  ServStore --> NSServices
  ServStore --> SUWordpressSync
  ServStore --> SUYouTubeSync

  SUWordpressSync --> OOOS

  NSServices --> CUSheetGenerator

  NSServices --> OOSTextGenerator

  ServStore --> UnifiedServicesImport
  UnifiedServicesImport --> UnifiedServicesList
  UnifiedServicesList --> RotaSync
  RotaSync --> RotaServices
  RotaServices --> RotaGenerator

  OOSTextGenerator -.-> POOS

  CUSheetGenerator --> ENS
  CUSheetGenerator --> ONS

  NSServices --> TTGenerator
  TTGenerator -.-> TT

  NSServices --> MSGenerator
  MSGenerator -.-> MS

  RotaGenerator -.-> Rota

  SUYouTubeSync --> YT


Document owner:
Operations
Last reviewed:
21 July 2025