Endpoints

Programmes

Return information about a programme of events and activities managed by an organisation coordinating multiple other organisations.

Overview

GET

Get information about an individual programme.

Endpoint

https://book.plinth.org.uk/api/programme/:id

Query parameters:

none

Response object

Name: "Andy",
}

Events

GET

Get information about events that are part of the programme

Endpoint

https://book.plinth.org.uk/api/programme/:id/events

Query Parameters

{
  showFull: true || false, // show fully booked events
  organisations: ["ORG_ID1", "ORG_ID2"], // filter by organisations
  days: ["Monday, Tuesday", etc], // filter by days
}

Response Object

[
  {
    recurrence: {
      RRULE: 'DTSTART:20231018T100003Z\nRRULE:FREQ=YEARLY',
      recurring: true, // is this event recurring?
      type: 'YEARLY',
    },
    venue: {
      accessible: true,
      address: 'Venue Address',
      name: 'Venue Name',
      postcode: 'Venue Postcode',
      geopoint: {
        // venue location
        lon: -1.48647,
        lat: 54.980974,
      },
      _id: 'VENUE_ID',
    },
    managedBy: 'ORG_ID',
    start: '2023-10-18T09:00:03.142Z', // end date and time of first event occurence
    name: {
      text: 'Event Name',
    },
    end: '2023-10-18T11:00:03.142Z', // end date and time of first event occurence
    _id: 'EVENT_ID',
    tags: ['Free text tag 1', '...'],
    bookable: true || false, // is this event publically bookable?
    bookingDetails: {
      orgName: 'ORGANISATION NAME',
      funderProgrammeId: 'PROGRAMME_ID',
      description:
        'html description of the event, including any booking instructions', // needs to be sanitised
      images: [
        {
          src: 'IMAGE URL',
          alt: 'IMAGE ALT TEXT',
        },
        {
          src: 'IMAGE URL',
          alt: 'IMAGE ALT TEXT',
        },
        null,
        null,
        null,
      ], // will always be 5 images (even if null)
      privateEvent: true || false,
    },
  },
]

Organisations

GET

Get information about organisations that are part of the programme

Endpoint

https://book.plinth.org.uk/api/programme/:id/organisations

Query Parameters

none

Response Object

[
  {
    "Name": "Organisation Name",
    "_id": "ORG_ID"
  }
]

Searching Events

POST

Return the event ids that match a keyword search.

Endpoint

https://book.plinth.org.uk/api/programme/:id/search

Request Body

{
  searchText: "Search text",
  searchType: "event" // must be "event" for now
}

Response Object

["EventId1", "EventId2", etc]
Previous
Bookings