| Sub-resource | object | Path | Update verb |
|---|---|---|---|
| Order settings | order_settings | .../order_settings | PATCH |
| Opening hours | opening_hours | .../opening_hours | PUT |
| Delivery settings | delivery_settings | .../delivery_settings | PATCH |
| Acceptance settings | acceptance_settings | .../acceptance_settings | PATCH |
| AI instructions | ai_instructions | .../ai_instructions | PATCH |
https://server.chataigne.ai/v1/locations/{location_id}.
These routes are part of the public Chataigne API (
/v1). Authenticate with an
organization/location API key (prefix ch_org_) sent in the x-api-key header. Admin
keys are rejected with 403; see Authentication.Order settings
Controls auto-acceptance, prep time, and whether a customer may hold multiple concurrent orders.Always
order_settings.When
true, incoming orders are accepted automatically without manual confirmation.Estimated preparation time in
HH:MM format (e.g. "00:25").When
true, a single customer can have more than one open order at a time.Get order settings
Response
Update order settings
PATCH only the fields you want to change. Here we enable auto-accept and bump prep
time; enable_multiple_order_per_customer is omitted and therefore preserved.
Response
Opening hours
The weekly schedule, split into independentdelivery and pickup calendars.
Each calendar has one key per weekday (monday … sunday); each day holds an array of
time slots with from and to in HH:MM. An empty array means closed that day.
Always
opening_hours.Weekly delivery schedule. Keys
monday–sunday, each an array of { from, to } slots.Weekly pickup schedule, same shape as
delivery.Get opening hours
Response
Replace opening hours
Send the completedelivery and pickup calendars. Below, Sunday is left closed by
sending an empty array.
Opening hours are interpreted in the location’s
timezone. For one-off date overrides
(holidays, private events), use Special closings
instead of editing the weekly schedule.Delivery settings
Controls pickup/delivery availability, fulfillment provider selection, delivery fee strategy, and the provider-specific options used by runtime delivery checks and order confirmation. The same resource is available on both API surfaces:| Surface | Route | Key type |
|---|---|---|
| Location API | GET / PATCH /v1/locations/{location_id}/delivery_settings | ch_org_… with deliverySettings permission |
| Admin API | GET / PATCH /admin/v1/locations/{location_id}/delivery_settings | ch_admin_… |
Delivery provider values
| Value | Meaning | Provider-specific fields |
|---|---|---|
handledByStore | The restaurant handles fulfillment itself. | Standard availability, fee, radius, postal-code, zone, or distance-range fields. |
uberDirect | Chataigne requests Uber Direct delivery. | delivery_verification_mode, uber_direct_pickup_notes_enabled, uber_direct_pickup_notes, uber_direct_auto_dmc. |
chaskis | Chaskis handles delivery. | chaskis_flat_fee, chaskis_per_km_fee. |
dood | Dood handles delivery/pricing validation. | Standard fee/radius caps. |
Fee strategy values
| Value | Required/associated fields |
|---|---|
postalCode | postal_codes |
deliveryZone | delivery_zones |
percentage | fee_percentage between 0 and 1 |
customerPaysAll | No extra strategy fields |
restaurantPaysAll | No extra strategy fields |
smart | smart_parameters |
distanceRange | distance_ranges |
Always
delivery_settings.The location this settings object belongs to.
Whether delivery orders are accepted.
Whether pickup orders are accepted.
One of
handledByStore, uberDirect, chaskis, or dood.One of
postalCode, deliveryZone, percentage, customerPaysAll, restaurantPaysAll, smart, or distanceRange.Postal-code pricing rules:
postal_code, minimum_order_amount, and delivery_fee.Polygon delivery zones with
id, name, polygon, minimum_order_amount, and delivery_fee.Percentage applied when
fee_strategy is percentage, expressed as a decimal (0.7 = 70%).Smart-pricing inputs:
menu_uplift, uber_commission, target_lift, and coverage_fraction.Distance brackets with
up_to_km, displayed_fee, and optional minimum_order_amount.Chaskis base fee as
{ amount, currency }.Chaskis per-kilometre fee as
{ amount, currency }.Maximum delivery distance from the location, in kilometres.
Cap on the delivery fee as
{ amount, currency }, or null for no cap.Minimum order subtotal required to place a delivery order.
Maximum order subtotal permitted.
Maximum number of items allowed per order.
Uber Direct proof-of-delivery mode:
picture or pincode.Whether custom Uber Direct pickup notes are sent to the courier.
Custom pickup notes for the Uber Direct courier. Maximum 280 characters.
Whether Uber Managed Support is enabled for this Uber Direct location. Defaults to
false.Uber Direct AutoDMC configuration:
enabled, split_mode, price_tiers, and volume_multipliers.Get delivery settings
Response
Update delivery settings
PATCH only the fields you want to change. Omitted fields are preserved. Send null for nullable fields and collections when you want to clear/reset them (max_delivery_fee, delivery_zones, distance_ranges, smart_parameters, uber_direct_pickup_notes, and uber_direct_auto_dmc).
Money fields use
{ amount, currency }. The currency should match the location’s currency; amount uses the same decimal convention as the dashboard delivery settings.Acceptance settings
The location’s live order-acceptance state — used to pause incoming orders or signal a temporary rush.Always
acceptance_settings.One of
online, busy, or paused.Additional preparation time applied while in
busy mode (e.g. "00:15").Human-readable reason for the current state.
Get acceptance settings
Response
Update acceptance settings
Pause incoming orders with a reason. Omitted fields keep their current value.Response
Set
mode to paused to stop accepting new orders entirely, or back to online to
resume. extra_preparation_time is most relevant in busy mode.AI instructions
Free-form guidance for the AI clerk that handles conversations for this location.Always
ai_instructions.Natural-language instructions appended to the AI clerk’s behaviour for this location.
Get AI instructions
Response
Update AI instructions
Response
Errors
Settings requests use the standard error envelope. Common cases:| Status | error.type | When |
|---|---|---|
401 | authentication_error | Missing x-api-key. |
403 | authorization_error | An admin key (ch_admin_) was used on /v1, or a dashboard session was used. |
404 | not_found_error | The location_id does not exist or is not accessible by your key. |
400 | invalid_request_error | Malformed body — e.g. an invalid mode, a bad HH:MM value, or a from/to slot that doesn’t parse. |
X-Request-Id; error bodies mirror it as error.request_id.
See Errors for the full envelope and Request IDs.
Related
Locations
Read and manage the parent location, including
currency, country, and timezone.Special closings
Schedule one-off date-range closures on top of the weekly opening hours.