feat: MokoSuiteShop integration — expose location data for multi-store ecommerce #48

Open
opened 2026-06-23 13:12:26 +00:00 by jmiller · 1 comment
Owner

Summary

Expose MokoSuiteStoreLocator location data for MokoSuiteShop integration, enabling multi-location ecommerce with location-scoped inventory, store pickup, and location-aware fulfillment.

Requirements

  • Location API helperLocationBridgeHelper providing:
    • getLocations() — all active locations with address, hours, coordinates
    • getById(locationId) — single location detail
    • getNearby(lat, lng, radiusMiles) — proximity search for store pickup
    • getByRegion(state/city) — filter by geography
  • Shop-ready data — ensure locations table has all fields Shop needs: id, name, address, city, state, postal_code, latitude, longitude, phone, hours_json, active
  • Event integration — fire onStoreLocatorLocationSaved event so Shop can invalidate cache when location data changes

Technical Notes

  • Helper is a thin read-only bridge — Shop queries StoreLocator tables directly
  • No dependency on MokoSuiteShop — this side just exposes data
  • Haversine proximity search should be consistent with MokoSuiteRealty's PropertySearchHelper pattern

Linked

  • MokoSuiteShop#37 — Multi-location support via MokoStoreLocator integration
## Summary Expose MokoSuiteStoreLocator location data for MokoSuiteShop integration, enabling multi-location ecommerce with location-scoped inventory, store pickup, and location-aware fulfillment. ## Requirements - **Location API helper** — `LocationBridgeHelper` providing: - `getLocations()` — all active locations with address, hours, coordinates - `getById(locationId)` — single location detail - `getNearby(lat, lng, radiusMiles)` — proximity search for store pickup - `getByRegion(state/city)` — filter by geography - **Shop-ready data** — ensure locations table has all fields Shop needs: `id`, `name`, `address`, `city`, `state`, `postal_code`, `latitude`, `longitude`, `phone`, `hours_json`, `active` - **Event integration** — fire `onStoreLocatorLocationSaved` event so Shop can invalidate cache when location data changes ## Technical Notes - Helper is a thin read-only bridge — Shop queries StoreLocator tables directly - No dependency on MokoSuiteShop — this side just exposes data - Haversine proximity search should be consistent with MokoSuiteRealty's PropertySearchHelper pattern ## Linked - MokoSuiteShop#37 — Multi-location support via MokoStoreLocator integration
Author
Owner

Branch created: feature/48-feat-mokosuiteshop-integration-expose-lo

git fetch origin
git checkout feature/48-feat-mokosuiteshop-integration-expose-lo
Branch created: [`feature/48-feat-mokosuiteshop-integration-expose-lo`](https://git.mokoconsulting.tech/MokoConsulting/MokoSuiteStoreLocator/src/branch/feature/48-feat-mokosuiteshop-integration-expose-lo) ```bash git fetch origin git checkout feature/48-feat-mokosuiteshop-integration-expose-lo ```
Sign in to join this conversation.