Packages & Services

Update a package

Updates an existing package (event type) with the provided fields. Only fields included in the request body are modified — omitted fields remain unchanged.

Use this to rename a package, change its visibility, adjust pricing and deposit terms, or reconfigure its duration and availability. To move a package to a different package group, manage it from the Package Manager in the app.

Required permission: offerings_write

put/api/v1/packages/{id}

Request

  • Base URL: https://api.checkcherry.com
  • URL: https://api.checkcherry.com/api/v1/packages/{id}
  • Auth: none declared. Required headers: Api-Key

Path parameters

idinteger required

The unique ID of the package to update

Headers

Api-Keystring required

Your Integration Key

Request body

namestring

The name of the package (e.g., "4-Hour DJ Package")

sub_headerstring

Short sub-heading shown under the package name (max 100 characters)

description_htmlstring

Rich-text (HTML) description of the package

show_nameboolean

Whether the package name is shown on the booking page

status'public' | 'private' | 'disabled'

Booking-page visibility

online_booking_mode'allow_online_booking' | 'request_for_proposal' | 'show_contact_form'

How customers engage this package online

contact_form_idinteger

Lead form to display (required when online_booking_mode is show_contact_form)

taxableboolean

Whether the package is taxable

base_ratenumber

Base price of the package, in dollars

deposit_method'none' | 'flat_rate' | 'percent'

How the booking deposit is calculated

deposit_amountnumber

Fixed deposit amount in dollars (when deposit_method is flat_rate)

deposit_multiplier_percentinteger

Deposit percentage (when deposit_method is percent)

date_mode'date_time' | 'date_only'

Whether the package is booked by time-of-day or by whole days

default_length_in_minutesinteger

Default booking length in minutes (defaults to 60)

calendar_mode'minimal' | 'automatic_slots' | 'predefined_slots'

How bookable start times are presented: minimal (no slots), automatic_slots (generated from availability + slot_interval_minutes), or predefined_slots (manually defined slots)

slot_interval_minutes15 | 30 | 60 | 120 | 180 | 240

Spacing between automatically generated start times, in minutes (used when calendar_mode is automatic_slots)

enable_customer_can_book_extra_hoursboolean

Allow customers to choose a duration (hourly packages)

min_length_in_minutesinteger

Minimum bookable length in minutes (when extra hours are enabled)

max_length_in_minutesinteger

Maximum bookable length in minutes (when extra hours are enabled)

step_in_minutes15 | 30 | 60 | 120 | 180 | 240

Increment customers can adjust the length by, in minutes

price_per_extra_hournumber

Price charged per additional hour, in dollars

enable_customer_can_book_extra_daysboolean

Allow customers to choose a number of days (multi-day packages)

default_length_in_daysinteger

Default number of days (required when date_mode is date_only)

min_length_in_daysinteger

Minimum bookable number of days (when extra days are enabled)

max_length_in_daysinteger

Maximum bookable number of days (when extra days are enabled)

price_per_extra_daynumber

Price charged per additional day, in dollars

enable_customer_can_book_per_unitboolean

Allow customers to book a quantity of units (e.g. per booth, per person)

unit_namestring

Label for a single unit when per-unit booking is enabled (e.g. "booth", "guest")

enable_customer_can_book_per_unit_rangeboolean

Allow per-unit pricing tiers (ranges) rather than a single per-unit price

available_every_day_of_the_week'yes' | 'yes_certain_hours' | 'no'

Availability pattern across the week

available_starts_at_timestring

Earliest bookable time of day (e.g. "09:00") when availability is limited to certain hours

available_ends_at_timestring

Latest bookable time of day (e.g. "17:00") when availability is limited to certain hours

Response

package updated

Changes

No recorded changes to this operation across all 2 revisions of this API.