{"componentChunkName":"component---src-templates-simple-markdown-js","path":"/api/catalog/activities/extra-customer-data-and-participant-info/","matchPath":"","result":{"data":{"markdownRemark":{"html":"<h1 style=\"position:relative;\"><a href=\"#extra-customer-data-and-participant-info\" aria-label=\"extra customer data and participant info permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a><div class=\"hidden-anchor\" id=\"extra-customer-data-and-participant-info\"></div>Extra customer data and participant info</h1>\n<p>Some activities require additional information about the customers in order to complete a booking. This information should be collected at the end of the booking flow after all the items have been added to cart.</p>\n<p>Our API offers two types of fields for customer information:</p>\n<ul>\n<li>\nExtra customer data\n</li>\n<li>\nParticipant info\n</li>\n</ul>\n<p>Activities may have one type, both or none. Fields are not necessarily static for all products - they may change based on what is added to cart.</p>\n<h2 style=\"position:relative;\"><a href=\"#extra-customer-data\" aria-label=\"extra customer data permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a><div class=\"hidden-anchor\" id=\"extra-customer-data\"></div>Extra customer data</h2>\n<p>Extra customer data is information requested <em>per booking</em>, such as a single contact number or hotel address for pickup. Each field needs to be filled out once to complete a booking.</p>\n<p>When managing a booking, partners are required to use the <code class=\"language-text\">/carts/{cartUuid}/customer/schema</code> endpoint to check for extra customer data. However, you can get a <em>preview of possible fields</em> for an activity by calling the following endpoint:</p>\n<div class=\"code-wrapper\">\n        <div class=\"gatsby-code-button-container\"\n             data-toaster-id=\"82443989609117000000\"\n             data-toaster-duration=\"1500\"\n             onClick=\"copyCodeToClipboard(`curl -X GET '{baseUrl}/activities/{activityUuid}/extra-customer-data/schema' \\\\\n-H 'X-Musement-Application: {applicationValue}' \\\\\n-H 'X-Musement-Version: 3.4.0' \\\\\n-H 'Authorization: Bearer {accessToken}'`, `82443989609117000000`)\"\n        >\n          <div class=\"gatsby-code-button\" title=\"Copy the code snippet\">Copy</div>\n          <div class=\"done-indicator done-indicator-82443989609117000000\">Copied</div>\n        </div>\n        <div class=\"gatsby-highlight\" data-language=\"bash\"><pre class=\"language-bash\"><code class=\"language-bash\"><span class=\"token function\">curl</span> <span class=\"token parameter variable\">-X</span> GET <span class=\"token string\">'{baseUrl}/activities/{activityUuid}/extra-customer-data/schema'</span> <span class=\"token punctuation\">\\</span>\n<span class=\"token parameter variable\">-H</span> <span class=\"token string\">'X-Musement-Application: {applicationValue}'</span> <span class=\"token punctuation\">\\</span>\n<span class=\"token parameter variable\">-H</span> <span class=\"token string\">'X-Musement-Version: 3.4.0'</span> <span class=\"token punctuation\">\\</span>\n<span class=\"token parameter variable\">-H</span> <span class=\"token string\">'Authorization: Bearer {accessToken}'</span></code></pre></div>\n      </div>\n<p>The response returns a <a href=\"https://json-schema.org/\">JSON schema</a>. The <code class=\"language-text\">properties</code> property contains the information needed from customers. The response also contains a <code class=\"language-text\">required</code> property listing which info is required.</p>\n<p>Each part of the <code class=\"language-text\">properties</code> property describes the expected value type and label to display to customers. In the example response below, there is a single required field which expects a <code class=\"language-text\">string</code> value for a field labeled \"Hotel location\":</p>\n<div class=\"code-wrapper\">\n        <div class=\"gatsby-code-button-container\"\n             data-toaster-id=\"29501203287714750000\"\n             data-toaster-duration=\"1500\"\n             onClick=\"copyCodeToClipboard(`{\n\t&quot;title&quot;: &quot;form&quot;,\n\t&quot;type&quot;: &quot;object&quot;,\n\t&quot;properties&quot;: {\n\t\t&quot;s_74380&quot;: {\n\t\t\t&quot;type&quot;: &quot;string&quot;,\n\t\t\t&quot;title&quot;: &quot;Hotel location&quot;,\n\t\t\t&quot;propertyOrder&quot;: 1\n\t\t}\n\t},\n\t&quot;required&quot;: [\n\t\t&quot;s_74380&quot;\n\t]\n}`, `29501203287714750000`)\"\n        >\n          <div class=\"gatsby-code-button\" title=\"Copy the code snippet\">Copy</div>\n          <div class=\"done-indicator done-indicator-29501203287714750000\">Copied</div>\n        </div>\n        <div class=\"gatsby-highlight\" data-language=\"json\"><pre class=\"language-json\"><code class=\"language-json\"><span class=\"token punctuation\">{</span>\n\t<span class=\"token property\">\"title\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"form\"</span><span class=\"token punctuation\">,</span>\n\t<span class=\"token property\">\"type\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"object\"</span><span class=\"token punctuation\">,</span>\n\t<span class=\"token property\">\"properties\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n\t\t<span class=\"token property\">\"s_74380\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n\t\t\t<span class=\"token property\">\"type\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"string\"</span><span class=\"token punctuation\">,</span>\n\t\t\t<span class=\"token property\">\"title\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Hotel location\"</span><span class=\"token punctuation\">,</span>\n\t\t\t<span class=\"token property\">\"propertyOrder\"</span><span class=\"token operator\">:</span> <span class=\"token number\">1</span>\n\t\t<span class=\"token punctuation\">}</span>\n\t<span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n\t<span class=\"token property\">\"required\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span>\n\t\t<span class=\"token string\">\"s_74380\"</span>\n\t<span class=\"token punctuation\">]</span>\n<span class=\"token punctuation\">}</span></code></pre></div>\n      </div>\n<p>Activities without extra customer data may return a 404 error status code response or an empty <code class=\"language-text\">properties</code> property:</p>\n<div class=\"code-wrapper\">\n        <div class=\"gatsby-code-button-container\"\n             data-toaster-id=\"65259066205900140000\"\n             data-toaster-duration=\"1500\"\n             onClick=\"copyCodeToClipboard(`{\n\t&quot;title&quot;: &quot;form&quot;,\n\t&quot;type&quot;: &quot;object&quot;,\n\t&quot;properties&quot;: []\n}`, `65259066205900140000`)\"\n        >\n          <div class=\"gatsby-code-button\" title=\"Copy the code snippet\">Copy</div>\n          <div class=\"done-indicator done-indicator-65259066205900140000\">Copied</div>\n        </div>\n        <div class=\"gatsby-highlight\" data-language=\"json\"><pre class=\"language-json\"><code class=\"language-json\"><span class=\"token punctuation\">{</span>\n\t<span class=\"token property\">\"title\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"form\"</span><span class=\"token punctuation\">,</span>\n\t<span class=\"token property\">\"type\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"object\"</span><span class=\"token punctuation\">,</span>\n\t<span class=\"token property\">\"properties\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span><span class=\"token punctuation\">]</span>\n<span class=\"token punctuation\">}</span></code></pre></div>\n      </div>\n<p>For more information on handling extra customer data in the booking flow, check out the <a href=\"/api/booking-flow/customer/extra-customer-data/\">dedicated section</a>.</p>\n<h2 style=\"position:relative;\"><a href=\"#participant-info\" aria-label=\"participant info permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a><div class=\"hidden-anchor\" id=\"participant-info\"></div>Participant info</h2>\n<p>Participant info is asked <em>per person</em> in a booking, such as everyone's first and last names. Each field needs to be filled out once for each person in a booking, specifically for each product quantity in cart.</p>\n<p>When managing a booking, partners <em>must</em> use the <code class=\"language-text\">/carts/{cartUuid}/items/{cartItemUuid}//schema</code> endpoint to check for participant info. However, you can get a <em>preview of possible fields</em> for an activity by calling the following endpoint:</p>\n<div class=\"code-wrapper\">\n        <div class=\"gatsby-code-button-container\"\n             data-toaster-id=\"19752131310350210000\"\n             data-toaster-duration=\"1500\"\n             onClick=\"copyCodeToClipboard(`curl -X GET '{baseUrl}/activities/{activityUuid}/participants-info/schema' \\\\\n-H 'X-Musement-Application: {applicationValue}' \\\\\n-H 'X-Musement-Version: 3.4.0' \\\\\n-H 'Authorization: Bearer {accessToken}'`, `19752131310350210000`)\"\n        >\n          <div class=\"gatsby-code-button\" title=\"Copy the code snippet\">Copy</div>\n          <div class=\"done-indicator done-indicator-19752131310350210000\">Copied</div>\n        </div>\n        <div class=\"gatsby-highlight\" data-language=\"bash\"><pre class=\"language-bash\"><code class=\"language-bash\"><span class=\"token function\">curl</span> <span class=\"token parameter variable\">-X</span> GET <span class=\"token string\">'{baseUrl}/activities/{activityUuid}/participants-info/schema'</span> <span class=\"token punctuation\">\\</span>\n<span class=\"token parameter variable\">-H</span> <span class=\"token string\">'X-Musement-Application: {applicationValue}'</span> <span class=\"token punctuation\">\\</span>\n<span class=\"token parameter variable\">-H</span> <span class=\"token string\">'X-Musement-Version: 3.4.0'</span> <span class=\"token punctuation\">\\</span>\n<span class=\"token parameter variable\">-H</span> <span class=\"token string\">'Authorization: Bearer {accessToken}'</span></code></pre></div>\n      </div>\n<p>Similar to extra customer data, the response is a <a href=\"https://json-schema.org/\">JSON schema</a>. The <code class=\"language-text\">properties</code> property contains information needed from customers and the <code class=\"language-text\">required</code> property lists which fields are required.</p>\n<p>Each part of the <code class=\"language-text\">properties</code> property contains info on the expected value type and label to show customers. In the example response below, each participant is expected to provide their \"Date of birth\", submitted as a string with a standard date format (<code class=\"language-text\">YYYY-MM-DD</code>):</p>\n<div class=\"code-wrapper\">\n        <div class=\"gatsby-code-button-container\"\n             data-toaster-id=\"18460818881225170000\"\n             data-toaster-duration=\"1500\"\n             onClick=\"copyCodeToClipboard(`{\n\t&quot;title&quot;: &quot;participant&quot;,\n\t&quot;type&quot;: &quot;object&quot;,\n\t&quot;properties&quot;: {\n\t\t&quot;date_of_birth&quot;: {\n\t\t\t&quot;type&quot;: &quot;string&quot;,\n\t\t\t&quot;title&quot;: &quot;Date of birth&quot;,\n\t\t\t&quot;format&quot;: &quot;date&quot;,\n\t\t\t&quot;propertyOrder&quot;: 1\n\t\t}\n\t},\n\t&quot;required&quot;: [\n\t\t&quot;date_of_birth&quot;\n\t]\n}`, `18460818881225170000`)\"\n        >\n          <div class=\"gatsby-code-button\" title=\"Copy the code snippet\">Copy</div>\n          <div class=\"done-indicator done-indicator-18460818881225170000\">Copied</div>\n        </div>\n        <div class=\"gatsby-highlight\" data-language=\"json\"><pre class=\"language-json\"><code class=\"language-json\"><span class=\"token punctuation\">{</span>\n\t<span class=\"token property\">\"title\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"participant\"</span><span class=\"token punctuation\">,</span>\n\t<span class=\"token property\">\"type\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"object\"</span><span class=\"token punctuation\">,</span>\n\t<span class=\"token property\">\"properties\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n\t\t<span class=\"token property\">\"date_of_birth\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n\t\t\t<span class=\"token property\">\"type\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"string\"</span><span class=\"token punctuation\">,</span>\n\t\t\t<span class=\"token property\">\"title\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Date of birth\"</span><span class=\"token punctuation\">,</span>\n\t\t\t<span class=\"token property\">\"format\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"date\"</span><span class=\"token punctuation\">,</span>\n\t\t\t<span class=\"token property\">\"propertyOrder\"</span><span class=\"token operator\">:</span> <span class=\"token number\">1</span>\n\t\t<span class=\"token punctuation\">}</span>\n\t<span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n\t<span class=\"token property\">\"required\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span>\n\t\t<span class=\"token string\">\"date_of_birth\"</span>\n\t<span class=\"token punctuation\">]</span>\n<span class=\"token punctuation\">}</span></code></pre></div>\n      </div>\n<p>Activities without participant info will return a 404 status code:</p>\n<div class=\"code-wrapper\">\n        <div class=\"gatsby-code-button-container\"\n             data-toaster-id=\"49249451038243500000\"\n             data-toaster-duration=\"1500\"\n             onClick=\"copyCodeToClipboard(`{\n\t&quot;code&quot;: &quot;1400&quot;,\n\t&quot;message&quot;: &quot;The activity does not require any participant information&quot;\n}`, `49249451038243500000`)\"\n        >\n          <div class=\"gatsby-code-button\" title=\"Copy the code snippet\">Copy</div>\n          <div class=\"done-indicator done-indicator-49249451038243500000\">Copied</div>\n        </div>\n        <div class=\"gatsby-highlight\" data-language=\"json\"><pre class=\"language-json\"><code class=\"language-json\"><span class=\"token punctuation\">{</span>\n\t<span class=\"token property\">\"code\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"1400\"</span><span class=\"token punctuation\">,</span>\n\t<span class=\"token property\">\"message\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"The activity does not require any participant information\"</span>\n<span class=\"token punctuation\">}</span></code></pre></div>\n      </div>\n<p>For more information on handling participant info in the booking flow, check out the <a href=\"/api/booking-flow/customer/participant-info/\">dedicated section</a>.</p>","headings":[{"value":"Extra customer data and participant info","depth":1},{"value":"Extra customer data","depth":2},{"value":"Participant info","depth":2}]},"contentItem":{"data":{"lastModified":"2025-12-18T16:31:42.000Z","enableToc":null,"disableLastModified":null,"tocMaxDepth":null,"requestLogin":false}},"siteConfig":{"enableToc":false,"disableLastModified":false,"tocMaxDepth":4}},"pageContext":{"matchPath":"","id":"b743630b-c492-559e-bb40-8621c978bb44__redocly content/api/catalog/activities/extra-customer-data-and-participant-info/","seo":{"title":"Extra customer data and participant info","description":"Activities may request additional information in order to complete a booking via the Musement API.","image":"","keywords":null,"jsonLd":null,"lang":null,"siteUrl":null},"pageId":"api/catalog/activities/extra-customer-data-and-participant-info.md","pageBaseUrl":"/api/catalog/activities/extra-customer-data-and-participant-info","type":"markdown","toc":{"enable":true,"maxDepth":4,"headings":[{"depth":1,"value":"Extra customer data and participant info","id":"extra-customer-data-and-participant-info"},{"depth":2,"value":"Extra customer data","id":"extra-customer-data"},{"depth":2,"value":"Participant info","id":"participant-info"}]},"data":{"title":"","redirectFrom":["/guide/activities/extra-customer-data-and-participants-info/","/api/partner/catalog/activities/extra-customer-data-and-participants-info/","/api/partner/catalog/activities/extra-customer-data-and-participant-info/"],"seo":{"description":"Activities may request additional information in order to complete a booking via the Musement API."}},"catalogInfo":null,"link":"/api/catalog/activities/extra-customer-data-and-participant-info/","sidebarName":"__alternative-sidebar__-data-24763-api-sidebars.yaml","isLanding":false,"showPrevButton":null,"showNextButton":null,"apiVersions":null,"apiVersionId":null,"isDefaultApiVersion":null}},"staticQueryHashes":["1123603147","1302185487","1344209882","1398840060","1520077861","1975142765","2667623876","2950305614","3240152602","3743992808","561138138"]}