Packages & Services

Create a package

Creates a new package (event type) within a package group. A package defines a bookable offering — its name, pricing, duration, and deposit terms.

The package_group_id of the parent package group is required, along with a name. Sensible defaults are applied for anything you omit: new packages are public, charge a base rate of 0, default to a 60-minute length, and take no deposit — adjust these via the pricing fields or a follow-up update. New packages are appended to the end of the group.

Required permission: offerings_write

post/api/v1/packages

Request

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

Headers

Api-Keystring required

Your Integration Key

Request body

package_group_idinteger required

ID of the parent package group this package belongs to

namestring required

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 created

Changes

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