doc-site
Reference

Booking line item properties

The properties the booking form adds to each cart line, the cart attributes and order metafields set around a booking, and who reads them.

The booking form adds one cart line per participant, with quantity 1. The participant's details are stored as line item properties. They appear on the Shopify order and are read by shopify-zoho-integration when it creates the Zoho participant.

Properties

PropertyValuePresent
First NameTextAlways
Middle NameText, may be emptyAlways
Last NameTextAlways
Date of Birthdd MMMM yyyy, for example 05 March 2015Always
GenderMale, Female or OtherAlways
Confidential Gender InfoTextOnly when the parent turned the switch on
SchoolPlace name from Google PlacesAlways
Grade0 for Prep, 1 to 12Always
Club or Team NameZoho club name, or typed textAlways
_ClubIdZoho Club record id, or empty for typed textAlways
Playing ExperienceBeginner, Intermediate or AccomplishedAlways
Friends AttendingTextOnly when the parent turned the switch on
Medical ConditionsTextOnly when the parent turned the switch on

Shopify hides properties starting with _ at checkout. They remain visible in Shopify Admin and in /cart.js.

In the three text fields, commas typed by the parent become line breaks.

The form also builds Has Confidential Gender Info, Has Friends Attending and Has Medical Conditions switches. They are removed before the line is added to the cart, and sent only when saving a child.

Pass products

When a membership pass is used, the pass service copies every non-empty property from the camp line onto the pass product line. Zoho therefore sees the same participant details.

Cart attributes

AttributeSet byPurpose
clarity_uidtheme/assets/clarity-tracking.jsMicrosoft Clarity visitor id
clarity_session_idtheme/assets/clarity-tracking.jsMicrosoft Clarity session id

Both are written once per browser session and appear on the order.

Order metafields

KeyWritten byPurpose
custom.environmentNot set by any known codeOrders with a value other than an allowed environment are skipped by the Zoho integration
custom.participant_detailsZoho integrationParticipant details missing from the order lines
camp_swap.data, camp_swap.original_orderZoho integration, camp swapSwap records

Where the names are used

ConsumerLocation
Booking form, builds the propertiessrc/components/CampBooking.tsx
Cart page, lists themtheme/sections/asc-new-cart-layout.liquid
Pass service, copies themasc-api-membership-pass repository, src/services/redemption.service.ts
Zoho integration, maps them to Zoho fieldsasc-api-src-zoho-integration repository, src/lib/zoho.ts, src/lib/utils.ts, src/features/bookings.ts

Rename a property only with a matching change in the Zoho integration.

On this page