Offerings catalog

Table Reservation Types

Endpoints to manage table reservation types.

The TableReservationType object

Attributes

  • idobject-idrequired

    Stable identifier for the table reservation type. Used by the storefront to fetch options and availability, and by reservations to record which type a guest booked into. Safe to expose to end users.

  • namestringrequired

    Guest-facing display name for the reservation type. Shown on the storefront alongside the type's description and image. Keep concise — typically 1-3 words such as Main restaurant or Sunday brunch.

  • integration_configrequirednullable
  • descriptionstringrequirednullable

    A description of the table reservation type.

  • external_idstringrequirednullable

    An external identifier for this offering.

  • product_codestringrequirednullable

    A custom product code for the table reservation type.

  • imageoptional
  • revenue_centrestringrequirednullable

    The revenue centre to assign revenue to for this offering

  • optionsobject[]required
{
  "id": "5dcb47800000000000000010",
  "name": "Main restaurant",
  "integration_config": "string",
  "description": "Enjoy a relaxing meal in our main restaurant.",
  "external_id": "resdiary:12345",
  "product_code": "DIN",
  "image": "string",
  "revenue_centre": "restaurant",
  "options": [
    {
      "id": "64a9f3b2c3d8e1f4a5b6c7d8",
      "provider_id": "1234",
      "name": "Afternoon Tea promotion",
      "type": "promotion",
      "optional": false
    }
  ]
}
get/shop/table-reservation-types

List table reservation types

listTableReservationTypes

Use this endpoint to retrieve a list of table reservation types for a site.

Query parameters

  • site_idstringoptional

    Filter results by the site they belong to

  • archivedbooleanoptional

    Whether to include archived resources in the response. When true, archived resources are returned; when false or omitted, only non-archived resources are returned.

  • pageintegeroptional

    The page to retrieve results from

  • per_pageintegeroptional

    The number of results to return per page

Responses

  • 200

    Contains an array of table reservation types.

  • 401

    The user is unauthenticated

post/shop/table-reservation-types

Add a new table reservation type for the site.

createTableReservationType

Use this endpoint to create a new table reservation type.

Request body

  • namestringrequired

    A name for the table reservation type.

  • integration_config_idobject-idoptional

    Identifier of the integration config used to relay reservations created for this type into the connected third-party system (e.g. SevenRooms, ResDiary). The config must already be linked to the same site.

  • descriptionstringoptional

    A description of the table reservation type.

  • external_idstringoptionalnullable

    An external identifier for this offering.

  • product_codestringoptional

    A custom product code for the table reservation type.

  • image_iduuidoptional

    Media ID of the hero image shown on the storefront reservation page. Upload via createMedia first and pass the returned ID here.

  • revenue_centrestringoptional

    The revenue centre to assign revenue to for this offering

Responses

  • 201

    The table reservation type was created.

  • 401

    The user is unauthenticated

  • 403

    The authenticated user does not have permission.

  • 422

    The request didn't pass validation

get/shop/table-reservation-types/{tableReservationTypeId}

Retrieve a single table reservation type

getTableReservationType

Use this endpoint to retrieve a single table reservation type.

Path parameters

Responses

  • 200

    Contains details of a single table reservation type.

  • 401

    The user is unauthenticated

  • 404

    The resource couldn't be found

put/shop/table-reservation-types/{tableReservationTypeId}

Update an existing table reservation type.

updateTableReservationType

Use this endpoint to create a new table reservation type.

Path parameters

Request body

  • namestringoptional

    A name for the table reservation type.

  • integration_config_idobject-idoptional

    Identifier of the integration config used to relay reservations created for this type into the connected third-party system (e.g. SevenRooms, ResDiary). The config must already be linked to the same site.

  • descriptionstringoptional

    A description of the table reservation type.

  • external_idstringoptionalnullable

    An external identifier for this offering.

  • product_codestringoptional

    A custom product code for the table reservation type.

  • image_iduuidoptional

    Media ID of the hero image shown on the storefront reservation page. Upload via createMedia first and pass the returned ID here.

  • revenue_centrestringoptional

    The revenue centre to assign revenue to for this offering

Responses

  • 200

    Contains details of a single table reservation type.

  • 401

    The user is unauthenticated

  • 403

    The authenticated user does not have permission.

  • 404

    The resource couldn't be found

  • 422

    The request didn't pass validation

delete/shop/table-reservation-types/{tableReservationTypeId}

Archive a table reservation type

deleteTableReservationType

Use this endpoint to soft delete a table reservation type.

Path parameters

Responses

  • 204

    The table reservation type was successfully archived.

  • 401

    The user is unauthenticated

  • 403

    The authenticated user does not have permission.

  • 404

    The resource couldn't be found

post/shop/table-reservation-types/{tableReservationTypeId}/options

Add a new table reservation option.

createTableReservationOption

Use this endpoint to add a new option to a table reservation type.

