Updates a product.

When updating price options, the full list of existing price options must be supplied in the update. Otherwise the system will remove any missing price options in the request from the product.

For instance, if a product has 2 price options Adult and Child but the update request only contains Adult, the Child price option will be removed from the product.
Adding a price option works the same way. If the update request contains an extra price option, it will be added to the product.

When price option values are updated via API, this will override all existing price in availability (session) to reflect the product price. If a different price in calendar/session is required to the product price, please make the changes to the product directly in your Rezdy account and select 'do not change session price' in the page that follows after saving your changes.

Request

PUT https://api.rezdy.com/v1/products/{productCode}

Path parameters

Parameter name Value Description Additional
productCode string

product's product code to be updated

Required

Request body

The request body takes a complete ProductUpdateRequest resource, containing the following writable properties:

{
    "advertisedPrice": "float",
    "bookingFields": [
        {
            "fieldType": "string",
            "label": "string",
            "listOptions": "string",
            "requiredPerBooking": "boolean",
            "requiredPerParticipant": "boolean",
            "visiblePerBooking": "boolean",
            "visiblePerParticipant": "boolean"
        }
    ],
    "confirmMode": "string",
    "confirmModeMinParticipants": "int32",
    "description": "string",
    "durationMinutes": "int64",
    "internalCode": "string",
    "minimumNoticeMinutes": "int64",
    "name": "string",
    "pickupId": "int64",
    "priceOptions": [
        {
            "label": "string",
            "maxQuantity": "int32",
            "minQuantity": "int32",
            "price": "float",
            "priceGroupType": "string",
            "productCode": "string",
            "seatsUsed": "int32"
        }
    ],
    "shortDescription": "string",
    "terms": "string"
}

Properties

Name Type Description Additional
advertisedPrice float

General price indication for this product. It represents a display price only, therefore it does not affect a real booking price, which is calculated based on the price options.

Optional
bookingFields[] array

List of booking fields required for this product.

Optional
bookingFields[].fieldType string

Type of a custom booking field. This type does not apply on the Rezdy build-in booking fields. See the section Product booking fields

Possible values are:

  • String
  • List
  • Boolean
Optional
bookingFields[].label string

Field label that can be shown to customers

Optional
bookingFields[].listOptions string

If this field only allows limited values to be selected from a list, they'll be included in this string, separated by \r\n

Optional
bookingFields[].requiredPerBooking boolean

true if this field must be populated once per booking, regardless of the number of items or participants. It should be in Booking.fields

Currently, required fields are not validated when a booking is created though public API, however it's a good practice to support them on in your client code However, soon the required fields will be enforced for public API booking..

Optional
bookingFields[].requiredPerParticipant boolean

true if this field must be populated for each participant. It should be in Booking.BookingItem.Participant.fields.

Currently, required fields are not validated when a booking is created though public API, however it's a good practice to support them on in your client code. However, soon the required fields will be enforced for public API booking.

Optional
bookingFields[].visiblePerBooking boolean

true if this field should be asked once per booking, regardless of the number of items or participants. It should be in Booking.fields

Optional
bookingFields[].visiblePerParticipant boolean

true if this field should be asked for each participant when doing a booking. It should be in Booking.BookingItem.Participant.fields.

Optional
confirmMode string

Confirmation mode. Determines if bookings are automatically confirmed or it they are pending.

Possible values are:

  • MANUAL
  • AUTOCONFIRM
  • MANUAL_THEN_AUTO
  • AUTO_THEN_MANUAL
Optional
confirmModeMinParticipants int32

If confirmMode is MANUAL_THEN_AUTO or AUTO_THEN_MANUAL, determines the minimum number of participants per booking to trigger the change.

Optional
description string

Long product description, is between 100 and 15000 characters.

Optional
durationMinutes int64

Duration of the product in minutes.

Optional
internalCode string

Supplier-defined product code, used internally by the supplier.

Optional
minimumNoticeMinutes int64

Minimum book ahead interval for he product in minutes.

Optional
name string

Product name

Optional
pickupId int64

Pickup ID for this product.

Optional
priceOptions[] array

List of price options for this product.

Optional
priceOptions[].label string

Label for this price (I.e. "Adult", "Child")

Optional
priceOptions[].maxQuantity int32

Max booking quantity for the product price option. Can be specified, if the price option is fixed or a grouptype. For a successful booking of the product, the number of participants for this price option have to be lesser or equal than this value.

Optional
priceOptions[].minQuantity int32

Min booking quantity for the product price option. Can be specified, if the price option is fixed or a group type. For a successful booking of the product, the number of participants for this price option have to be greater or equal than this value.

Optional
priceOptions[].price float

Price amount (I.e. "200.00")

Optional
priceOptions[].priceGroupType string

If this price is for a group, is the price for the whole group (TOTAL) or per quantity (EACH)

Possible values are:

  • EACH
  • TOTAL
Optional
priceOptions[].productCode string

Product code to which the price options belongs to. Since Rezdy introduced shared availability option for products, the product sessions can contain price overrides for all of the products, which share the sessions. Therefore it is necessary to filer only the price options matching the chosen product code on the client side, when processing /availability service responses.

Optional
priceOptions[].seatsUsed int32

How many seats one quantity of this price willuse. Used for availability calculations. For example 1 quantity of "Family of 4" will use 4 seats.

Optional
shortDescription string

Product description is between 15 and 240 characters.

Optional
terms string

Specific terms and conditions for this product.

Optional

Response

The following HTTP status codes may be returned, optionally with a response resource.

Status code Description Resource
200 OK

successful operation

ResponseProduct

Explore this API

apiKey Enter your API Key to try this call
productCode

product's product code to be updated

body

updated product

Request Content-Type
Response Content-Type
Try it out!