The Location object (via the Locations API) exposes a static business_hours schedule (day_of_week, start_local_time, end_local_time), but there is no API surface for whether a location is actually open right now.
In practice, real-world locations deviate from their scheduled hours regularly due to early closures, holiday closures, staffing issues or POS outages. These things happen frequently enough to be a problem and currently we don't have a way to represent this
We've used Square to support our in-venue food delivery service. In general things work well, but the lack of support for dynamic opening hours is a real gap in what is otherwise a decent end-to-end solution. It's enough of a pain point to make us actively consider moving to other providers, and I suspect this would be true of anyone using Square for this type of use case.
We've had to resort to scraping our own public storefront to infer live open/closed status, which is quite fragile and really shouldn't be necessary given that Square support both our web store and our payment provider. It feels this would be a relatively small change to your API that would deliver significant benefits to your consumers.
The Location object (via the Locations API) exposes a static
business_hoursschedule (day_of_week,start_local_time,end_local_time), but there is no API surface for whether a location is actually open right now.In practice, real-world locations deviate from their scheduled hours regularly due to early closures, holiday closures, staffing issues or POS outages. These things happen frequently enough to be a problem and currently we don't have a way to represent this
We've used Square to support our in-venue food delivery service. In general things work well, but the lack of support for dynamic opening hours is a real gap in what is otherwise a decent end-to-end solution. It's enough of a pain point to make us actively consider moving to other providers, and I suspect this would be true of anyone using Square for this type of use case.
We've had to resort to scraping our own public storefront to infer live open/closed status, which is quite fragile and really shouldn't be necessary given that Square support both our web store and our payment provider. It feels this would be a relatively small change to your API that would deliver significant benefits to your consumers.