The booking form is not working
The booking form does not open, school or club search returns nothing, saved children are missing, or submitting does not reach the cart.
Use this runbook when a customer cannot complete the booking form on a camp's booking page.
The form runs in the browser and calls three services. Start by finding which part fails.
Diagnose
1. Reproduce
Open the camp's booking page in a private window. Open the browser's developer tools on the Console and Network tabs before clicking Book Camp.
2. The Book Camp button is greyed out
The variant is sold out or In Season is false. This is data, not a fault. Follow A camp is not showing.
3. The form does not open
In the console, run:
typeof window.startCampBooking| Result | Meaning |
|---|---|
"undefined" | camp-booking.bundle.js did not load. Check the Network tab for a failed request, and check the product uses a template with the theme.product layout |
"function" | The bundle loaded. Look for a red error in the console after clicking |
"Camp Booking root not found" in the console means the page has no #camp-booking-root, which happens when the product does not use the theme.product layout.
4. School search shows nothing
Filter the Network tab by maps.googleapis.com.
| Result | Meaning |
|---|---|
| No request | Google Maps did not load. Look for a console error mentioning Google Maps |
Request with an error such as RefererNotAllowedMapError or ApiNotActivatedMapError | The Google key's restrictions block this domain or API. Fix in Google Cloud |
| Requests succeed but no results | The search is restricted to Australian schools. Try a known school name |
5. Club search shows nothing
Filter the Network tab by clubs/search.
| Result | Meaning |
|---|---|
| No request | Nothing has been typed yet, or the input is not wired up. Search waits 500 ms after typing stops |
| Request to an unexpected host | The bundle was built with the wrong ZOHO_INTEGRATION_API_ENDPOINT |
| Status 5xx or failed | shopify-zoho-integration is down or cannot reach Zoho |
200 with an empty data list | No club in Zoho starts with that text. The customer can type the club name and choose Create |
6. Saved children are missing
Saved children load only for logged-in customers. Filter the Network tab by children.
| Result | Meaning |
|---|---|
| No request | The customer is not logged in, or window.Shopify.customer is missing |
| Failed or 5xx | asc-api-membership-pass is down. Check window.theme.api.root points at the right service |
| 200 with no children | None have been saved for that customer |
Some details are never stored with a saved child: confidential gender information, friends attending and the club id. That is a known issue, not an outage. See Booking form.
7. Submitting does not reach the cart
Filter the Network tab by cart/add.js.
| Result | Meaning |
|---|---|
| No request | A field failed validation. Scroll up in the form for a red message. Date of birth must be changed from today's date |
| 422 | Shopify rejected the add, usually because stock ran out while the form was open. The form does not show this error |
Repair
| Cause | Fix |
|---|---|
| Bundle missing or out of date | A developer rebuilds and commits theme/assets/camp-booking.bundle.js and vendors-booking.bundle.js in the theme repository |
| Google key restricted | Add the store's domains to the key's allowed referrers in Google Cloud, or enable the Maps JavaScript and Places APIs |
| Club search endpoint wrong | Set ZOHO_INTEGRATION_API_ENDPOINT in src/.env, rebuild and commit |
| A service is down | Check the service's revisions and logs in Google Cloud Run. Roll back to the previous revision if a release caused it |
| Wrong API root | Correct Theme settings, ASC - Membership Pass, Google Cloud API URL. It must end with / |
While a service is down, customers can still book. Club search accepts typed names, and saved children are optional.
Verify
- In a private window, book two participants as a guest and reach the cart with both lines and their details.
- Log in as a test customer, open the form and confirm saved children load.
- Search a known school and a known club.
Stop at the cart. A completed checkout sends a real booking to Zoho.
Escalate
For a service outage, contact the developer who owns the Cloud Run project asc-map-project. For Google key problems, contact whoever administers the Google Cloud project that issued the key.