Catalog

List catalog items

Catalog of a venue the token owner can see, by category then name. Prices are the catalog's unless pax, date or event_id is given: each item then also gets resolved_unit_price, resolved_min_price and applied_price_rule (price rules applied), without any other field changing. A package (is_package: true) lists its components; to quote it, send its id as the location_item_id of one quote line (see Packages). Role permission: none (any member; limited to the member's venues).

get/catalog-items

Request

  • Base URL: https://joinways.app/api/v1
  • URL: https://joinways.app/api/v1/catalog-items
  • Auth: one of:
    • HTTP bearer
    • OAuth 2 (authorization code, authorization URL https://joinways.app/oauth/authorize, token URL https://joinways.app/api/oauth/token, scopes: mcp.read)

Query parameters

venue_idstring uuid required
pageinteger

1-based page number.

per_pageinteger

Items per page.

categorystring
typestring

Item type, e.g. Catering, Rental.

qstring

Case-insensitive match on the name.

paxinteger

Number of guests, for price resolution.

datestring date

Event day (YYYY-MM-DD), repeatable for a multi-day event. Picks seasonal and weekday rules.

event_idstring uuid

Event to price for: fills the days (the event's local calendar days) and pax when they are not given.

Response

Page of catalog items.

Example response

{
  "data": [
    {
      "name": "Plated dinner, 3 courses",
      "category": "Catering",
      "type": "Catering",
      "unit_label": "per person",
      "unit_price": 95,
      "vat": 20,
      "vat_rate": 20,
      "components": [
        {
          "name": "Meeting room",
          "quantity": 1,
          "unit_price": 25,
          "vat": 20
        }
      ],
      "applied_price_rule": {
        "label": "High season"
      }
    }
  ],
  "pagination": {
    "page": 1,
    "per_page": 50,
    "total": 1234,
    "total_pages": 25
  }
}

Changes

No recorded changes to this operation across all 1 revision of this API.