Proposals/Confirmed Bookings

Add an alternative to a proposal

Adds an alternative to a proposal, built around one package, and returns the new alternative. Alternatives are the options a client chooses between: each one holds its own packages and price, and the client books one of them.

The first call on a proposal creates two alternatives, not one. The packages already on the proposal move into an alternative of their own, and the new package goes into a second. After that, each call adds one more.

To put more packages in an alternative, add them with POST /api/v1/events/{event_id}/event_bookings and pass its proposal_alternative_id. To start from a copy of an existing alternative, use POST /api/v1/events/{event_id}/proposal_alternatives/{id}/duplicate instead.

Adding an alternative resets any custom payment plan on the proposal.

Only event_type_id and starts_at_date are always needed. Whether the rest apply depends on how the package is sold, which GET /api/v1/packages/{id} tells you.

Required permission: assigned_event_write (when the authenticated user is assigned to the event) or unassigned_event_write (otherwise), together with the matching read permission for the event itself.

post/api/v1/events/{event_id}/proposal_alternatives

Request

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

Path parameters

event_idinteger required

Event ID

Headers

Api-Keystring required

Your Integration Key

Request body

event_type_idstring required

Package ID, from GET /api/v1/packages. Send the literal custom to build the alternative around a one-off package instead, alongside one_off_custom_title. A one-off package is added with no base price.

starts_at_datestring required

Start date, as ISO YYYY-MM-DD. Other numeric formats are read according to the business's date format setting.

starts_at_timestring

Start time, e.g. 11:00AM, 2:30pm or 14:30. Required for packages scheduled by date and time.

length_in_minutesinteger

Length in minutes, from 1 to 1440. Required for packages that let extra hours be booked, otherwise the package's own length is used.

length_in_daysinteger

Length in days, from 1 to 1000. Required for date-only packages that let extra days be booked.

unitsinteger

Unit count, for packages priced per unit. Must fall inside one of that package's unit ranges, which are listed on GET /api/v1/packages/{id}.

package_unit_range_idinteger

Unit range ID, for packages priced by unit range. Must be one of that package's own ranges, from GET /api/v1/packages/{id}.

one_off_custom_titlestring

Title for a one-off package. Required when event_type_id is custom.

custom_description_htmlstring

Description for a one-off package. Accepts HTML.

Response

alternative added

Changes

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