square / square/connect-api-specification
Feature request: real-time location open/closed status (business_hours schedule alone is insufficient)
Nobody has claimed this yet.
- Dominant language
- Mustache
- Stars
- 76
- Forks
- 36
- Avg merge
- 3h 14m
- Merged PRs (30d)
- 1
Description
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.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reviewing the Locations API definition and its existing business_hours fields in the OpenAPI specification. Clarify how real-time open/closed status should be represented, including temporary closures and outages, before defining the API surface. Done would mean the specification documents an agreed status model and its expected behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- openapi
- Domain
- api
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Needs clarification
- Newbie friendliness
- 30/100