Skip to navigation

Create a Location

View as Markdown

The Location Management API lets you configure and maintain your network of stores and warehouses inside Rendr. Use it to create a location for each store or warehouse that fulfils orders for your brand.

In Rendr, each brand can have multiple stores (locations). Locations are the backbone of delivery orchestration, and they hold the configuration needed for successful order fulfilment and driver routing. A location record contains much more than an address:

  • Operating hours – When the store is open to customers.
  • Pickup hours – When couriers can collect orders. These are often earlier than store close times, to allow for returns and same-day cut-off windows.
  • Special hours – Overrides for holidays or exceptional events.
  • Geographic data – Latitude and longitude coordinates for routing accuracy.
  • Contact details – Store-level email and phone for operational communication.
  • Delivery settings – Such as pickup instructions and optional store-specific rules.

By managing locations through the API, you can:

  • Onboard new stores quickly, and at scale
  • Standardise configuration across large store networks
  • Ensure consistent delivery rules and experiences across all brands
  • Integrate directly with eCommerce platforms, OMS or ERP systems

Location Lifecycle

Every location moves from pending to active:

  1. Pending – A newly created location starts in a pending state while Rendr’s operations team validates its configuration.
  2. Active – Once approved, the location can be used for store allocation, delivery scheduling and tracking.

A location can’t be used until it is active. Create locations ahead of time so that Rendr has time to validate them. You can also view and manage locations in the Delivery Dashboard — see Manage Locations.


Endpoint

POST {{domain}}/{{tenant_id}}/locations

Authentication: Bearer token required via the Authorization header.


Request Payload

POST /{{tenant_id}}/locations
{
"currency": "AUD",
"country": "AU",
"name": "Richmond Store",
"reference": "0001",
"timezone": "Australia/Melbourne",
"contact": {
"name": "My Store Contact",
"email": "contact@example.com",
"phone": "+61400000000",
"country": "AU"
},
"settings": {
"pickup_instructions": "Pickup from Level 3"
},
"address": {
"address": "7 Howard St",
"address2": "Level 3",
"city": "Richmond",
"state": "VIC",
"post_code": "3121",
"country": "AU"
},
"geo_data": {
"long": 144.9972,
"lat": -37.83274
},
"pickup_hours": [
{ "day": 0, "from": "09:00", "to": "15:00" },
{ "day": 1, "from": "09:00", "to": "15:00" },
{ "day": 2, "from": "09:00", "to": "15:00" },
{ "day": 3, "from": "09:00", "to": "15:00" },
{ "day": 4, "from": "09:00", "to": "15:00" },
{ "day": 5, "from": "09:00", "to": "15:00" },
{ "day": 6, "from": "09:00", "to": "15:00" }
],
"opening_hours": [
{ "day": 0, "from": "09:00", "to": "17:00", "buffer_minutes": 10 },
{ "day": 1, "from": "09:00", "to": "17:00", "buffer_minutes": 10 },
{ "day": 2, "from": "09:00", "to": "17:00", "buffer_minutes": 10 },
{ "day": 3, "from": "09:00", "to": "17:00", "buffer_minutes": 10 },
{ "day": 4, "from": "09:00", "to": "17:00", "buffer_minutes": 10 },
{ "day": 5, "from": "09:00", "to": "17:00", "buffer_minutes": 10 },
{ "day": 6, "from": "09:00", "to": "17:00", "buffer_minutes": 10 }
],
"special_hours": []
}

Parameters

Top-Level Fields

FieldTypeDescription
nameStringThe display name of the store.
referenceStringYour unique reference for the store.
currencyStringThe currency code (ISO 4217) — e.g. AUD.
countryStringThe country code (ISO 3166-1 alpha-2) — e.g. AU.
timezoneStringThe IANA timezone identifier for the store — e.g. Australia/Melbourne.
contactObjectStore contact details. See Contact.
addressObjectThe physical address of the store. See Address.
settingsObjectStore-level configuration. See Settings.
geo_dataObjectOptional. The geographic coordinates of the store. See Geo Data.
pickup_hoursArrayOptional. When couriers can collect orders, by day. See Pickup Hours.
opening_hoursArrayWhen the store is open to customers, by day. See Opening Hours.
special_hoursArrayOverride hours for specific dates, such as public holidays.

Contact

FieldTypeDescription
contact.nameStringThe contact person or team name.
contact.emailStringThe contact email address.
contact.phoneStringThe contact phone number, in E.164 format — e.g. +61400000000.
contact.countryStringThe country code (ISO 3166-1 alpha-2).

Address

FieldTypeDescription
address.addressStringStreet address line 1.
address.address2StringStreet address line 2 — e.g. a suite or level.
address.cityStringThe suburb or city.
address.stateStringThe state or territory code — e.g. VIC.
address.post_codeStringThe postcode.
address.countryStringThe country code (ISO 3166-1 alpha-2).

Settings

FieldTypeDescription
settings.pickup_instructionsStringInstructions displayed to carriers for pickup.

Geo Data

FieldTypeDescription
geo_data.longNumberThe longitude coordinate.
geo_data.latNumberThe latitude coordinate.

Pickup Hours

The pickup_hours array is optional. It sets when couriers can collect orders, with one entry per day.

FieldTypeDescription
pickup_hours[].dayIntegerThe day of the week — 0 = Sunday, 6 = Saturday.
pickup_hours[].fromStringThe start time in HH:mm (24-hour) format.
pickup_hours[].toStringThe end time in HH:mm (24-hour) format.

Opening Hours

The opening_hours array sets when the store is open to customers, with one entry per day.

FieldTypeDescription
opening_hours[].dayIntegerThe day of the week — 0 = Sunday, 6 = Saturday.
opening_hours[].fromStringThe opening time in HH:mm (24-hour) format.
opening_hours[].toStringThe closing time in HH:mm (24-hour) format.
opening_hours[].buffer_minutesIntegerThe number of minutes before closing that orders are cut off.

Set pickup hours to finish earlier than your closing time if you need time for returns and same-day cut-off windows. The same-day cut-off time is covered in Configure Order Cut-Off Times.