The request form
The request form is what opens when a visitor taps a request action, such as Reserve, Schedule a Tour or Request Pickup, on a Kaleidr map, or Review and Send on a request Kaleidr AI prepared. It sends the request to your organization's inbox. Setting requests up is covered in Booking requests.
Where it runs
The form runs on Kaleidr's own sites only. It is not a script you add to your page. On your site, it opens
inside a published map you embed with <kaleidr-map product="viewer">: the viewer is a
Kaleidr page in an iframe, and the form opens over its map. It also runs in Kaleidr Studio, and on Kaleidr Map
while it shows Kaleidr's own basemap.
<script src="https://cdn.kaleidr.com/embed/v1/kaleidr.js"></script>
<kaleidr-map product="viewer" share-id="YOUR_MAP_ID" layout="guide"
style="display:block; height:640px"></kaleidr-map>
- Nothing to add to your Content Security Policy. The form and its human check load inside the viewer's
iframe, so your page needs only the viewer's own
script-srcandframe-srcentries. - It loads on the first tap. A map whose visitors never open the form never loads it.
- Only places that take requests show the button. Which ones do is set in Studio and Kaleidr Booking; see Turn requests on.
What the visitor sees
- The form, titled with the action's label: the kit's fields as your organization set them up, name, email, an optional phone, a message, and the consent line with your business name and privacy policy link.
- Send Request, enabled once the required fields are filled and the consent box is checked. The box starts unchecked. A visitor who is not signed in to Kaleidr passes a short human check.
- Request Sent, with the reference, such as
K-7XQ2MD, and "We sent a copy to" the visitor's email when your organization sends receipts.
The form fills in nothing about the visitor. A request Kaleidr AI prepared fills in only what the visitor said, such as a date and a party size, and the visitor reviews it before sending.
| The visitor sees | When |
|---|---|
| "This place isn't taking requests online." | Requests are off for the place, or for your organization. |
| The same, with the place's phone or link | Your organization reached its monthly request limit. |
| A sentence beside the field | A required field is empty or an answer is out of range. |
The form's labels follow the language of the map, in English, Spanish, French, German, Portuguese, Japanese, Korean, simplified and traditional Chinese, and Arabic. Your own questions and labels are shown as you wrote them.
Events
The form reports to the Kaleidr page that holds it, not to your page:
| Event | When |
|---|---|
ready | The form is shown. |
resize | Its height changed. |
submitted | The request was accepted, with its reference. |
error | The request was refused, with an error code. |
close | The visitor closed the form. |
Your page receives none of them. A viewer posts no public message when a request is sent, and the
messages from the iframe other than ready and error are not a public
contract. To act on a request, use your inbox or a webhook, which
reaches your own systems with the full request.
When the published map has Kaleidr Analytics on, a sent request counts as a conversion of that map. The conversion carries the kind of request only, never the visitor's details.
Styling
The form draws in a shadow root of its own, and takes its colors, font and corner radius from the map it opens on, in light and dark. Your page's CSS does not reach it: it is inside the viewer's iframe.
These are the CSS custom properties the form is styled with, and their defaults. Kaleidr's pages set them from the map's theme.
| Property | Default | Styles |
|---|---|---|
--kbw-font | inherit | The font. |
--kbw-fg | #111 | Text. |
--kbw-bg | #fff | The background. |
--kbw-muted | #6b7280 | Hints and secondary text. |
--kbw-border | #d1d5db | Field borders. |
--kbw-accent | #2da84a | The send button and the focus ring. |
--kbw-accent-fg | #fff | Text on the send button. |
--kbw-danger | #b91c1c | Error sentences. |
--kbw-radius | 10px | Corner radius. |
--kbw-space | 8px | The spacing unit. |