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",
    "barcodeOutputType": "string",
    "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
barcodeOutputType string

Specifies how to output the barcodes when this product is booked. Valid types are:

  • PARTICIPANT: Barcodes will be generated by rezdy for each participant when an booking is created for this product
  • ORDER: Barcodes will be generated by rezdy per booking
  • Possible values are:

    • PARTICIPANT
    • ORDER
    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
    • Hidden
    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!