Skip to content

Locations

Overview

Locations represent physical business locations (stores, restaurants, branches). Each location has its own profiles, address, operating hours, and order settings. All other features are scoped to locations.

Purpose

This page lets you configure your physical business locations with addresses, contact details, operating hours, and order behavior settings.

Key Concepts

  • Location: A physical store, restaurant, or branch with its own settings
  • Payment Profile: Payment provider configuration assigned to the location
  • Branding Profile: Visual theme for kiosk and online ordering at this location
  • Operating Hours: Days and times when customers can place orders
  • Preparation Time: Average minutes needed to prepare an order (affects earliest pickup time)
  • Restricted Dates: Specific dates when the location is closed (holidays, etc.)

Route

  • Backoffice Route: /settings/locations (list)
  • Add/Edit Location: /settings/locations/add or /settings/locations/:id

Actions

Add Location

Click "Add Location" to create a new location. Fill in all required fields and save.

Edit Location

Click "Edit" on an existing location to modify its settings.

Export Locations

Export location data for reporting or backup.


Form Sections

Profiles

Assign profiles to this location for centralized management.

FieldTypeRequiredDescription
Payment ProfileSelectNoPayment provider configuration (optional — can be set up later). Hidden for Square-integrated accounts
Billing ProfileSelectNoBilling/invoicing settings (optional in the backend; a reseller can invoice the merchant directly)
Branding ProfileSelectYes (on add)Visual theme for kiosk and online ordering. Required when adding a location; not enforced when editing

Status (edit mode only)

A Status selector (Active / Inactive) appears in the location header when editing an existing location.

  • Switching to Inactive while the location has active subscriptions opens a confirmation dialog that requires typing the location name before deactivating.
  • For all other status changes (including reactivating), the change is applied directly.
  • The status control is hidden when adding a new location and may be disabled for locations whose status field is uneditable (e.g. synced locations).

General → Location Details

FieldTypeRequiredValidationDescription
Location NameTextYes-Name shown to customers
DescriptionTextareaNo-Internal description
Location TypeSelectYes-Category of location
Preferred Display LanguageSelectYes-Default language for this location

Contact Details

FieldTypeRequiredValidationDescription
EmailEmailYesValid emailContact email
PhonePhoneYesValid phone with country codeContact phone
CategorySelectYes-Business category

Address

FieldTypeRequiredDescription
Address Line 1TextYesStreet address
Address Line 2TextNoSuite, floor, building
Postal CodeTextNoZIP/postal code
CityTextYesCity name
CountrySelectYesCountry
GeolocationMapNo (to save)Interactive map to set pin
LatitudeNumberNo (to save)Auto-filled from map pin (pinpoint.lat)
LongitudeNumberNo (to save)Auto-filled from map pin (pinpoint.lng)

Business Logic:

  • Geolocation map allows clicking to set coordinates
  • Latitude/longitude (pinpoint.lat/pinpoint.lng) are optional to save the location — they are not required by the form's validation
  • However, the map pin is required for online-ordering readiness (see the Ready / Partial / Incomplete badge); a location without a pin counts as missing geolocation for online ordering
  • Coordinates used for delivery distance calculations and map display
  • Address shown on receipts and order confirmations

Operating Hours

Define when customers can place orders at this location.

  • Days: Monday through Sunday (checkbox per day)
  • Add Times: Set open/close times per day (multiple time ranges supported)
  • Select All: Apply same hours to all days

Business Logic:

  • Hours determine when online ordering is available
  • Outside operating hours, customers see "Location closed"
  • Multiple time ranges per day supported (e.g., 11:00-14:00, 17:00-22:00)

Restricted Dates

Add dates when the location will be closed (holidays, renovations, etc.).

  • Click "+" to add a restricted date
  • Location will be unavailable for orders on these dates
  • Each row can be a single date or, by enabling Date range, a span from a start date (date_from) to an end date (date_until) — the end date must be on or after the start date
  • A "Repeats every year" (yearly) checkbox makes a single date recur annually. This option is unavailable while a row is in date-range mode

Order Behavior

FieldTypeRequiredDefaultDescription
Preparation TimeNumber (minutes)Yes20Average time to prepare an order
Snooze Item if Out of StockSelectYesInfiniteHow long to hide out-of-stock items

Business Logic:

  • Preparation Time: Affects earliest available pickup/delivery time
    • Earliest time = Now + Preparation Time + Channel Delay
  • Snooze: Controls automatic item availability after stock-out

Business Rules

  • A location name is required, but it is not required to be unique within the merchant account (the uniqueness check is not currently enforced)
  • Phone is required — validation enforced
  • A location can have only one of each profile type (payment, billing, branding)
  • Operating hours must be set for online ordering to work
  • Locations without operating hours are treated as always closed
  • Preparation time affects all order channels (kiosk, online ordering)
  • Changes to location settings take effect:
    • Online Ordering: On next page load
    • Kiosk: After app sync/reload

Logic Flows

Location Selection (Online Ordering)

Customer opens Online Ordering


