doc-site
Runbooks

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
ResultMeaning
"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.

ResultMeaning
No requestGoogle Maps did not load. Look for a console error mentioning Google Maps
Request with an error such as RefererNotAllowedMapError or ApiNotActivatedMapErrorThe Google key's restrictions block this domain or API. Fix in Google Cloud
Requests succeed but no resultsThe search is restricted to Australian schools. Try a known school name

5. Club search shows nothing

Filter the Network tab by clubs/search.

ResultMeaning
No requestNothing has been typed yet, or the input is not wired up. Search waits 500 ms after typing stops
Request to an unexpected hostThe bundle was built with the wrong ZOHO_INTEGRATION_API_ENDPOINT
Status 5xx or failedshopify-zoho-integration is down or cannot reach Zoho
200 with an empty data listNo 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.

ResultMeaning
No requestThe customer is not logged in, or window.Shopify.customer is missing
Failed or 5xxasc-api-membership-pass is down. Check window.theme.api.root points at the right service
200 with no childrenNone 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.

ResultMeaning
No requestA field failed validation. Scroll up in the form for a red message. Date of birth must be changed from today's date
422Shopify rejected the add, usually because stock ran out while the form was open. The form does not show this error

Repair

CauseFix
Bundle missing or out of dateA developer rebuilds and commits theme/assets/camp-booking.bundle.js and vendors-booking.bundle.js in the theme repository
Google key restrictedAdd the store's domains to the key's allowed referrers in Google Cloud, or enable the Maps JavaScript and Places APIs
Club search endpoint wrongSet ZOHO_INTEGRATION_API_ENDPOINT in src/.env, rebuild and commit
A service is downCheck the service's revisions and logs in Google Cloud Run. Roll back to the previous revision if a release caused it
Wrong API rootCorrect 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

  1. In a private window, book two participants as a guest and reach the cart with both lines and their details.
  2. Log in as a test customer, open the form and confirm saved children load.
  3. 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.

On this page