Articles on: API Documentation

Resmark API: Products

Products in Resmark represent the tours, activities, rentals, and other experiences your business offers for booking. The Product endpoints let you retrieve product listings, check available inventory with pricing, and look up pickup options.


Get All Products


GET /product


Returns a paginated list of products.


Parameter

Type

Required

Description

limit

number

No

Number of products to return. Default: 50.

page

number

No

Pagination offset. With limit=50, page=1 returns results 51 through 100. Default: 0.

ids

csv

No

Filter by specific product ID(s).

tagIds

csv

No

Filter to products matching the specified tag IDs.

lastModified

ISO date

No

Returns products modified on or after this date.

productNumbers

string

No

Filter by product number(s). Multiple values as CSV.

productName

string

No

Filter by product name. Accepts full or partial name.


Get Single Product


GET /product/{searchTerm}


Returns a single product. The searchTerm can be a Product ID, Product Number, or Product Name.


Product Response Fields


Both endpoints above return the same product object structure. Key fields include:


Field

Type

Description

id

string

Product ID

productCode

string

Short product code

name

string

Product name

productNumber

number

Product number

price

string

Marketing price (not the actual booking price; see Get Product Inventory below for real pricing)

quantityLabel

string

Label for the quantity unit (e.g., "Guest")

quantityType

string

Type of quantity (e.g., "participant")

dateless

boolean

Whether the product has no specific dates

overview

string

Full marketing description

highlights

string

HTML highlights list

shortDescription

string

Brief marketing description

ageRestrictions

object

Contains minAge and maxAge strings

class

string

Product class (e.g., "groupActivity")

classTypes

array

List of activity type strings

location

array

Location objects with id, name, address, city, state, postalCode, country

modifiedDate

ISO date

Last modified date

dateSettings

object

Scheduling info: months, startTime, details, duration, seasonal

information

array

Named content sections (e.g., "What to Bring", "Includes") with hideOnPublic flag

videos

array

Video objects with url, vimeoId, youtubeId

images

array

Image objects with small, medium, large, xlarge URLs

pickup

object

Pickup configuration: mode, productZoneId, providerId, direction

tags

array

Tag objects with id and name

generalPolicies

array

Policy objects with name, detail, requireBeforeCart, requiredBeforeCheckout, displayConfirmationAfterPurchase

cancellationPolicies

object

Contains id, name, detail HTML, and preference (e.g., "CALL_TO_CANCEL")


The price field on a product is a marketing price for display purposes. For actual booking prices, use the Get Product Inventory endpoint below.


Get Reseller Product


GET /product/{id}/searchReseller/{resellerEntityId}


Returns a product with reseller-specific customizations applied. When a reseller connected through TrueConnect has overridden product details (name, description, pricing, images), this endpoint returns the customized version.


Parameter

Type

Required

Description

id

string

Yes

Product ID or Product Number

resellerEntityId

string

Yes

Reseller Business ID, found in the URL at TrueConnect > Connected Reseller > Manage Connection


Get Product Inventory


GET /product/{id}/item


Returns available dates, times, pricing per tier, and availability counts for a product. This is where you get the activityId needed to add inventory to a cart.


Parameter

Type

Required

Description

id

string

Yes

Product ID or Product Number

from

string

No

Minimum start date. Format: YYYY-MM or YYYY-MM-DD. Defaults to current month.

to

string

No

Maximum start date. Format: YYYY-MM or YYYY-MM-DD. Defaults to current month.

pricingcode

string

No

Price category code. Defaults to the default pricing category.


Response structure:


The response contains an items array and a priceTiers object.


Each item in the array represents a date, with a timesAvailable array containing individual time slots:


Field

Type

Description

items[].date

string

Date (YYYY-MM-DD)

items[].timesAvailable[].activityId

string

The ID used to add this time slot to a cart. Passed as itemId in cart endpoints.

items[].timesAvailable[].startTime

ISO date

Start time in UTC

items[].timesAvailable[].endTime

ISO date

End time in UTC

items[].timesAvailable[].total

number

Total available seats

items[].timesAvailable[].tiersAvailable

object

Available seats per tier key

items[].timesAvailable[].restrictOrdersWithin

number

Order cutoff in days

items[].timesAvailable[].restrictOrdersWithinMinutes

number

Order cutoff in minutes

items[].timesAvailable[].price

object

Price per tier key (e.g., {"Adult": 88, "Child": 77})


The priceTiers object contains tier definitions keyed by tier ID, each with key, label, deposit, and ageRange (from/to).


The activityId from this endpoint is the same value you pass as itemId when adding inventory to a cart. The naming is different between endpoints, but the value is the same.


Get Product Pickup Options


GET /product/{id}/pickup


Returns pickup zones, locations, and pickup detail IDs for a product. Required when a product has pickups configured. The pickupDetailId and locationId from this response are used when adding inventory to a cart.


Parameter

Type

Required

Description

id

string

Yes

Product ID or Product Number


Response structure:


Field

Type

Description

data[].id

string

Pickup zone ID

data[].name

string

Pickup zone name

data[].locations

array

Location objects with id and name

data[].pickupDetails

array

Pickup detail objects with id, name, and price per tier


Finding Product IDs


Product IDs can be found in the URL when viewing a product in Resmark. Navigate to Products, then click a product name. The Product ID is in the URL.

Updated on: 06/24/2026

Was this article helpful?

Share your feedback

Cancel

Thank you!