Multiple locations?
├── Yes → Show location selector
│         Customer chooses location
│         Load location's menu and settings

└── No → Load single location automatically

Location-Scoped Settings

Location
├── Profiles (Payment, Billing, Branding)
├── Operating Hours
├── Restricted Dates
├── Order Behavior
├── Menus (assigned)
├── Delivery Zones
├── Order Capacity
└── Devices (kiosks assigned)

Customer Impact

  • Kiosk: Uses assigned location's menu, branding, and settings
  • Online Ordering: Location selector, hours, address displayed
  • Receipts: Location name, address, phone printed
  • Delivery: Location's delivery zones determine availability

FAQs

  • "How do I add a new location?"

  • "Where do I change my store's address?"

  • "How do I set opening hours for my location?"

  • "Can I have different menus per location?"

  • "Why is my location showing as closed?"

  • "How do I close my store for a holiday?"

  • "Where do I set the preparation time?"

  • "Can I use different branding per location?"

  • "Is the payment profile required when I create a location?" No. The payment profile is optional — you can save a location and configure payment later. If it's not set up, the location shows a "Payment not configured" chip in the Settings → Locations list (hidden for Square-integrated accounts).

  • "Which profile is actually mandatory to create a location?" Only the Branding Profile is required when adding a location. Payment Profile and Billing Profile are both optional, though the form pre-selects a default for each if one is marked as default.

  • "What is the 'Ready / Partial / Incomplete' badge next to my location?" It's an online-ordering completion indicator. A location is Ready only when Address, Business hours, and Geolocation (map pin) are all set; Partial if some are set; Incomplete if none. Hovering the badge lists exactly which fields are missing.

  • "My location says it's missing 'Geolocation' even though I typed the address — why?" The map pin (latitude/longitude) is tracked separately from the typed address and is required for online ordering. Drop a pin on the map (or use "Edit manually" to enter coordinates) in the Address section — an address with no pin still counts as missing geolocation.

  • "How do I deactivate a location instead of deleting it?" Open the location in edit mode and use the Status selector to switch between Active and Inactive. If the location has active subscriptions, you'll get a confirmation dialog and must type the location name to deactivate.

  • "What's the difference between deactivating and deleting a location?" Deactivating sets the status to Inactive and is reversible. Delete Location is permanent and can't be undone — and because deleting affects all linked branding, you'll be asked to type the location name to confirm.

  • "How do I set a recurring closure, like the same holiday every year?" In Restricted Dates, add a date and tick "Repeats every year" so it recurs annually. You can also switch a row to Date range mode to close across a span of consecutive days.

  • "I changed the payment profile and got a warning — what does it mean?" Changing the payment profile means you'll need to reconfigure the payment terminal on all of that location's kiosks. Continue only if you're prepared to re-pair the terminals.

  • "What snooze durations can I choose for out-of-stock items?" Under Order behaviour → "Snooze item if out of stock" the options are: Do not snooze, Half hour, 1 hour, 2 hours, 3 hours, 6 hours, 12 hours, 24 hours, and Infinite (the default).

  • "Why can't I edit the name, type, or timezone on one of my locations?" Locations synced from MplusKassa have name, type, and timezone locked because they come from the MplusKassa branch and can't be overridden in Upvendo.

  • "How do I export my locations?" On the Settings → Locations list, click Export (top right). It downloads an Excel file named locations_export_<date>.xlsx and respects any active search filter.

  • "Is a postal code required for a location address?" Address Line 1, City, and Country are required; Postal Code and Address Line 2 are optional. The Country field also auto-syncs to match your map pin, so dropping/moving the pin can update the country.


Troubleshooting

  • Location not showing in online ordering → Check if operating hours are set and location is enabled
  • Wrong times showing → Verify timezone in account settings and operating hours
  • Location shows as closed → Check operating hours and restricted dates
  • Map pin in wrong place → Click on map to reposition or enter coordinates manually
  • Can't save location → Ensure phone number is filled in (required field)
  • "My location is not found" / location not ready for online ordering → This is almost always a missing map pin (Geolocation). Open the location in Settings → Locations, go to Address → Geolocation, and click the map to drop a pin (or use "Edit manually" to enter coordinates), then Save. The typed address does not set the pin on its own; a location with no pin (or a pin at 0,0) keeps showing "Missing: Geolocation" and stays Partial/Incomplete for online ordering.

Assistant Guidance

When answering questions about locations:

  • Use clear navigation: "Go to Settings → Locations"
  • For new locations, walk through the form sections in order
  • If location appears closed, check: operating hours, restricted dates, timezone
  • For multi-location merchants, clarify which location they're asking about
  • Mention that profiles (payment, billing, branding) are assigned per location
  • Preparation time affects when customers can place orders — suggest 15-30 min for most restaurants

Relations

Depends On

  • Merchant Account: Locations belong to merchant
  • Profiles: Payment, Billing, Branding profiles assigned to locations

Affects

  • All location-scoped features:
    • Menus
    • Delivery Zones
    • Order Capacity
    • Devices
    • Business Hours
    • Inventory