Show each website visitor the menu of their city branch in Odoo 19
For brands whose branches sell different products: the city of the visitor is guessed on arrival, shown in a bar on every page and always one tap from changing, and the shop shows only that branch catalogue. Cart lines the new city cannot make are removed. Community and Enterprise, $99 on the Odoo Apps Store.
From $99 on the Odoo Apps Store · $399 with setup & support
- Store name
- Branch Menu by City
- Store price
- $99, one-time purchase
- Setup package
- $399, incl. setup and 30 days of support
- Edition
- Odoo 19 Community and Enterprise
- Licence
- OPL-1
- Technical name
eh_city_menu- Publisher
- EHC, Saudi Arabia
- Support
- ebraheem@hashem.sa
The problem
Branches in different cities often sell different products, but one Odoo website shows every visitor the same catalogue.
People order items their branch cannot make, and the usual fix, a pop-up that forces a city choice, loses sales and search traffic.
Who it is for
- Restaurant and bakery brands with branches in several cities
- Grocery and retail chains with local ranges
- Franchises running one Odoo website for all cities
What it does
Guessed, never hidden
Manual choice first, then browser location on request, then IP; the result is always visible in a bar.
One hook, no patched templates
Filtering overrides one method used by the shop, search and category pages; no controller or template is replaced.
The cart stays honest
Switching city removes lines the new branch cannot make; delivery and service lines stay.
Ranges sold everywhere
Tick Show in every city on a category and it bypasses the filter in all cities.
Alias spellings
Each city has a list of spellings used in IP data, such as Jeddah, Jiddah and Jedda.
Requirements
- Odoo 19 Community and Enterprise.
- Depends on:
website_sale - One top-level website product category per city.
- Optional: Odoo GeoIP databases on the server for the IP guess.
- Hosting: Odoo.sh or your own server. Odoo Online does not accept third-party modules.
Screenshots, the full feature list and the change log are on the Odoo Apps Store listing.
Two ways to buy
$99
The module licence from the official Odoo Apps Store. You install it yourself or with your Odoo partner. Bug fixes from the developer are included.
- Licence bought and downloaded through Odoo
- Updates for the Odoo 19.0 series
- Bug fixes from EHC by email
$399
Module licence at the store price, plus EHC installs it, configures it with your data and supports your team for 30 days. EHC sends you an invoice; nothing is charged online.
- Installed on a staging copy first, then on your live database
- Configured with your settings and tested with your own records
- A handover session for the people who will use it
- 30 days of email support after go-live
Setup fee $300: an outside account or workflow is connected and tested end to end (API keys, payment test, bank file, approvals).
Same module, same code on both routes. The Odoo Apps Store price is never higher than the price on this site; the package adds services only.
Questions buyers ask
What is the difference between the store and the setup package?
The store sells the licence only and you install it. The package is the same licence at the same price plus installation, configuration and 30 days of support by EHC, invoiced by EHC.
Does it create a page per city for SEO?
No. Filtering is session-based, so crawlers see the whole catalogue. Per-city landing pages need a different approach.
Does it change delivery prices?
No. It decides which catalogue a visitor sees and never touches pricing.
What happens without GeoIP?
The IP step is skipped and the visitor sees the full catalogue with a prompt to choose a city.
Is the city saved on the customer?
No. It lives in the session and is not stored on the customer record.
Do I need a new product field?
No. A product belongs to a city by sitting in the category of that city, and can belong to two cities.