Skip to main content

Extra option model

An ExtraOption belongs to one Extra through the literal extra_id field. It groups the selectable suboptions for that extra; it is not itself a product or a suboption.

Operations​

ActionMethodResource
ListGET/business/{business_id}/extras/{extra_id}/options
FindGET/business/{business_id}/extras/{extra_id}/options/{option_id}
CreatePOST/business/{business_id}/extras/{extra_id}/options
UpdatePUT or POST/business/{business_id}/extras/{extra_id}/options/{option_id}
DeleteDELETE/business/{business_id}/extras/{extra_id}/options/{option_id}

Both update methods map to the same action but remain separate operations. Requests require authentication; write access is limited to administrators and business managers, with managers scoped to associated businesses. The route must identify the correct business and extra.

Shared concepts​

The model includes fields such as id, extra_id, name, image, conditioned, respect_to, min, max, rank, with_half_option, allow_suboption_quantity, limit_suboptions_by_max, enabled, external_id, and snooze_until. Its relations are named extra, suboptions, and metafields.

See load extra option relations and the extra option suboption model.

Schema properties​

Schema: ExtraOption

NameTypeDescription
allow_suboption_quantityboolean | null—
conditionedboolean | null—
created_atstring | null—
deleted_atstring | null—
enabledboolean | null—
external_idinteger | null—
extra_idinteger | null—
idinteger | null—
imagestring | null—
limit_suboptions_by_maxboolean | null—
maxinteger | null—
mininteger | null—
namestring | null—
ranknumber | null—
respect_tointeger | null—
snooze_untilany—
updated_atstring | null—
with_half_optionboolean | null—