Skip to main content
.NETAzureIntegrationGoogle Business ProfileApple Maps

Accurate opening hours in Google and Apple Maps for hundreds of stores

When a store shows the wrong opening hours in a map app, the customer is the first to notice. For a large Norwegian retailer with several store chains, Schjønhaug AS built a .NET tool that keeps opening hours in Google and Apple Maps up to date automatically — and flags anything that does not add up.

Accurate opening hours in Google and Apple Maps for hundreds of stores

Opening hours change all the time: public holidays, summer schedules, stocktaking days, and local adjustments. At a large Norwegian retailer with several store chains, the correct hours already lived in an internal store register, but getting them into Google and Apple Maps was time-consuming and easy to forget. The result was customers standing in front of closed doors, or choosing another store because the map was wrong.

A tool that checks before it updates

Schjønhaug AS built a solution in .NET 10 that reads store and opening-hours data from the internal register and compares it with what is actually published in Google Business Profile and Apple Maps. Google and Apple are treated as independent destinations, so a failure in one does not stop the other.

Every run starts with an analysis. Stores whose data looks safe are updated automatically. Stores with discrepancies — for example an address that does not match the register — are held back and listed in a report, with a suggested address from the Norwegian postal service’s address API where available. That way, an error in the source data is not copied out to the maps.

From script to production

The solution consists of a command-line runner for automatic syncing and a small ASP.NET Core web interface for manual review. It runs as a container on Azure, is built with Azure Pipelines, and syncs every chain each night. Each run produces an HTML report, making it easy to see what changed and what needs human judgement.

The code is covered by xUnit tests, and the integrations with Google’s Business Profile APIs and Apple Maps are separated from the business logic, so new destinations can be added without changing the rest of the solution.

Outcome

Opening hours in the map apps now follow the store register without manual work, and discrepancies that customers used to discover are caught in the report before they reach the map.