Meeting Rooms

Required plan: Growth

Meeting Rooms are treated as any another participant when using the Availability API. However there is a feature of the participants query element that is designed specifically to handle the querying requirements for meeting rooms.

Often you’ll have a list of potential meeting rooms that are suitable. Perhaps in terms of capacity or that they have certain tech available in them. So it doesn’t matter which one is available, just that one is at the time the other participants are. This is where the 1 required element value comes in.

{
  "participants": [
    {
      "members": [
        { "sub": "acc_5ba21743f408617d1269ea1e" },
        { "sub": "acc_64b17d868090ea21640c914c" }
      ],
      "required": "all"
    },
    {
      "members": [
        { "sub": "res_64b17e898090ea21640c914d" },
        { "sub": "res_64b17e9d8090ea21640c9150" }
      ],
      "required": 1
    }
  ],
  "required_duration": { "minutes": 60 },
  "query_periods": [
    {
      "start": "2024-07-27T09:00:00Z",
      "end": "2024-07-27T18:00:00Z"
    },
    {
      "start": "2024-07-28T09:00:00Z",
      "end": "2024-07-28T18:00:00Z"
    }
  ]
}

In the above query we’ve added an additional participants descriptor that includes two meeting rooms res_64b17e898090ea21640c914d and res_64b17e9d8090ea21640c9150 and a required value of 1.

This indicates that any period returned should have one of more of those available. A response could look like the following.

{
  "available_periods": [
    {
      "start": "2024-07-27T09:00:00Z",
      "end": "2024-07-27T11:00:00Z",
      "participants": [
        { "sub": "acc_5ba21743f408617d1269ea1e" },
        { "sub": "acc_64b17d868090ea21640c914c" },
        { "sub": "res_64b17e898090ea21640c914d" }
      ]
    },
    {
      "start": "2024-07-28T11:00:00Z",
      "end": "2024-07-28T17:00:00Z",
      "participants": [
        { "sub": "acc_5ba21743f408617d1269ea1e" },
        { "sub": "acc_64b17d868090ea21640c914c" },
        { "sub": "res_64b17e898090ea21640c914d" },
        { "sub": "res_64b17e9d8090ea21640c9150" }
      ]
    }
  ]
}

In this example, only one meeting room is available during the first period but both are for the second period. Your application, or your user, can then decide which to book based on the appropriate rules or preferences.

Not just meeting rooms #

Whilst this feature is useful for meeting rooms it’s not limited to that. Any queryable person or resource can be added. If for example a developer interview needs one senior developer to attend then you can add a participant group of senior developers and then select whoever is available.