R2 Developers
R2 Connect API

Catalog

Everything the business sells: rooms, dishes, products and experiences, with their base price.

GET/itemsrequires read:items

In R2 everything sellable is a catalog item, whatever the vertical. What tells a room from a dish is its category and product type, not a separate table.

Fields#

FieldTypeDescription
name · descriptionstringItem name and description.
skustringThe business’s internal code, if defined.
category_id · category_namestringCategory it belongs to.
product_typestringNature of the item: room, dish, product, tour, among others.
base_pricenumberList price, before dynamic pricing rules.
currencystringBusiness currency.
statusstringWhether the item is active.

Base price is not always the charged price

R2 applies pricing rules that depend on date, season, channel or rate plan. To know what was actually charged, read the order line’s unit_price, not the catalog’s base_price.

Example#

json
{
  "data": [
    {
      "id": "c31ka9df02mz",
      "slug": "lodge-104",
      "name": "Lodge 104",
      "description": "Cabaña con vista al mar, cama king.",
      "sku": "LDG-104",
      "category_id": "cat_8fk2",
      "category_name": "Lodge",
      "product_type": "room",
      "base_price": 1800,
      "currency": "MXN",
      "status": "active"
    }
  ],
  "pagination": { "cursor": null, "has_more": false }
}