Path parameters

Request body

  • provider_idstringoptional

    The ID of this option with the provider of the table reservation, if applicable.

  • namestringoptional

    Customer-facing label for this option, shown alongside the reservation type during checkout. Plain text; appears verbatim in confirmation emails and on the POS so keep it concise and unambiguous.

  • typestringoptional

    An identifier for the type of the option.

  • optionalbooleanoptional

    Whether this option may be selected or is included by default.

Responses

  • 200

    The option was created.

  • 401

    The user is unauthenticated

  • 403

    The authenticated user does not have permission.

  • 404

    The resource couldn't be found

  • 422

    The request didn't pass validation

put/shop/table-reservation-types/{tableReservationTypeId}/options/{optionId}

Update an existing table reservation option.

updateTableReservationOption

Use this endpoint to update a table reservation option.

Path parameters

Request body

  • provider_idstringoptional

    The ID of this option with the provider of the table reservation, if applicable.

  • namestringrequired

    Customer-facing label for this option, shown alongside the reservation type during checkout. Plain text; appears verbatim in confirmation emails and on the POS so keep it concise and unambiguous.

  • typestringoptional

    An identifier for the type of the option.

  • optionalbooleanoptional

    Whether this option may be selected or is included by default.

Responses

  • 200

    The integration config was created.

  • 401

    The user is unauthenticated

  • 403

    The authenticated user does not have permission.

  • 404

    The resource couldn't be found

  • 422

    The request didn't pass validation

delete/shop/table-reservation-types/{tableReservationTypeId}/options/{optionId}

Remove an option

deleteTableReservationOption

Removes an option from a table reservation type

Path parameters

Responses

  • 204

    The option was successfully deleted

  • 401

    The user is unauthenticated

  • 403

    The authenticated user does not have permission.

  • 404

    The resource couldn't be found

post/shop/table-reservation-types/{tableReservationTypeId}/restore

Restore a Table Reservation Type

restoreTableReservationType

This endpoint restores an archived (soft-deleted) Table Reservation Type by ID.

Path parameters

Responses

  • 200

    Contains details of a single table reservation type.

  • 401

    The user is unauthenticated

  • 403

    The authenticated user does not have permission.

  • 404

    The resource couldn't be found

post/shop/room-reservation-types/{roomReservationTypeId}/copy

Duplicate a room reservation type

copyRoomReservationType

Creates a copy of an existing TableReservationType (exposed here under the room-reservation-types URL alias for legacy callers) with the supplied fields overlaid on top of the source. Useful when seeding a near-identical offering off an existing one rather than rebuilding it from scratch.

Fields omitted from the body are inherited from the source verbatim. The new reservation type is created under the same site and organisation as the original; pass site_id in the body to override.

Requires the create ability on TableReservationType for the target site.

Path parameters

  • roomReservationTypeIdobject-idrequired

    The unique identifier of the TableReservationType. Despite the room-reservation-types URL alias used here for legacy reasons, the underlying resource type is TableReservationType.

Request body

  • namestringoptional

    Display name for the new copy. Defaults to the source's name — usually you'll want to override this so the two entries are distinguishable.

  • descriptionstringoptionalnullable

    Override the long-form description. Defaults to the source's value.

  • image_idstringoptionalnullable

    ID of an uploaded Media to use as the cover image. Defaults to the source's image.

  • product_codestringoptionalnullable

    Override the POS/PMS product code. Defaults to the source's value.

  • external_idstringoptionalnullable

    Override the external identifier. Defaults to the source's value.

  • providerstringoptional

    Integration provider that backs the reservation type.

    Possible values:resdiary
  • integration_config_idobject-idoptionalnullable

    ID of an existing IntegrationConfig on the target site to attach the copy to. Defaults to the source's value.

  • site_iduuidoptional

    Override the site the copy belongs to. Defaults to the source's site. The calling user must belong to the target site.

Responses

  • 200

    Contains details of a single table reservation type.

  • 401

    The user is unauthenticated

  • 403

    The authenticated user does not have permission.

  • 404

    The resource couldn't be found

  • 422

    The request didn't pass validation

post/shop/room-reservation-types/{roomReservationTypeId}/restore

Restore a room reservation type

restoreRoomReservationType

Restores a previously archived (soft-deleted) TableReservationType via the room-reservation-types URL alias kept for legacy callers. The reservation type returns to its pre-deletion state with every associated IntegrationConfig and option group intact.

Requires the restore ability on the underlying reservation type. No request body.

Path parameters

  • roomReservationTypeIdobject-idrequired

    The unique identifier of the TableReservationType. Despite the room-reservation-types URL alias used here for legacy reasons, the underlying resource type is TableReservationType.

Responses

  • 200

    Contains details of a single table reservation type.

  • 401

    The user is unauthenticated

  • 403

    The authenticated user does not have permission.

  • 404

    The resource couldn't be found