{"openapi":"3.0.1","info":{"title":"API","version":"1.0.0"},"paths":{"/api/authentication/account":{"get":{"tags":["Authentication"],"summary":"Get Signed In Account","description":"Retrieves metadata and settings related to the account associated with the API key used.","operationId":"get_account","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiUser"}}},"headers":{"X-Request-ID":{"schema":{"type":"string","format":"uuid"},"description":"Server-generated UUID corresponding to this specific response and its initiating request.","example":"123e4567-e89b-12d3-a456-426614174000"},"X-Correlation-ID":{"schema":{"type":"string","format":"uuid"},"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000"}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"},"example":{"request_id":"REQUEST123","detail":[{"type":"authentication_error.insufficient_permissions","msg":"Invalid API key - this API key does not have the required permissions to access this resource","loc":[]},{"type":"authentication_error.invalid_key","msg":"Invalid API key - this API key either does not exist or is invalid","loc":[]},{"type":"authentication_error.key_missing","msg":"An API key is required to access this endpoint","loc":[]}]}}},"headers":{"X-Request-ID":{"schema":{"type":"string","format":"uuid"},"description":"Server-generated UUID corresponding to this specific response and its initiating request.","example":"123e4567-e89b-12d3-a456-426614174000"},"X-Correlation-ID":{"schema":{"type":"string","format":"uuid"},"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000"}}}},"security":[{"APIKeyHeader":[]}],"parameters":[{"required":false,"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000","schema":{"type":"string"},"name":"X-Correlation-ID","in":"header"}]}},"/api/events/":{"get":{"tags":["Events"],"summary":"Search For Events","description":"Retrieves events from the Tickitto inventory.\n\nThe search endpoint is typically the first endpoint called to initiate an interaction with the Tickitto API and retrieves events within the date ranges specified.\n\nThe Tickitto inventory is availability aware. Therefore, at the time of performing a search query, all events returned will have availability instances for the date range specified.\n\nIf an event does not have any availability within the specified search date, it will not be returned in searches.\n\nThe search endpoint supports text search as well as filters for different event categories, cities, countries, performers and more to create a powerful contextual search experience.\n\nThe default timespan is 14 days.\n\nThe endpoint supports pagination via the `skip` and `limit` parameters and the returned `X-Total-Count` header.","operationId":"search_events","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"t1","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"description":"Start of the date range in which returned events should have availability. Defaults to today.","examples":["2027-02-23"],"title":"T1"},"description":"Start of the date range in which returned events should have availability. Defaults to today."},{"name":"t2","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"description":"End of the date range in which returned events should have availability. Defaults to 14 days from now.","examples":["2027-08-27"],"title":"T2"},"description":"End of the date range in which returned events should have availability. Defaults to 14 days from now."},{"name":"category","in":"query","required":false,"schema":{"type":"array","items":{"type":"string"},"description":"Category or categories to restrict query to.","examples":[["Sports","Bus Tours","Attractions","Family-Friendly"]],"default":[],"title":"Category"},"description":"Category or categories to restrict query to."},{"name":"city","in":"query","required":false,"schema":{"type":"array","items":{"type":"string"},"description":"City or cities to restrict query to.","examples":[["Berlin","Dubai","London"]],"default":[],"title":"City"},"description":"City or cities to restrict query to."},{"name":"state","in":"query","required":false,"schema":{"type":"array","items":{"type":"string"},"description":"State or states to restrict query to.","examples":[["Virginia","California","Texas"]],"default":[],"title":"State"},"description":"State or states to restrict query to."},{"name":"region","in":"query","required":false,"schema":{"type":"array","items":{"type":"string"},"description":"Region or regions to restrict the query to.","examples":[["Derbyshire","Umm Al-Quwain"]],"default":[],"title":"Region"},"description":"Region or regions to restrict the query to."},{"name":"country","in":"query","required":false,"schema":{"type":"array","items":{"type":"string"},"description":"Countries to restrict query to.","examples":[["United Arab Emirates","United Kingdom","Germany"]],"default":[],"title":"Country"},"description":"Countries to restrict query to."},{"name":"country_code","in":"query","required":false,"schema":{"type":"array","items":{"type":"string","minLength":2,"maxLength":2,"pattern":"[A-Z][A-Z]"},"description":"Two-letter ISO country codes to restrict query to.","examples":[["AE","GB","DE"]],"default":[],"title":"Country Code"},"description":"Two-letter ISO country codes to restrict query to."},{"name":"performer","in":"query","required":false,"schema":{"type":"array","items":{"type":"string"},"description":"Performers to restrict query to.","default":[],"title":"Performer"},"description":"Performers to restrict query to."},{"name":"venue","in":"query","required":false,"schema":{"type":"array","items":{"type":"string"},"description":"Venues to restrict query to.","default":[],"title":"Venue"},"description":"Venues to restrict query to."},{"name":"event_type","in":"query","required":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/EventType"},"description":"Event types to restrict the query to.","default":[],"title":"Event Type"},"description":"Event types to restrict the query to."},{"name":"min_price","in":"query","required":false,"schema":{"anyOf":[{"type":"number","minimum":0.0},{"type":"number"},{"type":"null"}],"description":"The minimum price to restrict the query to.","title":"Min Price"},"description":"The minimum price to restrict the query to."},{"name":"max_price","in":"query","required":false,"schema":{"anyOf":[{"type":"number","exclusiveMinimum":0.0},{"type":"number"},{"type":"null"}],"description":"The maximum price to restrict the query to.","title":"Max Price"},"description":"The maximum price to restrict the query to."},{"name":"currency","in":"query","required":false,"schema":{"type":"string","description":"Currency to both display event prices and to restrict the min/max price query to.","default":"GBP","title":"Currency"},"description":"Currency to both display event prices and to restrict the min/max price query to."},{"name":"text","in":"query","required":false,"schema":{"type":"string","description":"Text to perform a search of events with.","examples":["marina dinner cruise"],"default":"","title":"Text"},"description":"Text to perform a search of events with."},{"name":"range","in":"query","required":false,"schema":{"type":"integer","minimum":0,"description":"Maximum distance from the requested city or cities, in km.","default":0,"title":"Range"},"description":"Maximum distance from the requested city or cities, in km."},{"name":"skip","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":0},{"type":"null"}],"description":"Number of results to skip for pagination; see also `limit` and the `X-Total-Count` response header.","title":"Skip"},"description":"Number of results to skip for pagination; see also `limit` and the `X-Total-Count` response header."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"exclusiveMinimum":0,"description":"Number of results to return for pagination; see also `skip` and the `X-Total-Count` response header.","default":100,"title":"Limit"},"description":"Number of results to return for pagination; see also `skip` and the `X-Total-Count` response header."},{"name":"partial_match","in":"query","required":false,"schema":{"type":"boolean","description":"Perform partial/substring text matching, includes fuzzy search (max 1 character change)","default":false,"title":"Partial Match"},"description":"Perform partial/substring text matching, includes fuzzy search (max 1 character change)"},{"name":"sort_by","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/ResultSort"},{"type":"null"}],"description":"Sort order to use.If not specified, the default sort order is textual relevance if applicable, else geographical distance if applicable, else an arbitrary stable order.","title":"Sort By"},"description":"Sort order to use.If not specified, the default sort order is textual relevance if applicable, else geographical distance if applicable, else an arbitrary stable order."},{"name":"event_ids","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"description":"List of event IDs to retrieve.","examples":[["T849","T850"]],"title":"Event Ids"},"description":"List of event IDs to retrieve."},{"name":"should_raise","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Should Raise"}},{"name":"profile_name","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Profile name","title":"Profile Name"},"description":"Profile name"},{"name":"hostname","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Associated hostname","title":"Hostname"},"description":"Associated hostname"},{"name":"accept-language","in":"header","required":false,"schema":{"type":"string","default":"en","title":"Accept-Language"}},{"name":"origin","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Origin"}},{"required":false,"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000","schema":{"type":"string"},"name":"X-Correlation-ID","in":"header"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/APIEvent"},"title":"Response Search Events"}}},"headers":{"X-Total-Count":{"schema":{"type":"integer"},"description":"The total number of events that exist for this query, ignoring pagination."},"X-Request-ID":{"schema":{"type":"string","format":"uuid"},"description":"Server-generated UUID corresponding to this specific response and its initiating request.","example":"123e4567-e89b-12d3-a456-426614174000"},"X-Correlation-ID":{"schema":{"type":"string","format":"uuid"},"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000"}}},"401":{"content":{"application/json":{"example":{"request_id":"REQUEST123","detail":[{"type":"authentication_error.insufficient_permissions","msg":"Invalid API key - this API key does not have the required permissions to access this resource","loc":[]},{"type":"authentication_error.invalid_key","msg":"Invalid API key - this API key either does not exist or is invalid","loc":[]},{"type":"authentication_error.key_missing","msg":"An API key is required to access this endpoint","loc":[]}]},"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"description":"Unauthorized","headers":{"X-Request-ID":{"schema":{"type":"string","format":"uuid"},"description":"Server-generated UUID corresponding to this specific response and its initiating request.","example":"123e4567-e89b-12d3-a456-426614174000"},"X-Correlation-ID":{"schema":{"type":"string","format":"uuid"},"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000"}}},"404":{"content":{"application/json":{"example":{"request_id":"REQUEST123","detail":[{"type":"event_error.event_not_found","msg":"The requested event could not be found","loc":[]}]},"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"description":"Not Found","headers":{"X-Request-ID":{"schema":{"type":"string","format":"uuid"},"description":"Server-generated UUID corresponding to this specific response and its initiating request.","example":"123e4567-e89b-12d3-a456-426614174000"},"X-Correlation-ID":{"schema":{"type":"string","format":"uuid"},"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000"}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"headers":{"X-Request-ID":{"schema":{"type":"string","format":"uuid"},"description":"Server-generated UUID corresponding to this specific response and its initiating request.","example":"123e4567-e89b-12d3-a456-426614174000"},"X-Correlation-ID":{"schema":{"type":"string","format":"uuid"},"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000"}}}}}},"/api/events/{event_id}":{"get":{"tags":["Events"],"summary":"Get Event By Id","description":"This endpoint can be used to retrieve an event by its ID. You will need to pass the event_id as a URL parameter.","operationId":"get_event","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"event_id","in":"path","required":true,"schema":{"type":"string","title":"Event Id"}},{"name":"currency","in":"query","required":false,"schema":{"type":"string","description":"Currency to display event prices.","default":"GBP","title":"Currency"},"description":"Currency to display event prices."},{"name":"should_raise","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Should Raise"}},{"name":"profile_name","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Profile name","title":"Profile Name"},"description":"Profile name"},{"name":"hostname","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Associated hostname","title":"Hostname"},"description":"Associated hostname"},{"name":"accept-language","in":"header","required":false,"schema":{"type":"string","default":"en","title":"Accept-Language"}},{"name":"origin","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Origin"}},{"required":false,"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000","schema":{"type":"string"},"name":"X-Correlation-ID","in":"header"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/APIEvent"}}},"headers":{"X-Request-ID":{"schema":{"type":"string","format":"uuid"},"description":"Server-generated UUID corresponding to this specific response and its initiating request.","example":"123e4567-e89b-12d3-a456-426614174000"},"X-Correlation-ID":{"schema":{"type":"string","format":"uuid"},"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000"}}},"401":{"content":{"application/json":{"example":{"request_id":"REQUEST123","detail":[{"type":"authentication_error.insufficient_permissions","msg":"Invalid API key - this API key does not have the required permissions to access this resource","loc":[]},{"type":"authentication_error.invalid_key","msg":"Invalid API key - this API key either does not exist or is invalid","loc":[]},{"type":"authentication_error.key_missing","msg":"An API key is required to access this endpoint","loc":[]}]},"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"description":"Unauthorized","headers":{"X-Request-ID":{"schema":{"type":"string","format":"uuid"},"description":"Server-generated UUID corresponding to this specific response and its initiating request.","example":"123e4567-e89b-12d3-a456-426614174000"},"X-Correlation-ID":{"schema":{"type":"string","format":"uuid"},"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000"}}},"404":{"content":{"application/json":{"example":{"request_id":"REQUEST123","detail":[{"type":"event_error.event_not_found","msg":"The requested event could not be found","loc":[]}]},"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"description":"Not Found","headers":{"X-Request-ID":{"schema":{"type":"string","format":"uuid"},"description":"Server-generated UUID corresponding to this specific response and its initiating request.","example":"123e4567-e89b-12d3-a456-426614174000"},"X-Correlation-ID":{"schema":{"type":"string","format":"uuid"},"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000"}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"headers":{"X-Request-ID":{"schema":{"type":"string","format":"uuid"},"description":"Server-generated UUID corresponding to this specific response and its initiating request.","example":"123e4567-e89b-12d3-a456-426614174000"},"X-Correlation-ID":{"schema":{"type":"string","format":"uuid"},"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000"}}}}}},"/api/search/":{"get":{"tags":["Search"],"summary":"Search For Events","description":"Searches for events from the Tickitto inventory and provides additional metadata about the search result. \n\nThe search endpoint is meant for use with the Tickitto website. \n\nThe search endpoint supports text search as well as filters for different event categories, cities, or countries to create a powerful contextual search experience. \n\nThe endpoint supports pagination via the `skip` and `limit` parameters and the returned `X-Total-Count` header.","operationId":"search","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"t1","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"description":"Start of the date range in which returned events should have availability. Defaults to today.","examples":["2027-02-23"],"title":"T1"},"description":"Start of the date range in which returned events should have availability. Defaults to today."},{"name":"t2","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"description":"End of the date range in which returned events should have availability. Defaults to 14 days from now.","examples":["2027-08-27"],"title":"T2"},"description":"End of the date range in which returned events should have availability. Defaults to 14 days from now."},{"name":"category","in":"query","required":false,"schema":{"type":"array","items":{"type":"string"},"description":"Category or categories to restrict query to.","examples":[["Sports","Bus Tours","Attractions","Family-Friendly"]],"default":[],"title":"Category"},"description":"Category or categories to restrict query to."},{"name":"city","in":"query","required":false,"schema":{"type":"array","items":{"type":"string"},"description":"City or cities to restrict query to.","examples":[["Berlin","Dubai","London"]],"default":[],"title":"City"},"description":"City or cities to restrict query to."},{"name":"state","in":"query","required":false,"schema":{"type":"array","items":{"type":"string"},"description":"State or states to restrict query to.","examples":[["Virginia","California","Texas"]],"default":[],"title":"State"},"description":"State or states to restrict query to."},{"name":"region","in":"query","required":false,"schema":{"type":"array","items":{"type":"string"},"description":"Region or regions to restrict the query to.","examples":[["Derbyshire","Umm Al-Quwain"]],"default":[],"title":"Region"},"description":"Region or regions to restrict the query to."},{"name":"country","in":"query","required":false,"schema":{"type":"array","items":{"type":"string"},"description":"Countries to restrict query to.","examples":[["United Arab Emirates","United Kingdom","Germany"]],"default":[],"title":"Country"},"description":"Countries to restrict query to."},{"name":"country_code","in":"query","required":false,"schema":{"type":"array","items":{"type":"string","minLength":2,"maxLength":2,"pattern":"[A-Z][A-Z]"},"description":"Two-letter ISO country codes to restrict query to.","examples":[["AE","GB","DE"]],"default":[],"title":"Country Code"},"description":"Two-letter ISO country codes to restrict query to."},{"name":"performer","in":"query","required":false,"schema":{"type":"array","items":{"type":"string"},"description":"Performers to restrict query to.","default":[],"title":"Performer"},"description":"Performers to restrict query to."},{"name":"venue","in":"query","required":false,"schema":{"type":"array","items":{"type":"string"},"description":"Venues to restrict query to.","default":[],"title":"Venue"},"description":"Venues to restrict query to."},{"name":"event_type","in":"query","required":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/EventType"},"description":"Event types to restrict the query to.","default":[],"title":"Event Type"},"description":"Event types to restrict the query to."},{"name":"min_price","in":"query","required":false,"schema":{"anyOf":[{"type":"number","minimum":0.0},{"type":"number"},{"type":"null"}],"description":"The minimum price to restrict the query to.","title":"Min Price"},"description":"The minimum price to restrict the query to."},{"name":"max_price","in":"query","required":false,"schema":{"anyOf":[{"type":"number","exclusiveMinimum":0.0},{"type":"number"},{"type":"null"}],"description":"The maximum price to restrict the query to.","title":"Max Price"},"description":"The maximum price to restrict the query to."},{"name":"currency","in":"query","required":false,"schema":{"anyOf":[{"type":"string","minLength":3,"maxLength":3,"pattern":"[A-Z][A-Z][A-Z]"},{"type":"null"}],"description":"The min/max price currency to use when using price-based query restrictions","title":"Currency"},"description":"The min/max price currency to use when using price-based query restrictions"},{"name":"text","in":"query","required":false,"schema":{"type":"string","description":"Text to perform a search of events with.","examples":["marina dinner cruise"],"default":"","title":"Text"},"description":"Text to perform a search of events with."},{"name":"partial_match","in":"query","required":false,"schema":{"type":"boolean","description":"Perform partial/substring text matching, includes fuzzy search (max 1 character change). Algolia search always performs partial/substring text matching.","default":false,"title":"Partial Match"},"description":"Perform partial/substring text matching, includes fuzzy search (max 1 character change). Algolia search always performs partial/substring text matching."},{"name":"skip","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":0},{"type":"null"}],"description":"Number of results to skip for pagination; see also `limit` and the `X-Total-Count` response header.","default":0,"title":"Skip"},"description":"Number of results to skip for pagination; see also `limit` and the `X-Total-Count` response header."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"exclusiveMinimum":0,"description":"Number of results to return for pagination; see also `skip` and the `X-Total-Count` response header.","default":100,"title":"Limit"},"description":"Number of results to return for pagination; see also `skip` and the `X-Total-Count` response header."},{"name":"sort_by","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/ResultSort"},{"type":"null"}],"description":"Sort order to use.If not specified, the default sort order is textual relevance if applicable, else geographical distance if applicable, else an arbitrary stable order.","title":"Sort By"},"description":"Sort order to use.If not specified, the default sort order is textual relevance if applicable, else geographical distance if applicable, else an arbitrary stable order."},{"name":"event_ids","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"description":"List of event IDs to retrieve.","examples":[["T849","T850"]],"title":"Event Ids"},"description":"List of event IDs to retrieve."},{"name":"should_raise","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Should Raise"}},{"name":"profile_name","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Profile name","title":"Profile Name"},"description":"Profile name"},{"name":"hostname","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Associated hostname","title":"Hostname"},"description":"Associated hostname"},{"name":"accept-language","in":"header","required":false,"schema":{"type":"string","default":"en","title":"Accept-Language"}},{"name":"origin","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Origin"}},{"required":false,"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000","schema":{"type":"string"},"name":"X-Correlation-ID","in":"header"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchResults"}}},"headers":{"X-Total-Count":{"schema":{"type":"integer"},"description":"The total number of events that exist for this query, ignoring pagination."},"X-Request-ID":{"schema":{"type":"string","format":"uuid"},"description":"Server-generated UUID corresponding to this specific response and its initiating request.","example":"123e4567-e89b-12d3-a456-426614174000"},"X-Correlation-ID":{"schema":{"type":"string","format":"uuid"},"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000"}}},"401":{"content":{"application/json":{"example":{"request_id":"REQUEST123","detail":[{"type":"authentication_error.insufficient_permissions","msg":"Invalid API key - this API key does not have the required permissions to access this resource","loc":[]},{"type":"authentication_error.invalid_key","msg":"Invalid API key - this API key either does not exist or is invalid","loc":[]},{"type":"authentication_error.key_missing","msg":"An API key is required to access this endpoint","loc":[]}]},"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"description":"Unauthorized","headers":{"X-Request-ID":{"schema":{"type":"string","format":"uuid"},"description":"Server-generated UUID corresponding to this specific response and its initiating request.","example":"123e4567-e89b-12d3-a456-426614174000"},"X-Correlation-ID":{"schema":{"type":"string","format":"uuid"},"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000"}}},"404":{"content":{"application/json":{"example":{"request_id":"REQUEST123","detail":[{"type":"event_error.event_not_found","msg":"The requested event could not be found","loc":[]}]},"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"description":"Not Found","headers":{"X-Request-ID":{"schema":{"type":"string","format":"uuid"},"description":"Server-generated UUID corresponding to this specific response and its initiating request.","example":"123e4567-e89b-12d3-a456-426614174000"},"X-Correlation-ID":{"schema":{"type":"string","format":"uuid"},"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000"}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"headers":{"X-Request-ID":{"schema":{"type":"string","format":"uuid"},"description":"Server-generated UUID corresponding to this specific response and its initiating request.","example":"123e4567-e89b-12d3-a456-426614174000"},"X-Correlation-ID":{"schema":{"type":"string","format":"uuid"},"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000"}}}}}},"/api/search/autocomplete":{"get":{"tags":["Search"],"summary":"Get Search Autocomplete","operationId":"search_autocomplete","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"text","in":"query","required":true,"schema":{"type":"string","description":"Text to perform a search of events with. Searches event title, city, and performer names.","examples":["Lond"],"title":"Text"},"description":"Text to perform a search of events with. Searches event title, city, and performer names."},{"name":"skip","in":"query","required":false,"schema":{"type":"integer","minimum":0,"description":"Number of results to skip for pagination; see also `limit` and the `X-Total-Count` response header.","default":0,"title":"Skip"},"description":"Number of results to skip for pagination; see also `limit` and the `X-Total-Count` response header."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"exclusiveMinimum":0,"description":"Number of results to return for pagination; see also `skip` and the `X-Total-Count` response header.","default":100,"title":"Limit"},"description":"Number of results to return for pagination; see also `skip` and the `X-Total-Count` response header."},{"name":"profile_name","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Profile name","title":"Profile Name"},"description":"Profile name"},{"name":"hostname","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Associated hostname","title":"Hostname"},"description":"Associated hostname"},{"name":"origin","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Origin"}},{"required":false,"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000","schema":{"type":"string"},"name":"X-Correlation-ID","in":"header"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AutocompleteResults"}}},"headers":{"X-Request-ID":{"schema":{"type":"string","format":"uuid"},"description":"Server-generated UUID corresponding to this specific response and its initiating request.","example":"123e4567-e89b-12d3-a456-426614174000"},"X-Correlation-ID":{"schema":{"type":"string","format":"uuid"},"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000"}}},"401":{"content":{"application/json":{"example":{"request_id":"REQUEST123","detail":[{"type":"authentication_error.insufficient_permissions","msg":"Invalid API key - this API key does not have the required permissions to access this resource","loc":[]},{"type":"authentication_error.invalid_key","msg":"Invalid API key - this API key either does not exist or is invalid","loc":[]},{"type":"authentication_error.key_missing","msg":"An API key is required to access this endpoint","loc":[]}]},"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"description":"Unauthorized","headers":{"X-Request-ID":{"schema":{"type":"string","format":"uuid"},"description":"Server-generated UUID corresponding to this specific response and its initiating request.","example":"123e4567-e89b-12d3-a456-426614174000"},"X-Correlation-ID":{"schema":{"type":"string","format":"uuid"},"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000"}}},"404":{"content":{"application/json":{"example":{"request_id":"REQUEST123","detail":[{"type":"event_error.event_not_found","msg":"The requested event could not be found","loc":[]}]},"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"description":"Not Found","headers":{"X-Request-ID":{"schema":{"type":"string","format":"uuid"},"description":"Server-generated UUID corresponding to this specific response and its initiating request.","example":"123e4567-e89b-12d3-a456-426614174000"},"X-Correlation-ID":{"schema":{"type":"string","format":"uuid"},"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000"}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"headers":{"X-Request-ID":{"schema":{"type":"string","format":"uuid"},"description":"Server-generated UUID corresponding to this specific response and its initiating request.","example":"123e4567-e89b-12d3-a456-426614174000"},"X-Correlation-ID":{"schema":{"type":"string","format":"uuid"},"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000"}}}}}},"/api/metadata/":{"get":{"tags":["Metadata"],"summary":"Get Metadata","description":"Returns metadata describing the possible event locations and categories and any images or other information associated with them.","operationId":"get_metadata","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"include_empty","in":"query","required":false,"schema":{"type":"boolean","description":"If true, includes all locations and categories, even if they have no events. Note that this will significantly increase response size.","default":false,"title":"Include Empty"},"description":"If true, includes all locations and categories, even if they have no events. Note that this will significantly increase response size."},{"name":"filter_children","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Filter Children"}},{"name":"profile_name","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Profile name","title":"Profile Name"},"description":"Profile name"},{"name":"hostname","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Associated hostname","title":"Hostname"},"description":"Associated hostname"},{"name":"should_raise","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Should Raise"}},{"name":"origin","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Origin"}},{"name":"accept-language","in":"header","required":false,"schema":{"type":"string","default":"en","title":"Accept-Language"}},{"required":false,"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000","schema":{"type":"string"},"name":"X-Correlation-ID","in":"header"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Metadata"}}},"headers":{"X-Request-ID":{"schema":{"type":"string","format":"uuid"},"description":"Server-generated UUID corresponding to this specific response and its initiating request.","example":"123e4567-e89b-12d3-a456-426614174000"},"X-Correlation-ID":{"schema":{"type":"string","format":"uuid"},"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000"}}},"401":{"content":{"application/json":{"example":{"request_id":"REQUEST123","detail":[{"type":"authentication_error.insufficient_permissions","msg":"Invalid API key - this API key does not have the required permissions to access this resource","loc":[]},{"type":"authentication_error.invalid_key","msg":"Invalid API key - this API key either does not exist or is invalid","loc":[]},{"type":"authentication_error.key_missing","msg":"An API key is required to access this endpoint","loc":[]}]},"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"description":"Unauthorized","headers":{"X-Request-ID":{"schema":{"type":"string","format":"uuid"},"description":"Server-generated UUID corresponding to this specific response and its initiating request.","example":"123e4567-e89b-12d3-a456-426614174000"},"X-Correlation-ID":{"schema":{"type":"string","format":"uuid"},"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000"}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"headers":{"X-Request-ID":{"schema":{"type":"string","format":"uuid"},"description":"Server-generated UUID corresponding to this specific response and its initiating request.","example":"123e4567-e89b-12d3-a456-426614174000"},"X-Correlation-ID":{"schema":{"type":"string","format":"uuid"},"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000"}}}}}},"/api/availability/":{"get":{"tags":["Availability"],"summary":"Fetch Availability For An Event","description":"This endpoint returns a URL to Tickitto's Ticket Selection Widget for the event being searched.\n\nThe Widgets are availability aware and load in real-time what seats, dates, and times are available to be selected for that event.\n\nAny additional selection required for add ons, pickup points, or concessions will be displayed in the Widget.\n\nYou will need to pass the event_id and a basket_id with this endpoint. To generate a basket_id, you will need to first create a basket by making a POST request to the create\nbasket endpoint.\n\nWhen the ticket buyer selects a ticket via the Widget, they will then need to invoke the 'add to basket' action. This action will add the chosen ticket(s) to the basket_id\nassociated with that widget URL.","operationId":"get_availability","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"event_id","in":"query","required":true,"schema":{"type":"string","title":"Event Id"}},{"name":"basket_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"REQUIRED FOR A VALID BOOKING FLOW. The ID of the basket associated with the current session. Only optional if you do not intend to add tickets to a basket using this availability session.","title":"Basket Id"},"description":"REQUIRED FOR A VALID BOOKING FLOW. The ID of the basket associated with the current session. Only optional if you do not intend to add tickets to a basket using this availability session."},{"name":"allow_cache","in":"query","required":false,"schema":{"type":"boolean","description":"If true, allows reusing results which are up to 300.0 seconds old.The session is returned much faster but may contain old availabilities.","default":false,"title":"Allow Cache"},"description":"If true, allows reusing results which are up to 300.0 seconds old.The session is returned much faster but may contain old availabilities."},{"name":"t1","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"description":"Inclusive start of the date range from which to fetch initial availabilities.","title":"T1"},"description":"Inclusive start of the date range from which to fetch initial availabilities."},{"name":"t2","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"description":"Inclusive end of the date range from which to fetch initial availabilities.","title":"T2"},"description":"Inclusive end of the date range from which to fetch initial availabilities."},{"name":"profile_name","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Profile name","title":"Profile Name"},"description":"Profile name"},{"name":"hostname","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Associated hostname","title":"Hostname"},"description":"Associated hostname"},{"name":"origin","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Origin"}},{"required":false,"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000","schema":{"type":"string"},"name":"X-Correlation-ID","in":"header"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SessionObject"}}},"headers":{"X-Request-ID":{"schema":{"type":"string","format":"uuid"},"description":"Server-generated UUID corresponding to this specific response and its initiating request.","example":"123e4567-e89b-12d3-a456-426614174000"},"X-Correlation-ID":{"schema":{"type":"string","format":"uuid"},"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000"}}},"401":{"content":{"application/json":{"example":{"request_id":"REQUEST123","detail":[{"type":"authentication_error.insufficient_permissions","msg":"Invalid API key - this API key does not have the required permissions to access this resource","loc":[]},{"type":"authentication_error.invalid_key","msg":"Invalid API key - this API key either does not exist or is invalid","loc":[]},{"type":"authentication_error.key_missing","msg":"An API key is required to access this endpoint","loc":[]}]},"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"description":"Unauthorized","headers":{"X-Request-ID":{"schema":{"type":"string","format":"uuid"},"description":"Server-generated UUID corresponding to this specific response and its initiating request.","example":"123e4567-e89b-12d3-a456-426614174000"},"X-Correlation-ID":{"schema":{"type":"string","format":"uuid"},"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000"}}},"404":{"content":{"application/json":{"example":{"request_id":"REQUEST123","detail":[{"type":"availability_error.performance_not_found","msg":"The requested performance could not be found","loc":[]},{"type":"availability_error.basket_not_found","msg":"The requested basket could not be found","loc":[]},{"type":"availability_error.event_not_found","msg":"The requested event could not be found","loc":[]},{"type":"availability_error.flow_not_found","msg":"No active flow was found for the requested session","loc":[]},{"type":"availability_error.session_not_found","msg":"The requested availability session could not be found","loc":[]}]},"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"description":"Not Found","headers":{"X-Request-ID":{"schema":{"type":"string","format":"uuid"},"description":"Server-generated UUID corresponding to this specific response and its initiating request.","example":"123e4567-e89b-12d3-a456-426614174000"},"X-Correlation-ID":{"schema":{"type":"string","format":"uuid"},"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000"}}},"409":{"content":{"application/json":{"example":{"request_id":"REQUEST123","detail":[{"type":"availability_error.status_conflict","msg":"The basket's status prevented the request from being fulfilled","loc":[]}]},"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"description":"Conflict","headers":{"X-Request-ID":{"schema":{"type":"string","format":"uuid"},"description":"Server-generated UUID corresponding to this specific response and its initiating request.","example":"123e4567-e89b-12d3-a456-426614174000"},"X-Correlation-ID":{"schema":{"type":"string","format":"uuid"},"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000"}}},"410":{"content":{"application/json":{"example":{"request_id":"REQUEST123","detail":[{"type":"availability_error.event_gone","msg":"The requested event is no longer available","loc":[]},{"type":"availability_error.availability_gone","msg":"The requested event is no longer available for reservation","loc":[]}]},"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"description":"Gone","headers":{"X-Request-ID":{"schema":{"type":"string","format":"uuid"},"description":"Server-generated UUID corresponding to this specific response and its initiating request.","example":"123e4567-e89b-12d3-a456-426614174000"},"X-Correlation-ID":{"schema":{"type":"string","format":"uuid"},"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000"}}},"500":{"content":{"application/json":{"example":{"request_id":"REQUEST123","detail":[{"type":"availability_error.flow_error","msg":"The availability flow failed permanently","loc":[]},{"type":"availability_error.session_errored","msg":"The availability session could not be initialised","loc":[]}]},"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"description":"Internal Server Error","headers":{"X-Request-ID":{"schema":{"type":"string","format":"uuid"},"description":"Server-generated UUID corresponding to this specific response and its initiating request.","example":"123e4567-e89b-12d3-a456-426614174000"},"X-Correlation-ID":{"schema":{"type":"string","format":"uuid"},"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000"}}},"400":{"content":{"application/json":{"example":{"request_id":"REQUEST123","detail":[{"type":"availability_error.flow_not_supported","msg":"Flow is not supported for this availability","loc":[]}]},"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"description":"Bad Request","headers":{"X-Request-ID":{"schema":{"type":"string","format":"uuid"},"description":"Server-generated UUID corresponding to this specific response and its initiating request.","example":"123e4567-e89b-12d3-a456-426614174000"},"X-Correlation-ID":{"schema":{"type":"string","format":"uuid"},"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000"}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"headers":{"X-Request-ID":{"schema":{"type":"string","format":"uuid"},"description":"Server-generated UUID corresponding to this specific response and its initiating request.","example":"123e4567-e89b-12d3-a456-426614174000"},"X-Correlation-ID":{"schema":{"type":"string","format":"uuid"},"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000"}}}}}},"/api/basket/":{"post":{"tags":["Basket"],"summary":"Create Basket","description":"This endpoint is used to create a basket with a unique `basket_id`.\n\nThe basket_id needs to be passed to the availability endpoint to generate a URL for Tickitto's Ticket Selection Widget.\n\nBasket_ids are anonymous and not associated with a specific ticket buyer; only at the checkout endpoint do you need to pass user specific data.\n\nEach basket_id you generate with your API Key will be associated with your distributor_id so that ticket transactions occurring on your platform are recorded accurately on your\nTickitto commission tracking dashboard.\n\nYou do not need to pass a URL parameter with this endpoint.","operationId":"create_basket","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"payment_method_type","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/PaymentMethodType"},{"type":"null"}],"description":"Payment method type to use for the basket. 'tickitto': on-account credit, distributor as MoR. 'stripe': Tickitto is MoR","title":"Payment Method Type"},"description":"Payment method type to use for the basket. 'tickitto': on-account credit, distributor as MoR. 'stripe': Tickitto is MoR"},{"name":"currency","in":"query","required":false,"schema":{"type":"string","description":"Currency to display event prices.","default":"GBP","title":"Currency"},"description":"Currency to display event prices."},{"name":"use_stripe_rate","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"description":"Whether to use the Stripe FXQuote exchange rate and total_local_price.","default":false,"title":"Use Stripe Rate"},"description":"Whether to use the Stripe FXQuote exchange rate and total_local_price."},{"name":"profile_name","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Profile name","title":"Profile Name"},"description":"Profile name"},{"name":"hostname","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Associated hostname","title":"Hostname"},"description":"Associated hostname"},{"name":"should_raise","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Should Raise"}},{"name":"origin","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Origin"}},{"name":"accept-language","in":"header","required":false,"schema":{"type":"string","default":"en","title":"Accept-Language"}},{"required":false,"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000","schema":{"type":"string"},"name":"X-Correlation-ID","in":"header"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Basket"}}},"headers":{"X-Request-ID":{"schema":{"type":"string","format":"uuid"},"description":"Server-generated UUID corresponding to this specific response and its initiating request.","example":"123e4567-e89b-12d3-a456-426614174000"},"X-Correlation-ID":{"schema":{"type":"string","format":"uuid"},"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000"}}},"401":{"content":{"application/json":{"example":{"request_id":"REQUEST123","detail":[{"type":"authentication_error.insufficient_permissions","msg":"Invalid API key - this API key does not have the required permissions to access this resource","loc":[]},{"type":"authentication_error.invalid_key","msg":"Invalid API key - this API key either does not exist or is invalid","loc":[]},{"type":"authentication_error.key_missing","msg":"An API key is required to access this endpoint","loc":[]}]},"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"description":"Unauthorized","headers":{"X-Request-ID":{"schema":{"type":"string","format":"uuid"},"description":"Server-generated UUID corresponding to this specific response and its initiating request.","example":"123e4567-e89b-12d3-a456-426614174000"},"X-Correlation-ID":{"schema":{"type":"string","format":"uuid"},"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000"}}},"404":{"content":{"application/json":{"example":{"request_id":"REQUEST123","detail":[{"type":"reservation_error.product_band_not_found","msg":"The requested product band could not be found","loc":[]},{"type":"reservation_error.basket_not_found","msg":"The requested basket could not be found","loc":[]},{"type":"reservation_error.baskets_not_found","msg":"The requested baskets could not be found","loc":[]},{"type":"reservation_error.concession_not_found","msg":"The requested concession could not be found","loc":[],"payload":{"id":"ID123"}},{"type":"reservation_error.event_not_found","msg":"The requested event could not be found","loc":[]},{"type":"basket_error.item_not_found","msg":"The requested basket item could not be found","loc":[]},{"type":"reservation_error.option_not_found","msg":"The requested option could not be found","loc":[]},{"type":"reservation_error.option_value_not_found","msg":"The requested option value could not be found","loc":[]},{"type":"reservation_error.performance_not_found","msg":"The requested performance could not be found","loc":[]},{"type":"reservation_error.product_not_found","msg":"The requested product could not be found","loc":[]},{"type":"basket_error.promocode_not_applied","msg":"That promotional code has not been applied to your basket","loc":[]},{"type":"basket_error.promocode_not_found","msg":"A promotional code corresponding to that code could not be found","loc":[]},{"type":"reservation_error.seats_not_found","msg":"The requested seats could not be found","loc":[]},{"type":"basket_error.session_not_found","msg":"The requested availability session could not be found","loc":[]}]},"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"description":"Not Found","headers":{"X-Request-ID":{"schema":{"type":"string","format":"uuid"},"description":"Server-generated UUID corresponding to this specific response and its initiating request.","example":"123e4567-e89b-12d3-a456-426614174000"},"X-Correlation-ID":{"schema":{"type":"string","format":"uuid"},"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000"}}},"409":{"content":{"application/json":{"example":{"request_id":"REQUEST123","detail":[{"type":"basket_error.status_conflict","msg":"Your basket has either been checked out or is currently being checked out and can no longer be changed","loc":[]},{"type":"basket_error.status_conflict","msg":"Your basket has not been checked out, preventing the request from being fulfilled.","loc":[]},{"type":"basket_error.not_processable","msg":"Your basket is not currently in a status that allows it to be processed","loc":[]},{"type":"basket_error.status_conflict","msg":"The basket's status prevented the request from being fulfilled","loc":[]},{"type":"basket_error.flow_incomplete","msg":"Flow incomplete","loc":[]},{"type":"basket_error.flow_mismatch","msg":"Request body does not match flow state","loc":[]},{"type":"basket_error.item_status_conflict","msg":"The basket item's status prevented the request from being fulfilled","loc":[]},{"type":"basket_error.price_mismatch","msg":"Amount paid does not match basket price","loc":[]},{"type":"basket_error.promocode_already_applied","msg":"There is already a promocode applied to your basket","loc":[]},{"type":"basket_error.promocode_redeemed","msg":"Discount code already redeemed","loc":[]},{"type":"basket_error.apply_promocode_failed","msg":"We were unable to apply that promotional code to your basket, please try again","loc":[]},{"type":"basket_error.promocode_not_applicable","msg":"The requested promotional code is not applicable to the items in your basket","loc":[]},{"type":"basket_error.remove_promocode_failed","msg":"We were unable to remove that promotional code from your basket, please try again","loc":[]}]},"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"description":"Conflict","headers":{"X-Request-ID":{"schema":{"type":"string","format":"uuid"},"description":"Server-generated UUID corresponding to this specific response and its initiating request.","example":"123e4567-e89b-12d3-a456-426614174000"},"X-Correlation-ID":{"schema":{"type":"string","format":"uuid"},"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000"}}},"400":{"content":{"application/json":{"example":{"request_id":"REQUEST123","detail":[{"type":"basket_error.currency_not_set","msg":"The basket's currency could not be set","loc":[]}]},"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"description":"Bad Request","headers":{"X-Request-ID":{"schema":{"type":"string","format":"uuid"},"description":"Server-generated UUID corresponding to this specific response and its initiating request.","example":"123e4567-e89b-12d3-a456-426614174000"},"X-Correlation-ID":{"schema":{"type":"string","format":"uuid"},"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000"}}},"422":{"content":{"application/json":{"example":{"request_id":"REQUEST123","detail":[{"type":"basket_error.basket_item_limit","msg":"Baskets cannot have more than 200 items","loc":[]},{"type":"reservation_error.concession_id_required","msg":"Concession ID required for products which have concessions","loc":[]},{"type":"reservation_error.missing_accompaniments","msg":"Concession missing required accompaniments","loc":[]},{"type":"reservation_error.invalid_booking","msg":"Invalid booking request","loc":[]},{"type":"basket_error.invalid_session","msg":"The availability session is invalid","loc":[]},{"type":"basket_error.item_limit","msg":"Cannot book more than 1 ticket(s) for the same product","loc":[]},{"type":"basket_error.not_cancellable","msg":"The requested basket item is not cancellable","loc":[]},{"type":"reservation_error.option_required","msg":"This option is required","loc":[]},{"type":"value_error.missing","msg":"This field is required","loc":[]},{"type":"value_error.missing","msg":"Ticket holder personalisation required for this event","loc":[]},{"type":"reservation_error.reassignment_proposal","msg":"The requested seats could not be reserved, and an alternative has been proposed","loc":[],"payload":{"requested_seats":[{"row":1,"seat":2},{"row":1,"seat":4}],"proposed_seats":[{"row":1,"seat":1},{"row":1,"seat":2}]}},{"type":"basket_error.total_basket_product_quantity","msg":"Total basket product quantity exceeds limit","loc":[]}]},"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"description":"Unprocessable Entity","headers":{"X-Request-ID":{"schema":{"type":"string","format":"uuid"},"description":"Server-generated UUID corresponding to this specific response and its initiating request.","example":"123e4567-e89b-12d3-a456-426614174000"},"X-Correlation-ID":{"schema":{"type":"string","format":"uuid"},"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000"}}},"410":{"content":{"application/json":{"example":{"request_id":"REQUEST123","detail":[{"type":"reservation_error.event_gone","msg":"The requested event is no longer available for reservation","loc":[]},{"type":"reservation_error.performance_gone","msg":"The requested performance is no longer available for reservation","loc":[]},{"type":"reservation_error.performance_time","msg":"The order cannot be processed as the event start time is too close or has passed.","loc":[]},{"type":"basket_error.promocode_gone","msg":"We were unable to claim the promotional code, please remove it and try again","loc":[]},{"type":"reservation_error.seats_gone","msg":"The requested seats are no longer available for reservation","loc":[]}]},"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"description":"Gone","headers":{"X-Request-ID":{"schema":{"type":"string","format":"uuid"},"description":"Server-generated UUID corresponding to this specific response and its initiating request.","example":"123e4567-e89b-12d3-a456-426614174000"},"X-Correlation-ID":{"schema":{"type":"string","format":"uuid"},"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000"}}},"500":{"content":{"application/json":{"example":{"request_id":"REQUEST123","detail":[{"type":"basket_error.payment_mismatch","msg":"The basket's payment method is not suitable to fulfill this request (was: stripe, should be: tickitto)","loc":[]}]},"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"description":"Internal Server Error","headers":{"X-Request-ID":{"schema":{"type":"string","format":"uuid"},"description":"Server-generated UUID corresponding to this specific response and its initiating request.","example":"123e4567-e89b-12d3-a456-426614174000"},"X-Correlation-ID":{"schema":{"type":"string","format":"uuid"},"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000"}}},"402":{"content":{"application/json":{"example":{"request_id":"REQUEST123","detail":[{"type":"basket_error.payment_status","msg":"Payment id=ID123 requires action as it is currently in status=pending","loc":[],"payload":{"payment_status":"pending","payment_id":"ID123"}}]},"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"description":"Payment Required","headers":{"X-Request-ID":{"schema":{"type":"string","format":"uuid"},"description":"Server-generated UUID corresponding to this specific response and its initiating request.","example":"123e4567-e89b-12d3-a456-426614174000"},"X-Correlation-ID":{"schema":{"type":"string","format":"uuid"},"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000"}}}}},"get":{"tags":["Basket"],"summary":"View Basket","description":"This endpoint returns a selected basket by basket_id and displays all tickets added and reserved along with the metadata associated with those tickets.\n\nYou will need to pass a basket_id with this endpoint.","operationId":"view_basket","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"basket_id","in":"query","required":true,"schema":{"type":"string","title":"Basket Id"}},{"name":"currency","in":"query","required":false,"schema":{"type":"string","description":"Currency to display event prices.","default":"GBP","title":"Currency"},"description":"Currency to display event prices."},{"name":"user_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"default":"","title":"User Id"}},{"name":"should_raise","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Should Raise"}},{"name":"accept-language","in":"header","required":false,"schema":{"type":"string","default":"en","title":"Accept-Language"}},{"required":false,"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000","schema":{"type":"string"},"name":"X-Correlation-ID","in":"header"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Basket"}}},"headers":{"X-Request-ID":{"schema":{"type":"string","format":"uuid"},"description":"Server-generated UUID corresponding to this specific response and its initiating request.","example":"123e4567-e89b-12d3-a456-426614174000"},"X-Correlation-ID":{"schema":{"type":"string","format":"uuid"},"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000"}}},"401":{"content":{"application/json":{"example":{"request_id":"REQUEST123","detail":[{"type":"authentication_error.insufficient_permissions","msg":"Invalid API key - this API key does not have the required permissions to access this resource","loc":[]},{"type":"authentication_error.invalid_key","msg":"Invalid API key - this API key either does not exist or is invalid","loc":[]},{"type":"authentication_error.key_missing","msg":"An API key is required to access this endpoint","loc":[]}]},"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"description":"Unauthorized","headers":{"X-Request-ID":{"schema":{"type":"string","format":"uuid"},"description":"Server-generated UUID corresponding to this specific response and its initiating request.","example":"123e4567-e89b-12d3-a456-426614174000"},"X-Correlation-ID":{"schema":{"type":"string","format":"uuid"},"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000"}}},"404":{"content":{"application/json":{"example":{"request_id":"REQUEST123","detail":[{"type":"reservation_error.product_band_not_found","msg":"The requested product band could not be found","loc":[]},{"type":"reservation_error.basket_not_found","msg":"The requested basket could not be found","loc":[]},{"type":"reservation_error.baskets_not_found","msg":"The requested baskets could not be found","loc":[]},{"type":"reservation_error.concession_not_found","msg":"The requested concession could not be found","loc":[],"payload":{"id":"ID123"}},{"type":"reservation_error.event_not_found","msg":"The requested event could not be found","loc":[]},{"type":"basket_error.item_not_found","msg":"The requested basket item could not be found","loc":[]},{"type":"reservation_error.option_not_found","msg":"The requested option could not be found","loc":[]},{"type":"reservation_error.option_value_not_found","msg":"The requested option value could not be found","loc":[]},{"type":"reservation_error.performance_not_found","msg":"The requested performance could not be found","loc":[]},{"type":"reservation_error.product_not_found","msg":"The requested product could not be found","loc":[]},{"type":"basket_error.promocode_not_applied","msg":"That promotional code has not been applied to your basket","loc":[]},{"type":"basket_error.promocode_not_found","msg":"A promotional code corresponding to that code could not be found","loc":[]},{"type":"reservation_error.seats_not_found","msg":"The requested seats could not be found","loc":[]},{"type":"basket_error.session_not_found","msg":"The requested availability session could not be found","loc":[]}]},"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"description":"Not Found","headers":{"X-Request-ID":{"schema":{"type":"string","format":"uuid"},"description":"Server-generated UUID corresponding to this specific response and its initiating request.","example":"123e4567-e89b-12d3-a456-426614174000"},"X-Correlation-ID":{"schema":{"type":"string","format":"uuid"},"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000"}}},"409":{"content":{"application/json":{"example":{"request_id":"REQUEST123","detail":[{"type":"basket_error.status_conflict","msg":"Your basket has either been checked out or is currently being checked out and can no longer be changed","loc":[]},{"type":"basket_error.status_conflict","msg":"Your basket has not been checked out, preventing the request from being fulfilled.","loc":[]},{"type":"basket_error.not_processable","msg":"Your basket is not currently in a status that allows it to be processed","loc":[]},{"type":"basket_error.status_conflict","msg":"The basket's status prevented the request from being fulfilled","loc":[]},{"type":"basket_error.flow_incomplete","msg":"Flow incomplete","loc":[]},{"type":"basket_error.flow_mismatch","msg":"Request body does not match flow state","loc":[]},{"type":"basket_error.item_status_conflict","msg":"The basket item's status prevented the request from being fulfilled","loc":[]},{"type":"basket_error.price_mismatch","msg":"Amount paid does not match basket price","loc":[]},{"type":"basket_error.promocode_already_applied","msg":"There is already a promocode applied to your basket","loc":[]},{"type":"basket_error.promocode_redeemed","msg":"Discount code already redeemed","loc":[]},{"type":"basket_error.apply_promocode_failed","msg":"We were unable to apply that promotional code to your basket, please try again","loc":[]},{"type":"basket_error.promocode_not_applicable","msg":"The requested promotional code is not applicable to the items in your basket","loc":[]},{"type":"basket_error.remove_promocode_failed","msg":"We were unable to remove that promotional code from your basket, please try again","loc":[]}]},"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"description":"Conflict","headers":{"X-Request-ID":{"schema":{"type":"string","format":"uuid"},"description":"Server-generated UUID corresponding to this specific response and its initiating request.","example":"123e4567-e89b-12d3-a456-426614174000"},"X-Correlation-ID":{"schema":{"type":"string","format":"uuid"},"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000"}}},"400":{"content":{"application/json":{"example":{"request_id":"REQUEST123","detail":[{"type":"basket_error.currency_not_set","msg":"The basket's currency could not be set","loc":[]}]},"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"description":"Bad Request","headers":{"X-Request-ID":{"schema":{"type":"string","format":"uuid"},"description":"Server-generated UUID corresponding to this specific response and its initiating request.","example":"123e4567-e89b-12d3-a456-426614174000"},"X-Correlation-ID":{"schema":{"type":"string","format":"uuid"},"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000"}}},"422":{"content":{"application/json":{"example":{"request_id":"REQUEST123","detail":[{"type":"basket_error.basket_item_limit","msg":"Baskets cannot have more than 200 items","loc":[]},{"type":"reservation_error.concession_id_required","msg":"Concession ID required for products which have concessions","loc":[]},{"type":"reservation_error.missing_accompaniments","msg":"Concession missing required accompaniments","loc":[]},{"type":"reservation_error.invalid_booking","msg":"Invalid booking request","loc":[]},{"type":"basket_error.invalid_session","msg":"The availability session is invalid","loc":[]},{"type":"basket_error.item_limit","msg":"Cannot book more than 1 ticket(s) for the same product","loc":[]},{"type":"basket_error.not_cancellable","msg":"The requested basket item is not cancellable","loc":[]},{"type":"reservation_error.option_required","msg":"This option is required","loc":[]},{"type":"value_error.missing","msg":"This field is required","loc":[]},{"type":"value_error.missing","msg":"Ticket holder personalisation required for this event","loc":[]},{"type":"reservation_error.reassignment_proposal","msg":"The requested seats could not be reserved, and an alternative has been proposed","loc":[],"payload":{"requested_seats":[{"row":1,"seat":2},{"row":1,"seat":4}],"proposed_seats":[{"row":1,"seat":1},{"row":1,"seat":2}]}},{"type":"basket_error.total_basket_product_quantity","msg":"Total basket product quantity exceeds limit","loc":[]}]},"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"description":"Unprocessable Entity","headers":{"X-Request-ID":{"schema":{"type":"string","format":"uuid"},"description":"Server-generated UUID corresponding to this specific response and its initiating request.","example":"123e4567-e89b-12d3-a456-426614174000"},"X-Correlation-ID":{"schema":{"type":"string","format":"uuid"},"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000"}}},"410":{"content":{"application/json":{"example":{"request_id":"REQUEST123","detail":[{"type":"reservation_error.event_gone","msg":"The requested event is no longer available for reservation","loc":[]},{"type":"reservation_error.performance_gone","msg":"The requested performance is no longer available for reservation","loc":[]},{"type":"reservation_error.performance_time","msg":"The order cannot be processed as the event start time is too close or has passed.","loc":[]},{"type":"basket_error.promocode_gone","msg":"We were unable to claim the promotional code, please remove it and try again","loc":[]},{"type":"reservation_error.seats_gone","msg":"The requested seats are no longer available for reservation","loc":[]}]},"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"description":"Gone","headers":{"X-Request-ID":{"schema":{"type":"string","format":"uuid"},"description":"Server-generated UUID corresponding to this specific response and its initiating request.","example":"123e4567-e89b-12d3-a456-426614174000"},"X-Correlation-ID":{"schema":{"type":"string","format":"uuid"},"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000"}}},"500":{"content":{"application/json":{"example":{"request_id":"REQUEST123","detail":[{"type":"basket_error.payment_mismatch","msg":"The basket's payment method is not suitable to fulfill this request (was: stripe, should be: tickitto)","loc":[]}]},"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"description":"Internal Server Error","headers":{"X-Request-ID":{"schema":{"type":"string","format":"uuid"},"description":"Server-generated UUID corresponding to this specific response and its initiating request.","example":"123e4567-e89b-12d3-a456-426614174000"},"X-Correlation-ID":{"schema":{"type":"string","format":"uuid"},"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000"}}},"402":{"content":{"application/json":{"example":{"request_id":"REQUEST123","detail":[{"type":"basket_error.payment_status","msg":"Payment id=ID123 requires action as it is currently in status=pending","loc":[],"payload":{"payment_status":"pending","payment_id":"ID123"}}]},"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"description":"Payment Required","headers":{"X-Request-ID":{"schema":{"type":"string","format":"uuid"},"description":"Server-generated UUID corresponding to this specific response and its initiating request.","example":"123e4567-e89b-12d3-a456-426614174000"},"X-Correlation-ID":{"schema":{"type":"string","format":"uuid"},"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000"}}}}}},"/api/basket/set-basket-currency":{"post":{"tags":["Basket"],"summary":"Set Basket Currency","description":"This basket sets the total_local_price currency for a selected basket by basket_id.\n\nYou will need to pass a basket_id with this endpoint.","operationId":"set_basket_currency","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"basket_id","in":"query","required":true,"schema":{"type":"string","title":"Basket Id"}},{"name":"currency","in":"query","required":false,"schema":{"type":"string","description":"Currency to display event prices.","default":"GBP","title":"Currency"},"description":"Currency to display event prices."},{"name":"user_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"default":"","title":"User Id"}},{"name":"should_raise","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Should Raise"}},{"name":"accept-language","in":"header","required":false,"schema":{"type":"string","default":"en","title":"Accept-Language"}},{"required":false,"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000","schema":{"type":"string"},"name":"X-Correlation-ID","in":"header"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Basket"}}},"headers":{"X-Request-ID":{"schema":{"type":"string","format":"uuid"},"description":"Server-generated UUID corresponding to this specific response and its initiating request.","example":"123e4567-e89b-12d3-a456-426614174000"},"X-Correlation-ID":{"schema":{"type":"string","format":"uuid"},"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000"}}},"401":{"content":{"application/json":{"example":{"request_id":"REQUEST123","detail":[{"type":"authentication_error.insufficient_permissions","msg":"Invalid API key - this API key does not have the required permissions to access this resource","loc":[]},{"type":"authentication_error.invalid_key","msg":"Invalid API key - this API key either does not exist or is invalid","loc":[]},{"type":"authentication_error.key_missing","msg":"An API key is required to access this endpoint","loc":[]}]},"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"description":"Unauthorized","headers":{"X-Request-ID":{"schema":{"type":"string","format":"uuid"},"description":"Server-generated UUID corresponding to this specific response and its initiating request.","example":"123e4567-e89b-12d3-a456-426614174000"},"X-Correlation-ID":{"schema":{"type":"string","format":"uuid"},"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000"}}},"404":{"content":{"application/json":{"example":{"request_id":"REQUEST123","detail":[{"type":"reservation_error.product_band_not_found","msg":"The requested product band could not be found","loc":[]},{"type":"reservation_error.basket_not_found","msg":"The requested basket could not be found","loc":[]},{"type":"reservation_error.baskets_not_found","msg":"The requested baskets could not be found","loc":[]},{"type":"reservation_error.concession_not_found","msg":"The requested concession could not be found","loc":[],"payload":{"id":"ID123"}},{"type":"reservation_error.event_not_found","msg":"The requested event could not be found","loc":[]},{"type":"basket_error.item_not_found","msg":"The requested basket item could not be found","loc":[]},{"type":"reservation_error.option_not_found","msg":"The requested option could not be found","loc":[]},{"type":"reservation_error.option_value_not_found","msg":"The requested option value could not be found","loc":[]},{"type":"reservation_error.performance_not_found","msg":"The requested performance could not be found","loc":[]},{"type":"reservation_error.product_not_found","msg":"The requested product could not be found","loc":[]},{"type":"basket_error.promocode_not_applied","msg":"That promotional code has not been applied to your basket","loc":[]},{"type":"basket_error.promocode_not_found","msg":"A promotional code corresponding to that code could not be found","loc":[]},{"type":"reservation_error.seats_not_found","msg":"The requested seats could not be found","loc":[]},{"type":"basket_error.session_not_found","msg":"The requested availability session could not be found","loc":[]}]},"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"description":"Not Found","headers":{"X-Request-ID":{"schema":{"type":"string","format":"uuid"},"description":"Server-generated UUID corresponding to this specific response and its initiating request.","example":"123e4567-e89b-12d3-a456-426614174000"},"X-Correlation-ID":{"schema":{"type":"string","format":"uuid"},"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000"}}},"409":{"content":{"application/json":{"example":{"request_id":"REQUEST123","detail":[{"type":"basket_error.status_conflict","msg":"Your basket has either been checked out or is currently being checked out and can no longer be changed","loc":[]},{"type":"basket_error.status_conflict","msg":"Your basket has not been checked out, preventing the request from being fulfilled.","loc":[]},{"type":"basket_error.not_processable","msg":"Your basket is not currently in a status that allows it to be processed","loc":[]},{"type":"basket_error.status_conflict","msg":"The basket's status prevented the request from being fulfilled","loc":[]},{"type":"basket_error.flow_incomplete","msg":"Flow incomplete","loc":[]},{"type":"basket_error.flow_mismatch","msg":"Request body does not match flow state","loc":[]},{"type":"basket_error.item_status_conflict","msg":"The basket item's status prevented the request from being fulfilled","loc":[]},{"type":"basket_error.price_mismatch","msg":"Amount paid does not match basket price","loc":[]},{"type":"basket_error.promocode_already_applied","msg":"There is already a promocode applied to your basket","loc":[]},{"type":"basket_error.promocode_redeemed","msg":"Discount code already redeemed","loc":[]},{"type":"basket_error.apply_promocode_failed","msg":"We were unable to apply that promotional code to your basket, please try again","loc":[]},{"type":"basket_error.promocode_not_applicable","msg":"The requested promotional code is not applicable to the items in your basket","loc":[]},{"type":"basket_error.remove_promocode_failed","msg":"We were unable to remove that promotional code from your basket, please try again","loc":[]}]},"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"description":"Conflict","headers":{"X-Request-ID":{"schema":{"type":"string","format":"uuid"},"description":"Server-generated UUID corresponding to this specific response and its initiating request.","example":"123e4567-e89b-12d3-a456-426614174000"},"X-Correlation-ID":{"schema":{"type":"string","format":"uuid"},"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000"}}},"400":{"content":{"application/json":{"example":{"request_id":"REQUEST123","detail":[{"type":"basket_error.currency_not_set","msg":"The basket's currency could not be set","loc":[]}]},"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"description":"Bad Request","headers":{"X-Request-ID":{"schema":{"type":"string","format":"uuid"},"description":"Server-generated UUID corresponding to this specific response and its initiating request.","example":"123e4567-e89b-12d3-a456-426614174000"},"X-Correlation-ID":{"schema":{"type":"string","format":"uuid"},"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000"}}},"422":{"content":{"application/json":{"example":{"request_id":"REQUEST123","detail":[{"type":"basket_error.basket_item_limit","msg":"Baskets cannot have more than 200 items","loc":[]},{"type":"reservation_error.concession_id_required","msg":"Concession ID required for products which have concessions","loc":[]},{"type":"reservation_error.missing_accompaniments","msg":"Concession missing required accompaniments","loc":[]},{"type":"reservation_error.invalid_booking","msg":"Invalid booking request","loc":[]},{"type":"basket_error.invalid_session","msg":"The availability session is invalid","loc":[]},{"type":"basket_error.item_limit","msg":"Cannot book more than 1 ticket(s) for the same product","loc":[]},{"type":"basket_error.not_cancellable","msg":"The requested basket item is not cancellable","loc":[]},{"type":"reservation_error.option_required","msg":"This option is required","loc":[]},{"type":"value_error.missing","msg":"This field is required","loc":[]},{"type":"value_error.missing","msg":"Ticket holder personalisation required for this event","loc":[]},{"type":"reservation_error.reassignment_proposal","msg":"The requested seats could not be reserved, and an alternative has been proposed","loc":[],"payload":{"requested_seats":[{"row":1,"seat":2},{"row":1,"seat":4}],"proposed_seats":[{"row":1,"seat":1},{"row":1,"seat":2}]}},{"type":"basket_error.total_basket_product_quantity","msg":"Total basket product quantity exceeds limit","loc":[]}]},"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"description":"Unprocessable Entity","headers":{"X-Request-ID":{"schema":{"type":"string","format":"uuid"},"description":"Server-generated UUID corresponding to this specific response and its initiating request.","example":"123e4567-e89b-12d3-a456-426614174000"},"X-Correlation-ID":{"schema":{"type":"string","format":"uuid"},"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000"}}},"410":{"content":{"application/json":{"example":{"request_id":"REQUEST123","detail":[{"type":"reservation_error.event_gone","msg":"The requested event is no longer available for reservation","loc":[]},{"type":"reservation_error.performance_gone","msg":"The requested performance is no longer available for reservation","loc":[]},{"type":"reservation_error.performance_time","msg":"The order cannot be processed as the event start time is too close or has passed.","loc":[]},{"type":"basket_error.promocode_gone","msg":"We were unable to claim the promotional code, please remove it and try again","loc":[]},{"type":"reservation_error.seats_gone","msg":"The requested seats are no longer available for reservation","loc":[]}]},"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"description":"Gone","headers":{"X-Request-ID":{"schema":{"type":"string","format":"uuid"},"description":"Server-generated UUID corresponding to this specific response and its initiating request.","example":"123e4567-e89b-12d3-a456-426614174000"},"X-Correlation-ID":{"schema":{"type":"string","format":"uuid"},"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000"}}},"500":{"content":{"application/json":{"example":{"request_id":"REQUEST123","detail":[{"type":"basket_error.payment_mismatch","msg":"The basket's payment method is not suitable to fulfill this request (was: stripe, should be: tickitto)","loc":[]}]},"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"description":"Internal Server Error","headers":{"X-Request-ID":{"schema":{"type":"string","format":"uuid"},"description":"Server-generated UUID corresponding to this specific response and its initiating request.","example":"123e4567-e89b-12d3-a456-426614174000"},"X-Correlation-ID":{"schema":{"type":"string","format":"uuid"},"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000"}}},"402":{"content":{"application/json":{"example":{"request_id":"REQUEST123","detail":[{"type":"basket_error.payment_status","msg":"Payment id=ID123 requires action as it is currently in status=pending","loc":[],"payload":{"payment_status":"pending","payment_id":"ID123"}}]},"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"description":"Payment Required","headers":{"X-Request-ID":{"schema":{"type":"string","format":"uuid"},"description":"Server-generated UUID corresponding to this specific response and its initiating request.","example":"123e4567-e89b-12d3-a456-426614174000"},"X-Correlation-ID":{"schema":{"type":"string","format":"uuid"},"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000"}}}}}},"/api/basket/add":{"post":{"tags":["Basket"],"summary":"Add To Basket","description":"This endpoint is used to reserve products before purchase.\n\nEach item includes a `ttl` field which indicates the duration for which the item is guaranteed to stay reserved.\nAfter any one item's ttl has lapsed, the basket should be retrieved again before attemping to check out in order to confirm the current status of the items.\n\n**Note:** an associated availability session is required, along with details of the item to be reserved.","operationId":"add_basket_item","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"basket_id","in":"query","required":true,"schema":{"type":"string","title":"Basket Id"}},{"name":"availability_session_id","in":"query","required":true,"schema":{"type":"string","title":"Availability Session Id"}},{"name":"currency","in":"query","required":false,"schema":{"type":"string","description":"Currency to display event prices.","default":"GBP","title":"Currency"},"description":"Currency to display event prices."},{"name":"profile_external_user_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Profile External User Id"}},{"name":"should_raise","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Should Raise"}},{"name":"profile_name","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Profile name","title":"Profile Name"},"description":"Profile name"},{"name":"hostname","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Associated hostname","title":"Hostname"},"description":"Associated hostname"},{"name":"accept-language","in":"header","required":false,"schema":{"type":"string","default":"en","title":"Accept-Language"}},{"name":"origin","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Origin"}},{"required":false,"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000","schema":{"type":"string"},"name":"X-Correlation-ID","in":"header"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BasketItemCreate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Basket"}}},"headers":{"X-Request-ID":{"schema":{"type":"string","format":"uuid"},"description":"Server-generated UUID corresponding to this specific response and its initiating request.","example":"123e4567-e89b-12d3-a456-426614174000"},"X-Correlation-ID":{"schema":{"type":"string","format":"uuid"},"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000"}}},"401":{"content":{"application/json":{"example":{"request_id":"REQUEST123","detail":[{"type":"authentication_error.insufficient_permissions","msg":"Invalid API key - this API key does not have the required permissions to access this resource","loc":[]},{"type":"authentication_error.invalid_key","msg":"Invalid API key - this API key either does not exist or is invalid","loc":[]},{"type":"authentication_error.key_missing","msg":"An API key is required to access this endpoint","loc":[]}]},"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"description":"Unauthorized","headers":{"X-Request-ID":{"schema":{"type":"string","format":"uuid"},"description":"Server-generated UUID corresponding to this specific response and its initiating request.","example":"123e4567-e89b-12d3-a456-426614174000"},"X-Correlation-ID":{"schema":{"type":"string","format":"uuid"},"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000"}}},"404":{"content":{"application/json":{"example":{"request_id":"REQUEST123","detail":[{"type":"reservation_error.product_band_not_found","msg":"The requested product band could not be found","loc":[]},{"type":"reservation_error.basket_not_found","msg":"The requested basket could not be found","loc":[]},{"type":"reservation_error.baskets_not_found","msg":"The requested baskets could not be found","loc":[]},{"type":"reservation_error.concession_not_found","msg":"The requested concession could not be found","loc":[],"payload":{"id":"ID123"}},{"type":"reservation_error.event_not_found","msg":"The requested event could not be found","loc":[]},{"type":"basket_error.item_not_found","msg":"The requested basket item could not be found","loc":[]},{"type":"reservation_error.option_not_found","msg":"The requested option could not be found","loc":[]},{"type":"reservation_error.option_value_not_found","msg":"The requested option value could not be found","loc":[]},{"type":"reservation_error.performance_not_found","msg":"The requested performance could not be found","loc":[]},{"type":"reservation_error.product_not_found","msg":"The requested product could not be found","loc":[]},{"type":"basket_error.promocode_not_applied","msg":"That promotional code has not been applied to your basket","loc":[]},{"type":"basket_error.promocode_not_found","msg":"A promotional code corresponding to that code could not be found","loc":[]},{"type":"reservation_error.seats_not_found","msg":"The requested seats could not be found","loc":[]},{"type":"basket_error.session_not_found","msg":"The requested availability session could not be found","loc":[]}]},"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"description":"Not Found","headers":{"X-Request-ID":{"schema":{"type":"string","format":"uuid"},"description":"Server-generated UUID corresponding to this specific response and its initiating request.","example":"123e4567-e89b-12d3-a456-426614174000"},"X-Correlation-ID":{"schema":{"type":"string","format":"uuid"},"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000"}}},"409":{"content":{"application/json":{"example":{"request_id":"REQUEST123","detail":[{"type":"basket_error.status_conflict","msg":"Your basket has either been checked out or is currently being checked out and can no longer be changed","loc":[]},{"type":"basket_error.status_conflict","msg":"Your basket has not been checked out, preventing the request from being fulfilled.","loc":[]},{"type":"basket_error.not_processable","msg":"Your basket is not currently in a status that allows it to be processed","loc":[]},{"type":"basket_error.status_conflict","msg":"The basket's status prevented the request from being fulfilled","loc":[]},{"type":"basket_error.flow_incomplete","msg":"Flow incomplete","loc":[]},{"type":"basket_error.flow_mismatch","msg":"Request body does not match flow state","loc":[]},{"type":"basket_error.item_status_conflict","msg":"The basket item's status prevented the request from being fulfilled","loc":[]},{"type":"basket_error.price_mismatch","msg":"Amount paid does not match basket price","loc":[]},{"type":"basket_error.promocode_already_applied","msg":"There is already a promocode applied to your basket","loc":[]},{"type":"basket_error.promocode_redeemed","msg":"Discount code already redeemed","loc":[]},{"type":"basket_error.apply_promocode_failed","msg":"We were unable to apply that promotional code to your basket, please try again","loc":[]},{"type":"basket_error.promocode_not_applicable","msg":"The requested promotional code is not applicable to the items in your basket","loc":[]},{"type":"basket_error.remove_promocode_failed","msg":"We were unable to remove that promotional code from your basket, please try again","loc":[]}]},"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"description":"Conflict","headers":{"X-Request-ID":{"schema":{"type":"string","format":"uuid"},"description":"Server-generated UUID corresponding to this specific response and its initiating request.","example":"123e4567-e89b-12d3-a456-426614174000"},"X-Correlation-ID":{"schema":{"type":"string","format":"uuid"},"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000"}}},"400":{"content":{"application/json":{"example":{"request_id":"REQUEST123","detail":[{"type":"basket_error.currency_not_set","msg":"The basket's currency could not be set","loc":[]}]},"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"description":"Bad Request","headers":{"X-Request-ID":{"schema":{"type":"string","format":"uuid"},"description":"Server-generated UUID corresponding to this specific response and its initiating request.","example":"123e4567-e89b-12d3-a456-426614174000"},"X-Correlation-ID":{"schema":{"type":"string","format":"uuid"},"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000"}}},"422":{"content":{"application/json":{"example":{"request_id":"REQUEST123","detail":[{"type":"basket_error.basket_item_limit","msg":"Baskets cannot have more than 200 items","loc":[]},{"type":"reservation_error.concession_id_required","msg":"Concession ID required for products which have concessions","loc":[]},{"type":"reservation_error.missing_accompaniments","msg":"Concession missing required accompaniments","loc":[]},{"type":"reservation_error.invalid_booking","msg":"Invalid booking request","loc":[]},{"type":"basket_error.invalid_session","msg":"The availability session is invalid","loc":[]},{"type":"basket_error.item_limit","msg":"Cannot book more than 1 ticket(s) for the same product","loc":[]},{"type":"basket_error.not_cancellable","msg":"The requested basket item is not cancellable","loc":[]},{"type":"reservation_error.option_required","msg":"This option is required","loc":[]},{"type":"value_error.missing","msg":"This field is required","loc":[]},{"type":"value_error.missing","msg":"Ticket holder personalisation required for this event","loc":[]},{"type":"reservation_error.reassignment_proposal","msg":"The requested seats could not be reserved, and an alternative has been proposed","loc":[],"payload":{"requested_seats":[{"row":1,"seat":2},{"row":1,"seat":4}],"proposed_seats":[{"row":1,"seat":1},{"row":1,"seat":2}]}},{"type":"basket_error.total_basket_product_quantity","msg":"Total basket product quantity exceeds limit","loc":[]}]},"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"description":"Unprocessable Entity","headers":{"X-Request-ID":{"schema":{"type":"string","format":"uuid"},"description":"Server-generated UUID corresponding to this specific response and its initiating request.","example":"123e4567-e89b-12d3-a456-426614174000"},"X-Correlation-ID":{"schema":{"type":"string","format":"uuid"},"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000"}}},"410":{"content":{"application/json":{"example":{"request_id":"REQUEST123","detail":[{"type":"reservation_error.event_gone","msg":"The requested event is no longer available for reservation","loc":[]},{"type":"reservation_error.performance_gone","msg":"The requested performance is no longer available for reservation","loc":[]},{"type":"reservation_error.performance_time","msg":"The order cannot be processed as the event start time is too close or has passed.","loc":[]},{"type":"basket_error.promocode_gone","msg":"We were unable to claim the promotional code, please remove it and try again","loc":[]},{"type":"reservation_error.seats_gone","msg":"The requested seats are no longer available for reservation","loc":[]}]},"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"description":"Gone","headers":{"X-Request-ID":{"schema":{"type":"string","format":"uuid"},"description":"Server-generated UUID corresponding to this specific response and its initiating request.","example":"123e4567-e89b-12d3-a456-426614174000"},"X-Correlation-ID":{"schema":{"type":"string","format":"uuid"},"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000"}}},"500":{"content":{"application/json":{"example":{"request_id":"REQUEST123","detail":[{"type":"basket_error.payment_mismatch","msg":"The basket's payment method is not suitable to fulfill this request (was: stripe, should be: tickitto)","loc":[]}]},"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"description":"Internal Server Error","headers":{"X-Request-ID":{"schema":{"type":"string","format":"uuid"},"description":"Server-generated UUID corresponding to this specific response and its initiating request.","example":"123e4567-e89b-12d3-a456-426614174000"},"X-Correlation-ID":{"schema":{"type":"string","format":"uuid"},"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000"}}},"402":{"content":{"application/json":{"example":{"request_id":"REQUEST123","detail":[{"type":"basket_error.payment_status","msg":"Payment id=ID123 requires action as it is currently in status=pending","loc":[],"payload":{"payment_status":"pending","payment_id":"ID123"}}]},"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"description":"Payment Required","headers":{"X-Request-ID":{"schema":{"type":"string","format":"uuid"},"description":"Server-generated UUID corresponding to this specific response and its initiating request.","example":"123e4567-e89b-12d3-a456-426614174000"},"X-Correlation-ID":{"schema":{"type":"string","format":"uuid"},"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000"}}}}}},"/api/basket/promocode":{"put":{"tags":["Basket"],"summary":"Apply Basket Promocode","description":"Applies a promotional code to a basket.","operationId":"apply_basket_promocode_api_basket_promocode_put","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"basket_id","in":"query","required":true,"schema":{"type":"string","title":"Basket Id"}},{"name":"promocode","in":"query","required":true,"schema":{"type":"string","title":"Promocode"}},{"name":"currency","in":"query","required":false,"schema":{"type":"string","description":"Currency to display event prices.","default":"GBP","title":"Currency"},"description":"Currency to display event prices."},{"name":"user_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"default":"","title":"User Id"}},{"name":"domain","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Domain to validate promocode against. If not included then profile domains will be used","title":"Domain"},"description":"Domain to validate promocode against. If not included then profile domains will be used"},{"name":"profile_name","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Profile name","title":"Profile Name"},"description":"Profile name"},{"name":"hostname","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Associated hostname","title":"Hostname"},"description":"Associated hostname"},{"name":"origin","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Origin"}},{"required":false,"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000","schema":{"type":"string"},"name":"X-Correlation-ID","in":"header"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Basket"}}},"headers":{"X-Request-ID":{"schema":{"type":"string","format":"uuid"},"description":"Server-generated UUID corresponding to this specific response and its initiating request.","example":"123e4567-e89b-12d3-a456-426614174000"},"X-Correlation-ID":{"schema":{"type":"string","format":"uuid"},"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000"}}},"401":{"content":{"application/json":{"example":{"request_id":"REQUEST123","detail":[{"type":"authentication_error.insufficient_permissions","msg":"Invalid API key - this API key does not have the required permissions to access this resource","loc":[]},{"type":"authentication_error.invalid_key","msg":"Invalid API key - this API key either does not exist or is invalid","loc":[]},{"type":"authentication_error.key_missing","msg":"An API key is required to access this endpoint","loc":[]}]},"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"description":"Unauthorized","headers":{"X-Request-ID":{"schema":{"type":"string","format":"uuid"},"description":"Server-generated UUID corresponding to this specific response and its initiating request.","example":"123e4567-e89b-12d3-a456-426614174000"},"X-Correlation-ID":{"schema":{"type":"string","format":"uuid"},"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000"}}},"404":{"content":{"application/json":{"example":{"request_id":"REQUEST123","detail":[{"type":"reservation_error.product_band_not_found","msg":"The requested product band could not be found","loc":[]},{"type":"reservation_error.basket_not_found","msg":"The requested basket could not be found","loc":[]},{"type":"reservation_error.baskets_not_found","msg":"The requested baskets could not be found","loc":[]},{"type":"reservation_error.concession_not_found","msg":"The requested concession could not be found","loc":[],"payload":{"id":"ID123"}},{"type":"reservation_error.event_not_found","msg":"The requested event could not be found","loc":[]},{"type":"basket_error.item_not_found","msg":"The requested basket item could not be found","loc":[]},{"type":"reservation_error.option_not_found","msg":"The requested option could not be found","loc":[]},{"type":"reservation_error.option_value_not_found","msg":"The requested option value could not be found","loc":[]},{"type":"reservation_error.performance_not_found","msg":"The requested performance could not be found","loc":[]},{"type":"reservation_error.product_not_found","msg":"The requested product could not be found","loc":[]},{"type":"basket_error.promocode_not_applied","msg":"That promotional code has not been applied to your basket","loc":[]},{"type":"basket_error.promocode_not_found","msg":"A promotional code corresponding to that code could not be found","loc":[]},{"type":"reservation_error.seats_not_found","msg":"The requested seats could not be found","loc":[]},{"type":"basket_error.session_not_found","msg":"The requested availability session could not be found","loc":[]}]},"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"description":"Not Found","headers":{"X-Request-ID":{"schema":{"type":"string","format":"uuid"},"description":"Server-generated UUID corresponding to this specific response and its initiating request.","example":"123e4567-e89b-12d3-a456-426614174000"},"X-Correlation-ID":{"schema":{"type":"string","format":"uuid"},"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000"}}},"409":{"content":{"application/json":{"example":{"request_id":"REQUEST123","detail":[{"type":"basket_error.status_conflict","msg":"Your basket has either been checked out or is currently being checked out and can no longer be changed","loc":[]},{"type":"basket_error.status_conflict","msg":"Your basket has not been checked out, preventing the request from being fulfilled.","loc":[]},{"type":"basket_error.not_processable","msg":"Your basket is not currently in a status that allows it to be processed","loc":[]},{"type":"basket_error.status_conflict","msg":"The basket's status prevented the request from being fulfilled","loc":[]},{"type":"basket_error.flow_incomplete","msg":"Flow incomplete","loc":[]},{"type":"basket_error.flow_mismatch","msg":"Request body does not match flow state","loc":[]},{"type":"basket_error.item_status_conflict","msg":"The basket item's status prevented the request from being fulfilled","loc":[]},{"type":"basket_error.price_mismatch","msg":"Amount paid does not match basket price","loc":[]},{"type":"basket_error.promocode_already_applied","msg":"There is already a promocode applied to your basket","loc":[]},{"type":"basket_error.promocode_redeemed","msg":"Discount code already redeemed","loc":[]},{"type":"basket_error.apply_promocode_failed","msg":"We were unable to apply that promotional code to your basket, please try again","loc":[]},{"type":"basket_error.promocode_not_applicable","msg":"The requested promotional code is not applicable to the items in your basket","loc":[]},{"type":"basket_error.remove_promocode_failed","msg":"We were unable to remove that promotional code from your basket, please try again","loc":[]}]},"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"description":"Conflict","headers":{"X-Request-ID":{"schema":{"type":"string","format":"uuid"},"description":"Server-generated UUID corresponding to this specific response and its initiating request.","example":"123e4567-e89b-12d3-a456-426614174000"},"X-Correlation-ID":{"schema":{"type":"string","format":"uuid"},"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000"}}},"400":{"content":{"application/json":{"example":{"request_id":"REQUEST123","detail":[{"type":"basket_error.currency_not_set","msg":"The basket's currency could not be set","loc":[]}]},"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"description":"Bad Request","headers":{"X-Request-ID":{"schema":{"type":"string","format":"uuid"},"description":"Server-generated UUID corresponding to this specific response and its initiating request.","example":"123e4567-e89b-12d3-a456-426614174000"},"X-Correlation-ID":{"schema":{"type":"string","format":"uuid"},"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000"}}},"422":{"content":{"application/json":{"example":{"request_id":"REQUEST123","detail":[{"type":"basket_error.basket_item_limit","msg":"Baskets cannot have more than 200 items","loc":[]},{"type":"reservation_error.concession_id_required","msg":"Concession ID required for products which have concessions","loc":[]},{"type":"reservation_error.missing_accompaniments","msg":"Concession missing required accompaniments","loc":[]},{"type":"reservation_error.invalid_booking","msg":"Invalid booking request","loc":[]},{"type":"basket_error.invalid_session","msg":"The availability session is invalid","loc":[]},{"type":"basket_error.item_limit","msg":"Cannot book more than 1 ticket(s) for the same product","loc":[]},{"type":"basket_error.not_cancellable","msg":"The requested basket item is not cancellable","loc":[]},{"type":"reservation_error.option_required","msg":"This option is required","loc":[]},{"type":"value_error.missing","msg":"This field is required","loc":[]},{"type":"value_error.missing","msg":"Ticket holder personalisation required for this event","loc":[]},{"type":"reservation_error.reassignment_proposal","msg":"The requested seats could not be reserved, and an alternative has been proposed","loc":[],"payload":{"requested_seats":[{"row":1,"seat":2},{"row":1,"seat":4}],"proposed_seats":[{"row":1,"seat":1},{"row":1,"seat":2}]}},{"type":"basket_error.total_basket_product_quantity","msg":"Total basket product quantity exceeds limit","loc":[]}]},"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"description":"Unprocessable Entity","headers":{"X-Request-ID":{"schema":{"type":"string","format":"uuid"},"description":"Server-generated UUID corresponding to this specific response and its initiating request.","example":"123e4567-e89b-12d3-a456-426614174000"},"X-Correlation-ID":{"schema":{"type":"string","format":"uuid"},"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000"}}},"410":{"content":{"application/json":{"example":{"request_id":"REQUEST123","detail":[{"type":"reservation_error.event_gone","msg":"The requested event is no longer available for reservation","loc":[]},{"type":"reservation_error.performance_gone","msg":"The requested performance is no longer available for reservation","loc":[]},{"type":"reservation_error.performance_time","msg":"The order cannot be processed as the event start time is too close or has passed.","loc":[]},{"type":"basket_error.promocode_gone","msg":"We were unable to claim the promotional code, please remove it and try again","loc":[]},{"type":"reservation_error.seats_gone","msg":"The requested seats are no longer available for reservation","loc":[]}]},"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"description":"Gone","headers":{"X-Request-ID":{"schema":{"type":"string","format":"uuid"},"description":"Server-generated UUID corresponding to this specific response and its initiating request.","example":"123e4567-e89b-12d3-a456-426614174000"},"X-Correlation-ID":{"schema":{"type":"string","format":"uuid"},"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000"}}},"500":{"content":{"application/json":{"example":{"request_id":"REQUEST123","detail":[{"type":"basket_error.payment_mismatch","msg":"The basket's payment method is not suitable to fulfill this request (was: stripe, should be: tickitto)","loc":[]}]},"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"description":"Internal Server Error","headers":{"X-Request-ID":{"schema":{"type":"string","format":"uuid"},"description":"Server-generated UUID corresponding to this specific response and its initiating request.","example":"123e4567-e89b-12d3-a456-426614174000"},"X-Correlation-ID":{"schema":{"type":"string","format":"uuid"},"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000"}}},"402":{"content":{"application/json":{"example":{"request_id":"REQUEST123","detail":[{"type":"basket_error.payment_status","msg":"Payment id=ID123 requires action as it is currently in status=pending","loc":[],"payload":{"payment_status":"pending","payment_id":"ID123"}}]},"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"description":"Payment Required","headers":{"X-Request-ID":{"schema":{"type":"string","format":"uuid"},"description":"Server-generated UUID corresponding to this specific response and its initiating request.","example":"123e4567-e89b-12d3-a456-426614174000"},"X-Correlation-ID":{"schema":{"type":"string","format":"uuid"},"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000"}}}}},"delete":{"tags":["Basket"],"summary":"Remove Basket Promocode","description":"Removes a promotional code from a basket.","operationId":"remove_basket_promocode_api_basket_promocode_delete","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"basket_id","in":"query","required":true,"schema":{"type":"string","title":"Basket Id"}},{"name":"promocode","in":"query","required":true,"schema":{"type":"string","title":"Promocode"}},{"name":"currency","in":"query","required":false,"schema":{"type":"string","description":"Currency to display event prices.","default":"GBP","title":"Currency"},"description":"Currency to display event prices."},{"required":false,"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000","schema":{"type":"string"},"name":"X-Correlation-ID","in":"header"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Basket"}}},"headers":{"X-Request-ID":{"schema":{"type":"string","format":"uuid"},"description":"Server-generated UUID corresponding to this specific response and its initiating request.","example":"123e4567-e89b-12d3-a456-426614174000"},"X-Correlation-ID":{"schema":{"type":"string","format":"uuid"},"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000"}}},"401":{"content":{"application/json":{"example":{"request_id":"REQUEST123","detail":[{"type":"authentication_error.insufficient_permissions","msg":"Invalid API key - this API key does not have the required permissions to access this resource","loc":[]},{"type":"authentication_error.invalid_key","msg":"Invalid API key - this API key either does not exist or is invalid","loc":[]},{"type":"authentication_error.key_missing","msg":"An API key is required to access this endpoint","loc":[]}]},"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"description":"Unauthorized","headers":{"X-Request-ID":{"schema":{"type":"string","format":"uuid"},"description":"Server-generated UUID corresponding to this specific response and its initiating request.","example":"123e4567-e89b-12d3-a456-426614174000"},"X-Correlation-ID":{"schema":{"type":"string","format":"uuid"},"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000"}}},"404":{"content":{"application/json":{"example":{"request_id":"REQUEST123","detail":[{"type":"reservation_error.product_band_not_found","msg":"The requested product band could not be found","loc":[]},{"type":"reservation_error.basket_not_found","msg":"The requested basket could not be found","loc":[]},{"type":"reservation_error.baskets_not_found","msg":"The requested baskets could not be found","loc":[]},{"type":"reservation_error.concession_not_found","msg":"The requested concession could not be found","loc":[],"payload":{"id":"ID123"}},{"type":"reservation_error.event_not_found","msg":"The requested event could not be found","loc":[]},{"type":"basket_error.item_not_found","msg":"The requested basket item could not be found","loc":[]},{"type":"reservation_error.option_not_found","msg":"The requested option could not be found","loc":[]},{"type":"reservation_error.option_value_not_found","msg":"The requested option value could not be found","loc":[]},{"type":"reservation_error.performance_not_found","msg":"The requested performance could not be found","loc":[]},{"type":"reservation_error.product_not_found","msg":"The requested product could not be found","loc":[]},{"type":"basket_error.promocode_not_applied","msg":"That promotional code has not been applied to your basket","loc":[]},{"type":"basket_error.promocode_not_found","msg":"A promotional code corresponding to that code could not be found","loc":[]},{"type":"reservation_error.seats_not_found","msg":"The requested seats could not be found","loc":[]},{"type":"basket_error.session_not_found","msg":"The requested availability session could not be found","loc":[]}]},"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"description":"Not Found","headers":{"X-Request-ID":{"schema":{"type":"string","format":"uuid"},"description":"Server-generated UUID corresponding to this specific response and its initiating request.","example":"123e4567-e89b-12d3-a456-426614174000"},"X-Correlation-ID":{"schema":{"type":"string","format":"uuid"},"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000"}}},"409":{"content":{"application/json":{"example":{"request_id":"REQUEST123","detail":[{"type":"basket_error.status_conflict","msg":"Your basket has either been checked out or is currently being checked out and can no longer be changed","loc":[]},{"type":"basket_error.status_conflict","msg":"Your basket has not been checked out, preventing the request from being fulfilled.","loc":[]},{"type":"basket_error.not_processable","msg":"Your basket is not currently in a status that allows it to be processed","loc":[]},{"type":"basket_error.status_conflict","msg":"The basket's status prevented the request from being fulfilled","loc":[]},{"type":"basket_error.flow_incomplete","msg":"Flow incomplete","loc":[]},{"type":"basket_error.flow_mismatch","msg":"Request body does not match flow state","loc":[]},{"type":"basket_error.item_status_conflict","msg":"The basket item's status prevented the request from being fulfilled","loc":[]},{"type":"basket_error.price_mismatch","msg":"Amount paid does not match basket price","loc":[]},{"type":"basket_error.promocode_already_applied","msg":"There is already a promocode applied to your basket","loc":[]},{"type":"basket_error.promocode_redeemed","msg":"Discount code already redeemed","loc":[]},{"type":"basket_error.apply_promocode_failed","msg":"We were unable to apply that promotional code to your basket, please try again","loc":[]},{"type":"basket_error.promocode_not_applicable","msg":"The requested promotional code is not applicable to the items in your basket","loc":[]},{"type":"basket_error.remove_promocode_failed","msg":"We were unable to remove that promotional code from your basket, please try again","loc":[]}]},"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"description":"Conflict","headers":{"X-Request-ID":{"schema":{"type":"string","format":"uuid"},"description":"Server-generated UUID corresponding to this specific response and its initiating request.","example":"123e4567-e89b-12d3-a456-426614174000"},"X-Correlation-ID":{"schema":{"type":"string","format":"uuid"},"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000"}}},"400":{"content":{"application/json":{"example":{"request_id":"REQUEST123","detail":[{"type":"basket_error.currency_not_set","msg":"The basket's currency could not be set","loc":[]}]},"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"description":"Bad Request","headers":{"X-Request-ID":{"schema":{"type":"string","format":"uuid"},"description":"Server-generated UUID corresponding to this specific response and its initiating request.","example":"123e4567-e89b-12d3-a456-426614174000"},"X-Correlation-ID":{"schema":{"type":"string","format":"uuid"},"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000"}}},"422":{"content":{"application/json":{"example":{"request_id":"REQUEST123","detail":[{"type":"basket_error.basket_item_limit","msg":"Baskets cannot have more than 200 items","loc":[]},{"type":"reservation_error.concession_id_required","msg":"Concession ID required for products which have concessions","loc":[]},{"type":"reservation_error.missing_accompaniments","msg":"Concession missing required accompaniments","loc":[]},{"type":"reservation_error.invalid_booking","msg":"Invalid booking request","loc":[]},{"type":"basket_error.invalid_session","msg":"The availability session is invalid","loc":[]},{"type":"basket_error.item_limit","msg":"Cannot book more than 1 ticket(s) for the same product","loc":[]},{"type":"basket_error.not_cancellable","msg":"The requested basket item is not cancellable","loc":[]},{"type":"reservation_error.option_required","msg":"This option is required","loc":[]},{"type":"value_error.missing","msg":"This field is required","loc":[]},{"type":"value_error.missing","msg":"Ticket holder personalisation required for this event","loc":[]},{"type":"reservation_error.reassignment_proposal","msg":"The requested seats could not be reserved, and an alternative has been proposed","loc":[],"payload":{"requested_seats":[{"row":1,"seat":2},{"row":1,"seat":4}],"proposed_seats":[{"row":1,"seat":1},{"row":1,"seat":2}]}},{"type":"basket_error.total_basket_product_quantity","msg":"Total basket product quantity exceeds limit","loc":[]}]},"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"description":"Unprocessable Entity","headers":{"X-Request-ID":{"schema":{"type":"string","format":"uuid"},"description":"Server-generated UUID corresponding to this specific response and its initiating request.","example":"123e4567-e89b-12d3-a456-426614174000"},"X-Correlation-ID":{"schema":{"type":"string","format":"uuid"},"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000"}}},"410":{"content":{"application/json":{"example":{"request_id":"REQUEST123","detail":[{"type":"reservation_error.event_gone","msg":"The requested event is no longer available for reservation","loc":[]},{"type":"reservation_error.performance_gone","msg":"The requested performance is no longer available for reservation","loc":[]},{"type":"reservation_error.performance_time","msg":"The order cannot be processed as the event start time is too close or has passed.","loc":[]},{"type":"basket_error.promocode_gone","msg":"We were unable to claim the promotional code, please remove it and try again","loc":[]},{"type":"reservation_error.seats_gone","msg":"The requested seats are no longer available for reservation","loc":[]}]},"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"description":"Gone","headers":{"X-Request-ID":{"schema":{"type":"string","format":"uuid"},"description":"Server-generated UUID corresponding to this specific response and its initiating request.","example":"123e4567-e89b-12d3-a456-426614174000"},"X-Correlation-ID":{"schema":{"type":"string","format":"uuid"},"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000"}}},"500":{"content":{"application/json":{"example":{"request_id":"REQUEST123","detail":[{"type":"basket_error.payment_mismatch","msg":"The basket's payment method is not suitable to fulfill this request (was: stripe, should be: tickitto)","loc":[]}]},"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"description":"Internal Server Error","headers":{"X-Request-ID":{"schema":{"type":"string","format":"uuid"},"description":"Server-generated UUID corresponding to this specific response and its initiating request.","example":"123e4567-e89b-12d3-a456-426614174000"},"X-Correlation-ID":{"schema":{"type":"string","format":"uuid"},"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000"}}},"402":{"content":{"application/json":{"example":{"request_id":"REQUEST123","detail":[{"type":"basket_error.payment_status","msg":"Payment id=ID123 requires action as it is currently in status=pending","loc":[],"payload":{"payment_status":"pending","payment_id":"ID123"}}]},"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"description":"Payment Required","headers":{"X-Request-ID":{"schema":{"type":"string","format":"uuid"},"description":"Server-generated UUID corresponding to this specific response and its initiating request.","example":"123e4567-e89b-12d3-a456-426614174000"},"X-Correlation-ID":{"schema":{"type":"string","format":"uuid"},"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000"}}}}}},"/api/basket/remove":{"post":{"tags":["Basket"],"summary":"Remove From Basket","description":"This endpoint is used to remove and unreserve products that have been added and reserved to a basket_id.\n\nYou will need to pass the basket_id and the item_id that you wish to remove and unreserve as URL parameters.","operationId":"remove_basket_item","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"basket_id","in":"query","required":true,"schema":{"type":"string","title":"Basket Id"}},{"name":"item_id","in":"query","required":true,"schema":{"type":"string","title":"Item Id"}},{"name":"currency","in":"query","required":false,"schema":{"type":"string","description":"Currency to display event prices.","default":"GBP","title":"Currency"},"description":"Currency to display event prices."},{"name":"should_raise","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Should Raise"}},{"name":"accept-language","in":"header","required":false,"schema":{"type":"string","default":"en","title":"Accept-Language"}},{"required":false,"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000","schema":{"type":"string"},"name":"X-Correlation-ID","in":"header"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Basket"}}},"headers":{"X-Request-ID":{"schema":{"type":"string","format":"uuid"},"description":"Server-generated UUID corresponding to this specific response and its initiating request.","example":"123e4567-e89b-12d3-a456-426614174000"},"X-Correlation-ID":{"schema":{"type":"string","format":"uuid"},"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000"}}},"401":{"content":{"application/json":{"example":{"request_id":"REQUEST123","detail":[{"type":"authentication_error.insufficient_permissions","msg":"Invalid API key - this API key does not have the required permissions to access this resource","loc":[]},{"type":"authentication_error.invalid_key","msg":"Invalid API key - this API key either does not exist or is invalid","loc":[]},{"type":"authentication_error.key_missing","msg":"An API key is required to access this endpoint","loc":[]}]},"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"description":"Unauthorized","headers":{"X-Request-ID":{"schema":{"type":"string","format":"uuid"},"description":"Server-generated UUID corresponding to this specific response and its initiating request.","example":"123e4567-e89b-12d3-a456-426614174000"},"X-Correlation-ID":{"schema":{"type":"string","format":"uuid"},"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000"}}},"404":{"content":{"application/json":{"example":{"request_id":"REQUEST123","detail":[{"type":"reservation_error.product_band_not_found","msg":"The requested product band could not be found","loc":[]},{"type":"reservation_error.basket_not_found","msg":"The requested basket could not be found","loc":[]},{"type":"reservation_error.baskets_not_found","msg":"The requested baskets could not be found","loc":[]},{"type":"reservation_error.concession_not_found","msg":"The requested concession could not be found","loc":[],"payload":{"id":"ID123"}},{"type":"reservation_error.event_not_found","msg":"The requested event could not be found","loc":[]},{"type":"basket_error.item_not_found","msg":"The requested basket item could not be found","loc":[]},{"type":"reservation_error.option_not_found","msg":"The requested option could not be found","loc":[]},{"type":"reservation_error.option_value_not_found","msg":"The requested option value could not be found","loc":[]},{"type":"reservation_error.performance_not_found","msg":"The requested performance could not be found","loc":[]},{"type":"reservation_error.product_not_found","msg":"The requested product could not be found","loc":[]},{"type":"basket_error.promocode_not_applied","msg":"That promotional code has not been applied to your basket","loc":[]},{"type":"basket_error.promocode_not_found","msg":"A promotional code corresponding to that code could not be found","loc":[]},{"type":"reservation_error.seats_not_found","msg":"The requested seats could not be found","loc":[]},{"type":"basket_error.session_not_found","msg":"The requested availability session could not be found","loc":[]}]},"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"description":"Not Found","headers":{"X-Request-ID":{"schema":{"type":"string","format":"uuid"},"description":"Server-generated UUID corresponding to this specific response and its initiating request.","example":"123e4567-e89b-12d3-a456-426614174000"},"X-Correlation-ID":{"schema":{"type":"string","format":"uuid"},"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000"}}},"409":{"content":{"application/json":{"example":{"request_id":"REQUEST123","detail":[{"type":"basket_error.status_conflict","msg":"Your basket has either been checked out or is currently being checked out and can no longer be changed","loc":[]},{"type":"basket_error.status_conflict","msg":"Your basket has not been checked out, preventing the request from being fulfilled.","loc":[]},{"type":"basket_error.not_processable","msg":"Your basket is not currently in a status that allows it to be processed","loc":[]},{"type":"basket_error.status_conflict","msg":"The basket's status prevented the request from being fulfilled","loc":[]},{"type":"basket_error.flow_incomplete","msg":"Flow incomplete","loc":[]},{"type":"basket_error.flow_mismatch","msg":"Request body does not match flow state","loc":[]},{"type":"basket_error.item_status_conflict","msg":"The basket item's status prevented the request from being fulfilled","loc":[]},{"type":"basket_error.price_mismatch","msg":"Amount paid does not match basket price","loc":[]},{"type":"basket_error.promocode_already_applied","msg":"There is already a promocode applied to your basket","loc":[]},{"type":"basket_error.promocode_redeemed","msg":"Discount code already redeemed","loc":[]},{"type":"basket_error.apply_promocode_failed","msg":"We were unable to apply that promotional code to your basket, please try again","loc":[]},{"type":"basket_error.promocode_not_applicable","msg":"The requested promotional code is not applicable to the items in your basket","loc":[]},{"type":"basket_error.remove_promocode_failed","msg":"We were unable to remove that promotional code from your basket, please try again","loc":[]}]},"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"description":"Conflict","headers":{"X-Request-ID":{"schema":{"type":"string","format":"uuid"},"description":"Server-generated UUID corresponding to this specific response and its initiating request.","example":"123e4567-e89b-12d3-a456-426614174000"},"X-Correlation-ID":{"schema":{"type":"string","format":"uuid"},"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000"}}},"400":{"content":{"application/json":{"example":{"request_id":"REQUEST123","detail":[{"type":"basket_error.currency_not_set","msg":"The basket's currency could not be set","loc":[]}]},"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"description":"Bad Request","headers":{"X-Request-ID":{"schema":{"type":"string","format":"uuid"},"description":"Server-generated UUID corresponding to this specific response and its initiating request.","example":"123e4567-e89b-12d3-a456-426614174000"},"X-Correlation-ID":{"schema":{"type":"string","format":"uuid"},"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000"}}},"422":{"content":{"application/json":{"example":{"request_id":"REQUEST123","detail":[{"type":"basket_error.basket_item_limit","msg":"Baskets cannot have more than 200 items","loc":[]},{"type":"reservation_error.concession_id_required","msg":"Concession ID required for products which have concessions","loc":[]},{"type":"reservation_error.missing_accompaniments","msg":"Concession missing required accompaniments","loc":[]},{"type":"reservation_error.invalid_booking","msg":"Invalid booking request","loc":[]},{"type":"basket_error.invalid_session","msg":"The availability session is invalid","loc":[]},{"type":"basket_error.item_limit","msg":"Cannot book more than 1 ticket(s) for the same product","loc":[]},{"type":"basket_error.not_cancellable","msg":"The requested basket item is not cancellable","loc":[]},{"type":"reservation_error.option_required","msg":"This option is required","loc":[]},{"type":"value_error.missing","msg":"This field is required","loc":[]},{"type":"value_error.missing","msg":"Ticket holder personalisation required for this event","loc":[]},{"type":"reservation_error.reassignment_proposal","msg":"The requested seats could not be reserved, and an alternative has been proposed","loc":[],"payload":{"requested_seats":[{"row":1,"seat":2},{"row":1,"seat":4}],"proposed_seats":[{"row":1,"seat":1},{"row":1,"seat":2}]}},{"type":"basket_error.total_basket_product_quantity","msg":"Total basket product quantity exceeds limit","loc":[]}]},"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"description":"Unprocessable Entity","headers":{"X-Request-ID":{"schema":{"type":"string","format":"uuid"},"description":"Server-generated UUID corresponding to this specific response and its initiating request.","example":"123e4567-e89b-12d3-a456-426614174000"},"X-Correlation-ID":{"schema":{"type":"string","format":"uuid"},"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000"}}},"410":{"content":{"application/json":{"example":{"request_id":"REQUEST123","detail":[{"type":"reservation_error.event_gone","msg":"The requested event is no longer available for reservation","loc":[]},{"type":"reservation_error.performance_gone","msg":"The requested performance is no longer available for reservation","loc":[]},{"type":"reservation_error.performance_time","msg":"The order cannot be processed as the event start time is too close or has passed.","loc":[]},{"type":"basket_error.promocode_gone","msg":"We were unable to claim the promotional code, please remove it and try again","loc":[]},{"type":"reservation_error.seats_gone","msg":"The requested seats are no longer available for reservation","loc":[]}]},"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"description":"Gone","headers":{"X-Request-ID":{"schema":{"type":"string","format":"uuid"},"description":"Server-generated UUID corresponding to this specific response and its initiating request.","example":"123e4567-e89b-12d3-a456-426614174000"},"X-Correlation-ID":{"schema":{"type":"string","format":"uuid"},"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000"}}},"500":{"content":{"application/json":{"example":{"request_id":"REQUEST123","detail":[{"type":"basket_error.payment_mismatch","msg":"The basket's payment method is not suitable to fulfill this request (was: stripe, should be: tickitto)","loc":[]}]},"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"description":"Internal Server Error","headers":{"X-Request-ID":{"schema":{"type":"string","format":"uuid"},"description":"Server-generated UUID corresponding to this specific response and its initiating request.","example":"123e4567-e89b-12d3-a456-426614174000"},"X-Correlation-ID":{"schema":{"type":"string","format":"uuid"},"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000"}}},"402":{"content":{"application/json":{"example":{"request_id":"REQUEST123","detail":[{"type":"basket_error.payment_status","msg":"Payment id=ID123 requires action as it is currently in status=pending","loc":[],"payload":{"payment_status":"pending","payment_id":"ID123"}}]},"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"description":"Payment Required","headers":{"X-Request-ID":{"schema":{"type":"string","format":"uuid"},"description":"Server-generated UUID corresponding to this specific response and its initiating request.","example":"123e4567-e89b-12d3-a456-426614174000"},"X-Correlation-ID":{"schema":{"type":"string","format":"uuid"},"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000"}}}}}},"/api/basket/checkout":{"post":{"tags":["Basket"],"summary":"Checkout","description":"This endpoint is used to convert a basket's reservations into confirmed bookings.\n\nWhen this call is made, items which are `reserved` or `errored` will immediately move to the `booking` state.\nItems in any other state - i.e. those that have have expired, are currently being booked or which have already been booked - will not be acted upon.\n\nBy the time a response is returned, items will have moved to either `booked` or `errored`.\n\nA successful response indicates that all booking operations have finished, but does not indicate success of those bookings; this should be checked using each item's `status` field.\n\n**Note:** the account associated with the provided key must first be enabled for on-account transactions before this request can succeed.","operationId":"checkout_basket","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"basket_id","in":"query","required":true,"schema":{"type":"string","title":"Basket Id"}},{"name":"currency","in":"query","required":false,"schema":{"type":"string","description":"Currency to display event prices.","default":"GBP","title":"Currency"},"description":"Currency to display event prices."},{"name":"should_raise","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Should Raise"}},{"name":"accept-language","in":"header","required":false,"schema":{"type":"string","default":"en","title":"Accept-Language"}},{"required":false,"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000","schema":{"type":"string"},"name":"X-Correlation-ID","in":"header"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Customer"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Basket"}}},"headers":{"X-Request-ID":{"schema":{"type":"string","format":"uuid"},"description":"Server-generated UUID corresponding to this specific response and its initiating request.","example":"123e4567-e89b-12d3-a456-426614174000"},"X-Correlation-ID":{"schema":{"type":"string","format":"uuid"},"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000"}}},"401":{"content":{"application/json":{"example":{"request_id":"REQUEST123","detail":[{"type":"authentication_error.insufficient_permissions","msg":"Invalid API key - this API key does not have the required permissions to access this resource","loc":[]},{"type":"authentication_error.invalid_key","msg":"Invalid API key - this API key either does not exist or is invalid","loc":[]},{"type":"authentication_error.key_missing","msg":"An API key is required to access this endpoint","loc":[]}]},"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"description":"Unauthorized","headers":{"X-Request-ID":{"schema":{"type":"string","format":"uuid"},"description":"Server-generated UUID corresponding to this specific response and its initiating request.","example":"123e4567-e89b-12d3-a456-426614174000"},"X-Correlation-ID":{"schema":{"type":"string","format":"uuid"},"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000"}}},"404":{"content":{"application/json":{"example":{"request_id":"REQUEST123","detail":[{"type":"reservation_error.product_band_not_found","msg":"The requested product band could not be found","loc":[]},{"type":"reservation_error.basket_not_found","msg":"The requested basket could not be found","loc":[]},{"type":"reservation_error.baskets_not_found","msg":"The requested baskets could not be found","loc":[]},{"type":"reservation_error.concession_not_found","msg":"The requested concession could not be found","loc":[],"payload":{"id":"ID123"}},{"type":"reservation_error.event_not_found","msg":"The requested event could not be found","loc":[]},{"type":"basket_error.item_not_found","msg":"The requested basket item could not be found","loc":[]},{"type":"reservation_error.option_not_found","msg":"The requested option could not be found","loc":[]},{"type":"reservation_error.option_value_not_found","msg":"The requested option value could not be found","loc":[]},{"type":"reservation_error.performance_not_found","msg":"The requested performance could not be found","loc":[]},{"type":"reservation_error.product_not_found","msg":"The requested product could not be found","loc":[]},{"type":"basket_error.promocode_not_applied","msg":"That promotional code has not been applied to your basket","loc":[]},{"type":"basket_error.promocode_not_found","msg":"A promotional code corresponding to that code could not be found","loc":[]},{"type":"reservation_error.seats_not_found","msg":"The requested seats could not be found","loc":[]},{"type":"basket_error.session_not_found","msg":"The requested availability session could not be found","loc":[]}]},"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"description":"Not Found","headers":{"X-Request-ID":{"schema":{"type":"string","format":"uuid"},"description":"Server-generated UUID corresponding to this specific response and its initiating request.","example":"123e4567-e89b-12d3-a456-426614174000"},"X-Correlation-ID":{"schema":{"type":"string","format":"uuid"},"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000"}}},"409":{"content":{"application/json":{"example":{"request_id":"REQUEST123","detail":[{"type":"basket_error.status_conflict","msg":"Your basket has either been checked out or is currently being checked out and can no longer be changed","loc":[]},{"type":"basket_error.status_conflict","msg":"Your basket has not been checked out, preventing the request from being fulfilled.","loc":[]},{"type":"basket_error.not_processable","msg":"Your basket is not currently in a status that allows it to be processed","loc":[]},{"type":"basket_error.status_conflict","msg":"The basket's status prevented the request from being fulfilled","loc":[]},{"type":"basket_error.flow_incomplete","msg":"Flow incomplete","loc":[]},{"type":"basket_error.flow_mismatch","msg":"Request body does not match flow state","loc":[]},{"type":"basket_error.item_status_conflict","msg":"The basket item's status prevented the request from being fulfilled","loc":[]},{"type":"basket_error.price_mismatch","msg":"Amount paid does not match basket price","loc":[]},{"type":"basket_error.promocode_already_applied","msg":"There is already a promocode applied to your basket","loc":[]},{"type":"basket_error.promocode_redeemed","msg":"Discount code already redeemed","loc":[]},{"type":"basket_error.apply_promocode_failed","msg":"We were unable to apply that promotional code to your basket, please try again","loc":[]},{"type":"basket_error.promocode_not_applicable","msg":"The requested promotional code is not applicable to the items in your basket","loc":[]},{"type":"basket_error.remove_promocode_failed","msg":"We were unable to remove that promotional code from your basket, please try again","loc":[]}]},"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"description":"Conflict","headers":{"X-Request-ID":{"schema":{"type":"string","format":"uuid"},"description":"Server-generated UUID corresponding to this specific response and its initiating request.","example":"123e4567-e89b-12d3-a456-426614174000"},"X-Correlation-ID":{"schema":{"type":"string","format":"uuid"},"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000"}}},"400":{"content":{"application/json":{"example":{"request_id":"REQUEST123","detail":[{"type":"basket_error.currency_not_set","msg":"The basket's currency could not be set","loc":[]}]},"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"description":"Bad Request","headers":{"X-Request-ID":{"schema":{"type":"string","format":"uuid"},"description":"Server-generated UUID corresponding to this specific response and its initiating request.","example":"123e4567-e89b-12d3-a456-426614174000"},"X-Correlation-ID":{"schema":{"type":"string","format":"uuid"},"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000"}}},"422":{"content":{"application/json":{"example":{"request_id":"REQUEST123","detail":[{"type":"basket_error.basket_item_limit","msg":"Baskets cannot have more than 200 items","loc":[]},{"type":"reservation_error.concession_id_required","msg":"Concession ID required for products which have concessions","loc":[]},{"type":"reservation_error.missing_accompaniments","msg":"Concession missing required accompaniments","loc":[]},{"type":"reservation_error.invalid_booking","msg":"Invalid booking request","loc":[]},{"type":"basket_error.invalid_session","msg":"The availability session is invalid","loc":[]},{"type":"basket_error.item_limit","msg":"Cannot book more than 1 ticket(s) for the same product","loc":[]},{"type":"basket_error.not_cancellable","msg":"The requested basket item is not cancellable","loc":[]},{"type":"reservation_error.option_required","msg":"This option is required","loc":[]},{"type":"value_error.missing","msg":"This field is required","loc":[]},{"type":"value_error.missing","msg":"Ticket holder personalisation required for this event","loc":[]},{"type":"reservation_error.reassignment_proposal","msg":"The requested seats could not be reserved, and an alternative has been proposed","loc":[],"payload":{"requested_seats":[{"row":1,"seat":2},{"row":1,"seat":4}],"proposed_seats":[{"row":1,"seat":1},{"row":1,"seat":2}]}},{"type":"basket_error.total_basket_product_quantity","msg":"Total basket product quantity exceeds limit","loc":[]}]},"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"description":"Unprocessable Entity","headers":{"X-Request-ID":{"schema":{"type":"string","format":"uuid"},"description":"Server-generated UUID corresponding to this specific response and its initiating request.","example":"123e4567-e89b-12d3-a456-426614174000"},"X-Correlation-ID":{"schema":{"type":"string","format":"uuid"},"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000"}}},"410":{"content":{"application/json":{"example":{"request_id":"REQUEST123","detail":[{"type":"reservation_error.event_gone","msg":"The requested event is no longer available for reservation","loc":[]},{"type":"reservation_error.performance_gone","msg":"The requested performance is no longer available for reservation","loc":[]},{"type":"reservation_error.performance_time","msg":"The order cannot be processed as the event start time is too close or has passed.","loc":[]},{"type":"basket_error.promocode_gone","msg":"We were unable to claim the promotional code, please remove it and try again","loc":[]},{"type":"reservation_error.seats_gone","msg":"The requested seats are no longer available for reservation","loc":[]}]},"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"description":"Gone","headers":{"X-Request-ID":{"schema":{"type":"string","format":"uuid"},"description":"Server-generated UUID corresponding to this specific response and its initiating request.","example":"123e4567-e89b-12d3-a456-426614174000"},"X-Correlation-ID":{"schema":{"type":"string","format":"uuid"},"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000"}}},"500":{"content":{"application/json":{"example":{"request_id":"REQUEST123","detail":[{"type":"basket_error.payment_mismatch","msg":"The basket's payment method is not suitable to fulfill this request (was: stripe, should be: tickitto)","loc":[]}]},"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"description":"Internal Server Error","headers":{"X-Request-ID":{"schema":{"type":"string","format":"uuid"},"description":"Server-generated UUID corresponding to this specific response and its initiating request.","example":"123e4567-e89b-12d3-a456-426614174000"},"X-Correlation-ID":{"schema":{"type":"string","format":"uuid"},"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000"}}},"402":{"content":{"application/json":{"example":{"request_id":"REQUEST123","detail":[{"type":"basket_error.payment_status","msg":"Payment id=ID123 requires action as it is currently in status=pending","loc":[],"payload":{"payment_status":"pending","payment_id":"ID123"}}]},"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"description":"Payment Required","headers":{"X-Request-ID":{"schema":{"type":"string","format":"uuid"},"description":"Server-generated UUID corresponding to this specific response and its initiating request.","example":"123e4567-e89b-12d3-a456-426614174000"},"X-Correlation-ID":{"schema":{"type":"string","format":"uuid"},"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000"}}}}}},"/api/basket/cancel":{"post":{"tags":["Basket"],"summary":"Cancel Item","operationId":"cancel_basket_item","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"order_id","in":"query","required":true,"schema":{"type":"string","title":"Order Id"}},{"name":"item_id","in":"query","required":true,"schema":{"type":"string","title":"Item Id"}},{"name":"currency","in":"query","required":false,"schema":{"type":"string","description":"Currency to display event prices.","default":"GBP","title":"Currency"},"description":"Currency to display event prices."},{"name":"should_raise","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Should Raise"}},{"name":"accept-language","in":"header","required":false,"schema":{"type":"string","default":"en","title":"Accept-Language"}},{"required":false,"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000","schema":{"type":"string"},"name":"X-Correlation-ID","in":"header"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Basket"}}},"headers":{"X-Request-ID":{"schema":{"type":"string","format":"uuid"},"description":"Server-generated UUID corresponding to this specific response and its initiating request.","example":"123e4567-e89b-12d3-a456-426614174000"},"X-Correlation-ID":{"schema":{"type":"string","format":"uuid"},"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000"}}},"401":{"content":{"application/json":{"example":{"request_id":"REQUEST123","detail":[{"type":"authentication_error.insufficient_permissions","msg":"Invalid API key - this API key does not have the required permissions to access this resource","loc":[]},{"type":"authentication_error.invalid_key","msg":"Invalid API key - this API key either does not exist or is invalid","loc":[]},{"type":"authentication_error.key_missing","msg":"An API key is required to access this endpoint","loc":[]}]},"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"description":"Unauthorized","headers":{"X-Request-ID":{"schema":{"type":"string","format":"uuid"},"description":"Server-generated UUID corresponding to this specific response and its initiating request.","example":"123e4567-e89b-12d3-a456-426614174000"},"X-Correlation-ID":{"schema":{"type":"string","format":"uuid"},"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000"}}},"404":{"content":{"application/json":{"example":{"request_id":"REQUEST123","detail":[{"type":"reservation_error.product_band_not_found","msg":"The requested product band could not be found","loc":[]},{"type":"reservation_error.basket_not_found","msg":"The requested basket could not be found","loc":[]},{"type":"reservation_error.baskets_not_found","msg":"The requested baskets could not be found","loc":[]},{"type":"reservation_error.concession_not_found","msg":"The requested concession could not be found","loc":[],"payload":{"id":"ID123"}},{"type":"reservation_error.event_not_found","msg":"The requested event could not be found","loc":[]},{"type":"basket_error.item_not_found","msg":"The requested basket item could not be found","loc":[]},{"type":"reservation_error.option_not_found","msg":"The requested option could not be found","loc":[]},{"type":"reservation_error.option_value_not_found","msg":"The requested option value could not be found","loc":[]},{"type":"reservation_error.performance_not_found","msg":"The requested performance could not be found","loc":[]},{"type":"reservation_error.product_not_found","msg":"The requested product could not be found","loc":[]},{"type":"basket_error.promocode_not_applied","msg":"That promotional code has not been applied to your basket","loc":[]},{"type":"basket_error.promocode_not_found","msg":"A promotional code corresponding to that code could not be found","loc":[]},{"type":"reservation_error.seats_not_found","msg":"The requested seats could not be found","loc":[]},{"type":"basket_error.session_not_found","msg":"The requested availability session could not be found","loc":[]}]},"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"description":"Not Found","headers":{"X-Request-ID":{"schema":{"type":"string","format":"uuid"},"description":"Server-generated UUID corresponding to this specific response and its initiating request.","example":"123e4567-e89b-12d3-a456-426614174000"},"X-Correlation-ID":{"schema":{"type":"string","format":"uuid"},"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000"}}},"409":{"content":{"application/json":{"example":{"request_id":"REQUEST123","detail":[{"type":"basket_error.status_conflict","msg":"Your basket has either been checked out or is currently being checked out and can no longer be changed","loc":[]},{"type":"basket_error.status_conflict","msg":"Your basket has not been checked out, preventing the request from being fulfilled.","loc":[]},{"type":"basket_error.not_processable","msg":"Your basket is not currently in a status that allows it to be processed","loc":[]},{"type":"basket_error.status_conflict","msg":"The basket's status prevented the request from being fulfilled","loc":[]},{"type":"basket_error.flow_incomplete","msg":"Flow incomplete","loc":[]},{"type":"basket_error.flow_mismatch","msg":"Request body does not match flow state","loc":[]},{"type":"basket_error.item_status_conflict","msg":"The basket item's status prevented the request from being fulfilled","loc":[]},{"type":"basket_error.price_mismatch","msg":"Amount paid does not match basket price","loc":[]},{"type":"basket_error.promocode_already_applied","msg":"There is already a promocode applied to your basket","loc":[]},{"type":"basket_error.promocode_redeemed","msg":"Discount code already redeemed","loc":[]},{"type":"basket_error.apply_promocode_failed","msg":"We were unable to apply that promotional code to your basket, please try again","loc":[]},{"type":"basket_error.promocode_not_applicable","msg":"The requested promotional code is not applicable to the items in your basket","loc":[]},{"type":"basket_error.remove_promocode_failed","msg":"We were unable to remove that promotional code from your basket, please try again","loc":[]}]},"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"description":"Conflict","headers":{"X-Request-ID":{"schema":{"type":"string","format":"uuid"},"description":"Server-generated UUID corresponding to this specific response and its initiating request.","example":"123e4567-e89b-12d3-a456-426614174000"},"X-Correlation-ID":{"schema":{"type":"string","format":"uuid"},"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000"}}},"400":{"content":{"application/json":{"example":{"request_id":"REQUEST123","detail":[{"type":"basket_error.currency_not_set","msg":"The basket's currency could not be set","loc":[]}]},"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"description":"Bad Request","headers":{"X-Request-ID":{"schema":{"type":"string","format":"uuid"},"description":"Server-generated UUID corresponding to this specific response and its initiating request.","example":"123e4567-e89b-12d3-a456-426614174000"},"X-Correlation-ID":{"schema":{"type":"string","format":"uuid"},"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000"}}},"422":{"content":{"application/json":{"example":{"request_id":"REQUEST123","detail":[{"type":"basket_error.basket_item_limit","msg":"Baskets cannot have more than 200 items","loc":[]},{"type":"reservation_error.concession_id_required","msg":"Concession ID required for products which have concessions","loc":[]},{"type":"reservation_error.missing_accompaniments","msg":"Concession missing required accompaniments","loc":[]},{"type":"reservation_error.invalid_booking","msg":"Invalid booking request","loc":[]},{"type":"basket_error.invalid_session","msg":"The availability session is invalid","loc":[]},{"type":"basket_error.item_limit","msg":"Cannot book more than 1 ticket(s) for the same product","loc":[]},{"type":"basket_error.not_cancellable","msg":"The requested basket item is not cancellable","loc":[]},{"type":"reservation_error.option_required","msg":"This option is required","loc":[]},{"type":"value_error.missing","msg":"This field is required","loc":[]},{"type":"value_error.missing","msg":"Ticket holder personalisation required for this event","loc":[]},{"type":"reservation_error.reassignment_proposal","msg":"The requested seats could not be reserved, and an alternative has been proposed","loc":[],"payload":{"requested_seats":[{"row":1,"seat":2},{"row":1,"seat":4}],"proposed_seats":[{"row":1,"seat":1},{"row":1,"seat":2}]}},{"type":"basket_error.total_basket_product_quantity","msg":"Total basket product quantity exceeds limit","loc":[]}]},"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"description":"Unprocessable Entity","headers":{"X-Request-ID":{"schema":{"type":"string","format":"uuid"},"description":"Server-generated UUID corresponding to this specific response and its initiating request.","example":"123e4567-e89b-12d3-a456-426614174000"},"X-Correlation-ID":{"schema":{"type":"string","format":"uuid"},"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000"}}},"410":{"content":{"application/json":{"example":{"request_id":"REQUEST123","detail":[{"type":"reservation_error.event_gone","msg":"The requested event is no longer available for reservation","loc":[]},{"type":"reservation_error.performance_gone","msg":"The requested performance is no longer available for reservation","loc":[]},{"type":"reservation_error.performance_time","msg":"The order cannot be processed as the event start time is too close or has passed.","loc":[]},{"type":"basket_error.promocode_gone","msg":"We were unable to claim the promotional code, please remove it and try again","loc":[]},{"type":"reservation_error.seats_gone","msg":"The requested seats are no longer available for reservation","loc":[]}]},"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"description":"Gone","headers":{"X-Request-ID":{"schema":{"type":"string","format":"uuid"},"description":"Server-generated UUID corresponding to this specific response and its initiating request.","example":"123e4567-e89b-12d3-a456-426614174000"},"X-Correlation-ID":{"schema":{"type":"string","format":"uuid"},"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000"}}},"500":{"content":{"application/json":{"example":{"request_id":"REQUEST123","detail":[{"type":"basket_error.payment_mismatch","msg":"The basket's payment method is not suitable to fulfill this request (was: stripe, should be: tickitto)","loc":[]}]},"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"description":"Internal Server Error","headers":{"X-Request-ID":{"schema":{"type":"string","format":"uuid"},"description":"Server-generated UUID corresponding to this specific response and its initiating request.","example":"123e4567-e89b-12d3-a456-426614174000"},"X-Correlation-ID":{"schema":{"type":"string","format":"uuid"},"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000"}}},"402":{"content":{"application/json":{"example":{"request_id":"REQUEST123","detail":[{"type":"basket_error.payment_status","msg":"Payment id=ID123 requires action as it is currently in status=pending","loc":[],"payload":{"payment_status":"pending","payment_id":"ID123"}}]},"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"description":"Payment Required","headers":{"X-Request-ID":{"schema":{"type":"string","format":"uuid"},"description":"Server-generated UUID corresponding to this specific response and its initiating request.","example":"123e4567-e89b-12d3-a456-426614174000"},"X-Correlation-ID":{"schema":{"type":"string","format":"uuid"},"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000"}}}}}},"/api/basket/stripe_object":{"post":{"tags":["Basket"],"summary":"Create Stripe Object","description":"When using Tickitto as the Merchant of Record, creates and returns an object containing the Stripe intent needed for the front-end to handle basket payment.\n\n**Note:* the account associated with the provided key must first be enabled for Stripe checkout before this request can succeed.","operationId":"create_stripe_object","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"basket_id","in":"query","required":true,"schema":{"type":"string","title":"Basket Id"}},{"required":false,"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000","schema":{"type":"string"},"name":"X-Correlation-ID","in":"header"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Customer"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StripeObject"}}},"headers":{"X-Request-ID":{"schema":{"type":"string","format":"uuid"},"description":"Server-generated UUID corresponding to this specific response and its initiating request.","example":"123e4567-e89b-12d3-a456-426614174000"},"X-Correlation-ID":{"schema":{"type":"string","format":"uuid"},"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000"}}},"401":{"content":{"application/json":{"example":{"request_id":"REQUEST123","detail":[{"type":"authentication_error.insufficient_permissions","msg":"Invalid API key - this API key does not have the required permissions to access this resource","loc":[]},{"type":"authentication_error.invalid_key","msg":"Invalid API key - this API key either does not exist or is invalid","loc":[]},{"type":"authentication_error.key_missing","msg":"An API key is required to access this endpoint","loc":[]}]},"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"description":"Unauthorized","headers":{"X-Request-ID":{"schema":{"type":"string","format":"uuid"},"description":"Server-generated UUID corresponding to this specific response and its initiating request.","example":"123e4567-e89b-12d3-a456-426614174000"},"X-Correlation-ID":{"schema":{"type":"string","format":"uuid"},"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000"}}},"404":{"content":{"application/json":{"example":{"request_id":"REQUEST123","detail":[{"type":"reservation_error.product_band_not_found","msg":"The requested product band could not be found","loc":[]},{"type":"reservation_error.basket_not_found","msg":"The requested basket could not be found","loc":[]},{"type":"reservation_error.baskets_not_found","msg":"The requested baskets could not be found","loc":[]},{"type":"reservation_error.concession_not_found","msg":"The requested concession could not be found","loc":[],"payload":{"id":"ID123"}},{"type":"reservation_error.event_not_found","msg":"The requested event could not be found","loc":[]},{"type":"basket_error.item_not_found","msg":"The requested basket item could not be found","loc":[]},{"type":"reservation_error.option_not_found","msg":"The requested option could not be found","loc":[]},{"type":"reservation_error.option_value_not_found","msg":"The requested option value could not be found","loc":[]},{"type":"reservation_error.performance_not_found","msg":"The requested performance could not be found","loc":[]},{"type":"reservation_error.product_not_found","msg":"The requested product could not be found","loc":[]},{"type":"basket_error.promocode_not_applied","msg":"That promotional code has not been applied to your basket","loc":[]},{"type":"basket_error.promocode_not_found","msg":"A promotional code corresponding to that code could not be found","loc":[]},{"type":"reservation_error.seats_not_found","msg":"The requested seats could not be found","loc":[]},{"type":"basket_error.session_not_found","msg":"The requested availability session could not be found","loc":[]}]},"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"description":"Not Found","headers":{"X-Request-ID":{"schema":{"type":"string","format":"uuid"},"description":"Server-generated UUID corresponding to this specific response and its initiating request.","example":"123e4567-e89b-12d3-a456-426614174000"},"X-Correlation-ID":{"schema":{"type":"string","format":"uuid"},"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000"}}},"409":{"content":{"application/json":{"example":{"request_id":"REQUEST123","detail":[{"type":"basket_error.status_conflict","msg":"Your basket has either been checked out or is currently being checked out and can no longer be changed","loc":[]},{"type":"basket_error.status_conflict","msg":"Your basket has not been checked out, preventing the request from being fulfilled.","loc":[]},{"type":"basket_error.not_processable","msg":"Your basket is not currently in a status that allows it to be processed","loc":[]},{"type":"basket_error.status_conflict","msg":"The basket's status prevented the request from being fulfilled","loc":[]},{"type":"basket_error.flow_incomplete","msg":"Flow incomplete","loc":[]},{"type":"basket_error.flow_mismatch","msg":"Request body does not match flow state","loc":[]},{"type":"basket_error.item_status_conflict","msg":"The basket item's status prevented the request from being fulfilled","loc":[]},{"type":"basket_error.price_mismatch","msg":"Amount paid does not match basket price","loc":[]},{"type":"basket_error.promocode_already_applied","msg":"There is already a promocode applied to your basket","loc":[]},{"type":"basket_error.promocode_redeemed","msg":"Discount code already redeemed","loc":[]},{"type":"basket_error.apply_promocode_failed","msg":"We were unable to apply that promotional code to your basket, please try again","loc":[]},{"type":"basket_error.promocode_not_applicable","msg":"The requested promotional code is not applicable to the items in your basket","loc":[]},{"type":"basket_error.remove_promocode_failed","msg":"We were unable to remove that promotional code from your basket, please try again","loc":[]}]},"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"description":"Conflict","headers":{"X-Request-ID":{"schema":{"type":"string","format":"uuid"},"description":"Server-generated UUID corresponding to this specific response and its initiating request.","example":"123e4567-e89b-12d3-a456-426614174000"},"X-Correlation-ID":{"schema":{"type":"string","format":"uuid"},"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000"}}},"400":{"content":{"application/json":{"example":{"request_id":"REQUEST123","detail":[{"type":"basket_error.currency_not_set","msg":"The basket's currency could not be set","loc":[]}]},"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"description":"Bad Request","headers":{"X-Request-ID":{"schema":{"type":"string","format":"uuid"},"description":"Server-generated UUID corresponding to this specific response and its initiating request.","example":"123e4567-e89b-12d3-a456-426614174000"},"X-Correlation-ID":{"schema":{"type":"string","format":"uuid"},"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000"}}},"422":{"content":{"application/json":{"example":{"request_id":"REQUEST123","detail":[{"type":"basket_error.basket_item_limit","msg":"Baskets cannot have more than 200 items","loc":[]},{"type":"reservation_error.concession_id_required","msg":"Concession ID required for products which have concessions","loc":[]},{"type":"reservation_error.missing_accompaniments","msg":"Concession missing required accompaniments","loc":[]},{"type":"reservation_error.invalid_booking","msg":"Invalid booking request","loc":[]},{"type":"basket_error.invalid_session","msg":"The availability session is invalid","loc":[]},{"type":"basket_error.item_limit","msg":"Cannot book more than 1 ticket(s) for the same product","loc":[]},{"type":"basket_error.not_cancellable","msg":"The requested basket item is not cancellable","loc":[]},{"type":"reservation_error.option_required","msg":"This option is required","loc":[]},{"type":"value_error.missing","msg":"This field is required","loc":[]},{"type":"value_error.missing","msg":"Ticket holder personalisation required for this event","loc":[]},{"type":"reservation_error.reassignment_proposal","msg":"The requested seats could not be reserved, and an alternative has been proposed","loc":[],"payload":{"requested_seats":[{"row":1,"seat":2},{"row":1,"seat":4}],"proposed_seats":[{"row":1,"seat":1},{"row":1,"seat":2}]}},{"type":"basket_error.total_basket_product_quantity","msg":"Total basket product quantity exceeds limit","loc":[]}]},"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"description":"Unprocessable Entity","headers":{"X-Request-ID":{"schema":{"type":"string","format":"uuid"},"description":"Server-generated UUID corresponding to this specific response and its initiating request.","example":"123e4567-e89b-12d3-a456-426614174000"},"X-Correlation-ID":{"schema":{"type":"string","format":"uuid"},"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000"}}},"410":{"content":{"application/json":{"example":{"request_id":"REQUEST123","detail":[{"type":"reservation_error.event_gone","msg":"The requested event is no longer available for reservation","loc":[]},{"type":"reservation_error.performance_gone","msg":"The requested performance is no longer available for reservation","loc":[]},{"type":"reservation_error.performance_time","msg":"The order cannot be processed as the event start time is too close or has passed.","loc":[]},{"type":"basket_error.promocode_gone","msg":"We were unable to claim the promotional code, please remove it and try again","loc":[]},{"type":"reservation_error.seats_gone","msg":"The requested seats are no longer available for reservation","loc":[]}]},"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"description":"Gone","headers":{"X-Request-ID":{"schema":{"type":"string","format":"uuid"},"description":"Server-generated UUID corresponding to this specific response and its initiating request.","example":"123e4567-e89b-12d3-a456-426614174000"},"X-Correlation-ID":{"schema":{"type":"string","format":"uuid"},"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000"}}},"500":{"content":{"application/json":{"example":{"request_id":"REQUEST123","detail":[{"type":"basket_error.payment_mismatch","msg":"The basket's payment method is not suitable to fulfill this request (was: stripe, should be: tickitto)","loc":[]}]},"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"description":"Internal Server Error","headers":{"X-Request-ID":{"schema":{"type":"string","format":"uuid"},"description":"Server-generated UUID corresponding to this specific response and its initiating request.","example":"123e4567-e89b-12d3-a456-426614174000"},"X-Correlation-ID":{"schema":{"type":"string","format":"uuid"},"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000"}}},"402":{"content":{"application/json":{"example":{"request_id":"REQUEST123","detail":[{"type":"basket_error.payment_status","msg":"Payment id=ID123 requires action as it is currently in status=pending","loc":[],"payload":{"payment_status":"pending","payment_id":"ID123"}}]},"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"description":"Payment Required","headers":{"X-Request-ID":{"schema":{"type":"string","format":"uuid"},"description":"Server-generated UUID corresponding to this specific response and its initiating request.","example":"123e4567-e89b-12d3-a456-426614174000"},"X-Correlation-ID":{"schema":{"type":"string","format":"uuid"},"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000"}}}}}},"/api/basket/careem_pay_object":{"post":{"tags":["Basket"],"summary":"Create Careem Pay Object","description":"When using Tickitto as the Merchant of Record, creates and returns an object containing the careem pay details needed for the front-end to handle basket payment.\n\n**Note:* the account associated with the provided key must first be enabled for Careem Pay checkout before this request can succeed.","operationId":"create_careem_pay_object","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"basket_id","in":"query","required":true,"schema":{"type":"string","title":"Basket Id"}},{"name":"currency","in":"query","required":false,"schema":{"type":"string","description":"Currency for Careem Pay transaction","default":"AED","title":"Currency"},"description":"Currency for Careem Pay transaction"},{"required":false,"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000","schema":{"type":"string"},"name":"X-Correlation-ID","in":"header"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CareemCustomer"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CareemPayObject"}}},"headers":{"X-Request-ID":{"schema":{"type":"string","format":"uuid"},"description":"Server-generated UUID corresponding to this specific response and its initiating request.","example":"123e4567-e89b-12d3-a456-426614174000"},"X-Correlation-ID":{"schema":{"type":"string","format":"uuid"},"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000"}}},"401":{"content":{"application/json":{"example":{"request_id":"REQUEST123","detail":[{"type":"authentication_error.insufficient_permissions","msg":"Invalid API key - this API key does not have the required permissions to access this resource","loc":[]},{"type":"authentication_error.invalid_key","msg":"Invalid API key - this API key either does not exist or is invalid","loc":[]},{"type":"authentication_error.key_missing","msg":"An API key is required to access this endpoint","loc":[]}]},"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"description":"Unauthorized","headers":{"X-Request-ID":{"schema":{"type":"string","format":"uuid"},"description":"Server-generated UUID corresponding to this specific response and its initiating request.","example":"123e4567-e89b-12d3-a456-426614174000"},"X-Correlation-ID":{"schema":{"type":"string","format":"uuid"},"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000"}}},"404":{"content":{"application/json":{"example":{"request_id":"REQUEST123","detail":[{"type":"reservation_error.product_band_not_found","msg":"The requested product band could not be found","loc":[]},{"type":"reservation_error.basket_not_found","msg":"The requested basket could not be found","loc":[]},{"type":"reservation_error.baskets_not_found","msg":"The requested baskets could not be found","loc":[]},{"type":"reservation_error.concession_not_found","msg":"The requested concession could not be found","loc":[],"payload":{"id":"ID123"}},{"type":"reservation_error.event_not_found","msg":"The requested event could not be found","loc":[]},{"type":"basket_error.item_not_found","msg":"The requested basket item could not be found","loc":[]},{"type":"reservation_error.option_not_found","msg":"The requested option could not be found","loc":[]},{"type":"reservation_error.option_value_not_found","msg":"The requested option value could not be found","loc":[]},{"type":"reservation_error.performance_not_found","msg":"The requested performance could not be found","loc":[]},{"type":"reservation_error.product_not_found","msg":"The requested product could not be found","loc":[]},{"type":"basket_error.promocode_not_applied","msg":"That promotional code has not been applied to your basket","loc":[]},{"type":"basket_error.promocode_not_found","msg":"A promotional code corresponding to that code could not be found","loc":[]},{"type":"reservation_error.seats_not_found","msg":"The requested seats could not be found","loc":[]},{"type":"basket_error.session_not_found","msg":"The requested availability session could not be found","loc":[]}]},"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"description":"Not Found","headers":{"X-Request-ID":{"schema":{"type":"string","format":"uuid"},"description":"Server-generated UUID corresponding to this specific response and its initiating request.","example":"123e4567-e89b-12d3-a456-426614174000"},"X-Correlation-ID":{"schema":{"type":"string","format":"uuid"},"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000"}}},"409":{"content":{"application/json":{"example":{"request_id":"REQUEST123","detail":[{"type":"basket_error.status_conflict","msg":"Your basket has either been checked out or is currently being checked out and can no longer be changed","loc":[]},{"type":"basket_error.status_conflict","msg":"Your basket has not been checked out, preventing the request from being fulfilled.","loc":[]},{"type":"basket_error.not_processable","msg":"Your basket is not currently in a status that allows it to be processed","loc":[]},{"type":"basket_error.status_conflict","msg":"The basket's status prevented the request from being fulfilled","loc":[]},{"type":"basket_error.flow_incomplete","msg":"Flow incomplete","loc":[]},{"type":"basket_error.flow_mismatch","msg":"Request body does not match flow state","loc":[]},{"type":"basket_error.item_status_conflict","msg":"The basket item's status prevented the request from being fulfilled","loc":[]},{"type":"basket_error.price_mismatch","msg":"Amount paid does not match basket price","loc":[]},{"type":"basket_error.promocode_already_applied","msg":"There is already a promocode applied to your basket","loc":[]},{"type":"basket_error.promocode_redeemed","msg":"Discount code already redeemed","loc":[]},{"type":"basket_error.apply_promocode_failed","msg":"We were unable to apply that promotional code to your basket, please try again","loc":[]},{"type":"basket_error.promocode_not_applicable","msg":"The requested promotional code is not applicable to the items in your basket","loc":[]},{"type":"basket_error.remove_promocode_failed","msg":"We were unable to remove that promotional code from your basket, please try again","loc":[]}]},"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"description":"Conflict","headers":{"X-Request-ID":{"schema":{"type":"string","format":"uuid"},"description":"Server-generated UUID corresponding to this specific response and its initiating request.","example":"123e4567-e89b-12d3-a456-426614174000"},"X-Correlation-ID":{"schema":{"type":"string","format":"uuid"},"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000"}}},"400":{"content":{"application/json":{"example":{"request_id":"REQUEST123","detail":[{"type":"basket_error.currency_not_set","msg":"The basket's currency could not be set","loc":[]}]},"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"description":"Bad Request","headers":{"X-Request-ID":{"schema":{"type":"string","format":"uuid"},"description":"Server-generated UUID corresponding to this specific response and its initiating request.","example":"123e4567-e89b-12d3-a456-426614174000"},"X-Correlation-ID":{"schema":{"type":"string","format":"uuid"},"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000"}}},"422":{"content":{"application/json":{"example":{"request_id":"REQUEST123","detail":[{"type":"basket_error.basket_item_limit","msg":"Baskets cannot have more than 200 items","loc":[]},{"type":"reservation_error.concession_id_required","msg":"Concession ID required for products which have concessions","loc":[]},{"type":"reservation_error.missing_accompaniments","msg":"Concession missing required accompaniments","loc":[]},{"type":"reservation_error.invalid_booking","msg":"Invalid booking request","loc":[]},{"type":"basket_error.invalid_session","msg":"The availability session is invalid","loc":[]},{"type":"basket_error.item_limit","msg":"Cannot book more than 1 ticket(s) for the same product","loc":[]},{"type":"basket_error.not_cancellable","msg":"The requested basket item is not cancellable","loc":[]},{"type":"reservation_error.option_required","msg":"This option is required","loc":[]},{"type":"value_error.missing","msg":"This field is required","loc":[]},{"type":"value_error.missing","msg":"Ticket holder personalisation required for this event","loc":[]},{"type":"reservation_error.reassignment_proposal","msg":"The requested seats could not be reserved, and an alternative has been proposed","loc":[],"payload":{"requested_seats":[{"row":1,"seat":2},{"row":1,"seat":4}],"proposed_seats":[{"row":1,"seat":1},{"row":1,"seat":2}]}},{"type":"basket_error.total_basket_product_quantity","msg":"Total basket product quantity exceeds limit","loc":[]}]},"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"description":"Unprocessable Entity","headers":{"X-Request-ID":{"schema":{"type":"string","format":"uuid"},"description":"Server-generated UUID corresponding to this specific response and its initiating request.","example":"123e4567-e89b-12d3-a456-426614174000"},"X-Correlation-ID":{"schema":{"type":"string","format":"uuid"},"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000"}}},"410":{"content":{"application/json":{"example":{"request_id":"REQUEST123","detail":[{"type":"reservation_error.event_gone","msg":"The requested event is no longer available for reservation","loc":[]},{"type":"reservation_error.performance_gone","msg":"The requested performance is no longer available for reservation","loc":[]},{"type":"reservation_error.performance_time","msg":"The order cannot be processed as the event start time is too close or has passed.","loc":[]},{"type":"basket_error.promocode_gone","msg":"We were unable to claim the promotional code, please remove it and try again","loc":[]},{"type":"reservation_error.seats_gone","msg":"The requested seats are no longer available for reservation","loc":[]}]},"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"description":"Gone","headers":{"X-Request-ID":{"schema":{"type":"string","format":"uuid"},"description":"Server-generated UUID corresponding to this specific response and its initiating request.","example":"123e4567-e89b-12d3-a456-426614174000"},"X-Correlation-ID":{"schema":{"type":"string","format":"uuid"},"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000"}}},"500":{"content":{"application/json":{"example":{"request_id":"REQUEST123","detail":[{"type":"basket_error.payment_mismatch","msg":"The basket's payment method is not suitable to fulfill this request (was: stripe, should be: tickitto)","loc":[]}]},"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"description":"Internal Server Error","headers":{"X-Request-ID":{"schema":{"type":"string","format":"uuid"},"description":"Server-generated UUID corresponding to this specific response and its initiating request.","example":"123e4567-e89b-12d3-a456-426614174000"},"X-Correlation-ID":{"schema":{"type":"string","format":"uuid"},"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000"}}},"402":{"content":{"application/json":{"example":{"request_id":"REQUEST123","detail":[{"type":"basket_error.payment_status","msg":"Payment id=ID123 requires action as it is currently in status=pending","loc":[],"payload":{"payment_status":"pending","payment_id":"ID123"}}]},"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"description":"Payment Required","headers":{"X-Request-ID":{"schema":{"type":"string","format":"uuid"},"description":"Server-generated UUID corresponding to this specific response and its initiating request.","example":"123e4567-e89b-12d3-a456-426614174000"},"X-Correlation-ID":{"schema":{"type":"string","format":"uuid"},"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000"}}}}}},"/api/basket/intele_commission":{"get":{"tags":["Basket"],"summary":"Get Intele Commission","description":"This endpoint returns commission details for a basket for Intele.","operationId":"intele_commission","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"basket_id","in":"query","required":true,"schema":{"type":"string","title":"Basket Id"}},{"required":false,"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000","schema":{"type":"string"},"name":"X-Correlation-ID","in":"header"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InteleCommissionResults"}}},"headers":{"X-Request-ID":{"schema":{"type":"string","format":"uuid"},"description":"Server-generated UUID corresponding to this specific response and its initiating request.","example":"123e4567-e89b-12d3-a456-426614174000"},"X-Correlation-ID":{"schema":{"type":"string","format":"uuid"},"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000"}}},"401":{"content":{"application/json":{"example":{"request_id":"REQUEST123","detail":[{"type":"authentication_error.insufficient_permissions","msg":"Invalid API key - this API key does not have the required permissions to access this resource","loc":[]},{"type":"authentication_error.invalid_key","msg":"Invalid API key - this API key either does not exist or is invalid","loc":[]},{"type":"authentication_error.key_missing","msg":"An API key is required to access this endpoint","loc":[]}]},"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"description":"Unauthorized","headers":{"X-Request-ID":{"schema":{"type":"string","format":"uuid"},"description":"Server-generated UUID corresponding to this specific response and its initiating request.","example":"123e4567-e89b-12d3-a456-426614174000"},"X-Correlation-ID":{"schema":{"type":"string","format":"uuid"},"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000"}}},"404":{"content":{"application/json":{"example":{"request_id":"REQUEST123","detail":[{"type":"reservation_error.product_band_not_found","msg":"The requested product band could not be found","loc":[]},{"type":"reservation_error.basket_not_found","msg":"The requested basket could not be found","loc":[]},{"type":"reservation_error.baskets_not_found","msg":"The requested baskets could not be found","loc":[]},{"type":"reservation_error.concession_not_found","msg":"The requested concession could not be found","loc":[],"payload":{"id":"ID123"}},{"type":"reservation_error.event_not_found","msg":"The requested event could not be found","loc":[]},{"type":"basket_error.item_not_found","msg":"The requested basket item could not be found","loc":[]},{"type":"reservation_error.option_not_found","msg":"The requested option could not be found","loc":[]},{"type":"reservation_error.option_value_not_found","msg":"The requested option value could not be found","loc":[]},{"type":"reservation_error.performance_not_found","msg":"The requested performance could not be found","loc":[]},{"type":"reservation_error.product_not_found","msg":"The requested product could not be found","loc":[]},{"type":"basket_error.promocode_not_applied","msg":"That promotional code has not been applied to your basket","loc":[]},{"type":"basket_error.promocode_not_found","msg":"A promotional code corresponding to that code could not be found","loc":[]},{"type":"reservation_error.seats_not_found","msg":"The requested seats could not be found","loc":[]},{"type":"basket_error.session_not_found","msg":"The requested availability session could not be found","loc":[]}]},"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"description":"Not Found","headers":{"X-Request-ID":{"schema":{"type":"string","format":"uuid"},"description":"Server-generated UUID corresponding to this specific response and its initiating request.","example":"123e4567-e89b-12d3-a456-426614174000"},"X-Correlation-ID":{"schema":{"type":"string","format":"uuid"},"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000"}}},"409":{"content":{"application/json":{"example":{"request_id":"REQUEST123","detail":[{"type":"basket_error.status_conflict","msg":"Your basket has either been checked out or is currently being checked out and can no longer be changed","loc":[]},{"type":"basket_error.status_conflict","msg":"Your basket has not been checked out, preventing the request from being fulfilled.","loc":[]},{"type":"basket_error.not_processable","msg":"Your basket is not currently in a status that allows it to be processed","loc":[]},{"type":"basket_error.status_conflict","msg":"The basket's status prevented the request from being fulfilled","loc":[]},{"type":"basket_error.flow_incomplete","msg":"Flow incomplete","loc":[]},{"type":"basket_error.flow_mismatch","msg":"Request body does not match flow state","loc":[]},{"type":"basket_error.item_status_conflict","msg":"The basket item's status prevented the request from being fulfilled","loc":[]},{"type":"basket_error.price_mismatch","msg":"Amount paid does not match basket price","loc":[]},{"type":"basket_error.promocode_already_applied","msg":"There is already a promocode applied to your basket","loc":[]},{"type":"basket_error.promocode_redeemed","msg":"Discount code already redeemed","loc":[]},{"type":"basket_error.apply_promocode_failed","msg":"We were unable to apply that promotional code to your basket, please try again","loc":[]},{"type":"basket_error.promocode_not_applicable","msg":"The requested promotional code is not applicable to the items in your basket","loc":[]},{"type":"basket_error.remove_promocode_failed","msg":"We were unable to remove that promotional code from your basket, please try again","loc":[]}]},"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"description":"Conflict","headers":{"X-Request-ID":{"schema":{"type":"string","format":"uuid"},"description":"Server-generated UUID corresponding to this specific response and its initiating request.","example":"123e4567-e89b-12d3-a456-426614174000"},"X-Correlation-ID":{"schema":{"type":"string","format":"uuid"},"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000"}}},"400":{"content":{"application/json":{"example":{"request_id":"REQUEST123","detail":[{"type":"basket_error.currency_not_set","msg":"The basket's currency could not be set","loc":[]}]},"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"description":"Bad Request","headers":{"X-Request-ID":{"schema":{"type":"string","format":"uuid"},"description":"Server-generated UUID corresponding to this specific response and its initiating request.","example":"123e4567-e89b-12d3-a456-426614174000"},"X-Correlation-ID":{"schema":{"type":"string","format":"uuid"},"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000"}}},"422":{"content":{"application/json":{"example":{"request_id":"REQUEST123","detail":[{"type":"basket_error.basket_item_limit","msg":"Baskets cannot have more than 200 items","loc":[]},{"type":"reservation_error.concession_id_required","msg":"Concession ID required for products which have concessions","loc":[]},{"type":"reservation_error.missing_accompaniments","msg":"Concession missing required accompaniments","loc":[]},{"type":"reservation_error.invalid_booking","msg":"Invalid booking request","loc":[]},{"type":"basket_error.invalid_session","msg":"The availability session is invalid","loc":[]},{"type":"basket_error.item_limit","msg":"Cannot book more than 1 ticket(s) for the same product","loc":[]},{"type":"basket_error.not_cancellable","msg":"The requested basket item is not cancellable","loc":[]},{"type":"reservation_error.option_required","msg":"This option is required","loc":[]},{"type":"value_error.missing","msg":"This field is required","loc":[]},{"type":"value_error.missing","msg":"Ticket holder personalisation required for this event","loc":[]},{"type":"reservation_error.reassignment_proposal","msg":"The requested seats could not be reserved, and an alternative has been proposed","loc":[],"payload":{"requested_seats":[{"row":1,"seat":2},{"row":1,"seat":4}],"proposed_seats":[{"row":1,"seat":1},{"row":1,"seat":2}]}},{"type":"basket_error.total_basket_product_quantity","msg":"Total basket product quantity exceeds limit","loc":[]}]},"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"description":"Unprocessable Entity","headers":{"X-Request-ID":{"schema":{"type":"string","format":"uuid"},"description":"Server-generated UUID corresponding to this specific response and its initiating request.","example":"123e4567-e89b-12d3-a456-426614174000"},"X-Correlation-ID":{"schema":{"type":"string","format":"uuid"},"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000"}}},"410":{"content":{"application/json":{"example":{"request_id":"REQUEST123","detail":[{"type":"reservation_error.event_gone","msg":"The requested event is no longer available for reservation","loc":[]},{"type":"reservation_error.performance_gone","msg":"The requested performance is no longer available for reservation","loc":[]},{"type":"reservation_error.performance_time","msg":"The order cannot be processed as the event start time is too close or has passed.","loc":[]},{"type":"basket_error.promocode_gone","msg":"We were unable to claim the promotional code, please remove it and try again","loc":[]},{"type":"reservation_error.seats_gone","msg":"The requested seats are no longer available for reservation","loc":[]}]},"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"description":"Gone","headers":{"X-Request-ID":{"schema":{"type":"string","format":"uuid"},"description":"Server-generated UUID corresponding to this specific response and its initiating request.","example":"123e4567-e89b-12d3-a456-426614174000"},"X-Correlation-ID":{"schema":{"type":"string","format":"uuid"},"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000"}}},"500":{"content":{"application/json":{"example":{"request_id":"REQUEST123","detail":[{"type":"basket_error.payment_mismatch","msg":"The basket's payment method is not suitable to fulfill this request (was: stripe, should be: tickitto)","loc":[]}]},"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"description":"Internal Server Error","headers":{"X-Request-ID":{"schema":{"type":"string","format":"uuid"},"description":"Server-generated UUID corresponding to this specific response and its initiating request.","example":"123e4567-e89b-12d3-a456-426614174000"},"X-Correlation-ID":{"schema":{"type":"string","format":"uuid"},"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000"}}},"402":{"content":{"application/json":{"example":{"request_id":"REQUEST123","detail":[{"type":"basket_error.payment_status","msg":"Payment id=ID123 requires action as it is currently in status=pending","loc":[],"payload":{"payment_status":"pending","payment_id":"ID123"}}]},"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"description":"Payment Required","headers":{"X-Request-ID":{"schema":{"type":"string","format":"uuid"},"description":"Server-generated UUID corresponding to this specific response and its initiating request.","example":"123e4567-e89b-12d3-a456-426614174000"},"X-Correlation-ID":{"schema":{"type":"string","format":"uuid"},"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000"}}}}}},"/api/webhooks/vivid-file-push":{"post":{"tags":["Webhooks"],"summary":"Process File Endpoint","operationId":"process_file_endpoint_api_webhooks_vivid_file_push_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VFPRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}},"headers":{"X-Request-ID":{"schema":{"type":"string","format":"uuid"},"description":"Server-generated UUID corresponding to this specific response and its initiating request.","example":"123e4567-e89b-12d3-a456-426614174000"},"X-Correlation-ID":{"schema":{"type":"string","format":"uuid"},"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000"}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"},"example":{"request_id":"REQUEST123","detail":[{"type":"authentication_error.insufficient_permissions","msg":"Invalid API key - this API key does not have the required permissions to access this resource","loc":[]},{"type":"authentication_error.invalid_key","msg":"Invalid API key - this API key either does not exist or is invalid","loc":[]},{"type":"authentication_error.key_missing","msg":"An API key is required to access this endpoint","loc":[]}]}}},"headers":{"X-Request-ID":{"schema":{"type":"string","format":"uuid"},"description":"Server-generated UUID corresponding to this specific response and its initiating request.","example":"123e4567-e89b-12d3-a456-426614174000"},"X-Correlation-ID":{"schema":{"type":"string","format":"uuid"},"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000"}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"},"example":{"request_id":"REQUEST123","detail":[{"type":"reservation_error.product_band_not_found","msg":"The requested product band could not be found","loc":[]},{"type":"reservation_error.basket_not_found","msg":"The requested basket could not be found","loc":[]},{"type":"reservation_error.baskets_not_found","msg":"The requested baskets could not be found","loc":[]},{"type":"reservation_error.concession_not_found","msg":"The requested concession could not be found","loc":[],"payload":{"id":"ID123"}},{"type":"reservation_error.event_not_found","msg":"The requested event could not be found","loc":[]},{"type":"basket_error.item_not_found","msg":"The requested basket item could not be found","loc":[]},{"type":"reservation_error.option_not_found","msg":"The requested option could not be found","loc":[]},{"type":"reservation_error.option_value_not_found","msg":"The requested option value could not be found","loc":[]},{"type":"reservation_error.performance_not_found","msg":"The requested performance could not be found","loc":[]},{"type":"reservation_error.product_not_found","msg":"The requested product could not be found","loc":[]},{"type":"basket_error.promocode_not_applied","msg":"That promotional code has not been applied to your basket","loc":[]},{"type":"basket_error.promocode_not_found","msg":"A promotional code corresponding to that code could not be found","loc":[]},{"type":"reservation_error.seats_not_found","msg":"The requested seats could not be found","loc":[]},{"type":"basket_error.session_not_found","msg":"The requested availability session could not be found","loc":[]}]}}},"headers":{"X-Request-ID":{"schema":{"type":"string","format":"uuid"},"description":"Server-generated UUID corresponding to this specific response and its initiating request.","example":"123e4567-e89b-12d3-a456-426614174000"},"X-Correlation-ID":{"schema":{"type":"string","format":"uuid"},"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000"}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"},"example":{"request_id":"REQUEST123","detail":[{"type":"basket_error.status_conflict","msg":"Your basket has either been checked out or is currently being checked out and can no longer be changed","loc":[]},{"type":"basket_error.status_conflict","msg":"Your basket has not been checked out, preventing the request from being fulfilled.","loc":[]},{"type":"basket_error.not_processable","msg":"Your basket is not currently in a status that allows it to be processed","loc":[]},{"type":"basket_error.status_conflict","msg":"The basket's status prevented the request from being fulfilled","loc":[]},{"type":"basket_error.flow_incomplete","msg":"Flow incomplete","loc":[]},{"type":"basket_error.flow_mismatch","msg":"Request body does not match flow state","loc":[]},{"type":"basket_error.item_status_conflict","msg":"The basket item's status prevented the request from being fulfilled","loc":[]},{"type":"basket_error.price_mismatch","msg":"Amount paid does not match basket price","loc":[]},{"type":"basket_error.promocode_already_applied","msg":"There is already a promocode applied to your basket","loc":[]},{"type":"basket_error.promocode_redeemed","msg":"Discount code already redeemed","loc":[]},{"type":"basket_error.apply_promocode_failed","msg":"We were unable to apply that promotional code to your basket, please try again","loc":[]},{"type":"basket_error.promocode_not_applicable","msg":"The requested promotional code is not applicable to the items in your basket","loc":[]},{"type":"basket_error.remove_promocode_failed","msg":"We were unable to remove that promotional code from your basket, please try again","loc":[]}]}}},"headers":{"X-Request-ID":{"schema":{"type":"string","format":"uuid"},"description":"Server-generated UUID corresponding to this specific response and its initiating request.","example":"123e4567-e89b-12d3-a456-426614174000"},"X-Correlation-ID":{"schema":{"type":"string","format":"uuid"},"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000"}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"},"example":{"request_id":"REQUEST123","detail":[{"type":"basket_error.currency_not_set","msg":"The basket's currency could not be set","loc":[]}]}}},"headers":{"X-Request-ID":{"schema":{"type":"string","format":"uuid"},"description":"Server-generated UUID corresponding to this specific response and its initiating request.","example":"123e4567-e89b-12d3-a456-426614174000"},"X-Correlation-ID":{"schema":{"type":"string","format":"uuid"},"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000"}}},"422":{"description":"Unprocessable Entity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"},"example":{"request_id":"REQUEST123","detail":[{"type":"basket_error.basket_item_limit","msg":"Baskets cannot have more than 200 items","loc":[]},{"type":"reservation_error.concession_id_required","msg":"Concession ID required for products which have concessions","loc":[]},{"type":"reservation_error.missing_accompaniments","msg":"Concession missing required accompaniments","loc":[]},{"type":"reservation_error.invalid_booking","msg":"Invalid booking request","loc":[]},{"type":"basket_error.invalid_session","msg":"The availability session is invalid","loc":[]},{"type":"basket_error.item_limit","msg":"Cannot book more than 1 ticket(s) for the same product","loc":[]},{"type":"basket_error.not_cancellable","msg":"The requested basket item is not cancellable","loc":[]},{"type":"reservation_error.option_required","msg":"This option is required","loc":[]},{"type":"value_error.missing","msg":"This field is required","loc":[]},{"type":"value_error.missing","msg":"Ticket holder personalisation required for this event","loc":[]},{"type":"reservation_error.reassignment_proposal","msg":"The requested seats could not be reserved, and an alternative has been proposed","loc":[],"payload":{"requested_seats":[{"row":1,"seat":2},{"row":1,"seat":4}],"proposed_seats":[{"row":1,"seat":1},{"row":1,"seat":2}]}},{"type":"basket_error.total_basket_product_quantity","msg":"Total basket product quantity exceeds limit","loc":[]}]}}},"headers":{"X-Request-ID":{"schema":{"type":"string","format":"uuid"},"description":"Server-generated UUID corresponding to this specific response and its initiating request.","example":"123e4567-e89b-12d3-a456-426614174000"},"X-Correlation-ID":{"schema":{"type":"string","format":"uuid"},"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000"}}},"410":{"description":"Gone","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"},"example":{"request_id":"REQUEST123","detail":[{"type":"reservation_error.event_gone","msg":"The requested event is no longer available for reservation","loc":[]},{"type":"reservation_error.performance_gone","msg":"The requested performance is no longer available for reservation","loc":[]},{"type":"reservation_error.performance_time","msg":"The order cannot be processed as the event start time is too close or has passed.","loc":[]},{"type":"basket_error.promocode_gone","msg":"We were unable to claim the promotional code, please remove it and try again","loc":[]},{"type":"reservation_error.seats_gone","msg":"The requested seats are no longer available for reservation","loc":[]}]}}},"headers":{"X-Request-ID":{"schema":{"type":"string","format":"uuid"},"description":"Server-generated UUID corresponding to this specific response and its initiating request.","example":"123e4567-e89b-12d3-a456-426614174000"},"X-Correlation-ID":{"schema":{"type":"string","format":"uuid"},"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000"}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"},"example":{"request_id":"REQUEST123","detail":[{"type":"basket_error.payment_mismatch","msg":"The basket's payment method is not suitable to fulfill this request (was: stripe, should be: tickitto)","loc":[]}]}}},"headers":{"X-Request-ID":{"schema":{"type":"string","format":"uuid"},"description":"Server-generated UUID corresponding to this specific response and its initiating request.","example":"123e4567-e89b-12d3-a456-426614174000"},"X-Correlation-ID":{"schema":{"type":"string","format":"uuid"},"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000"}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"},"example":{"request_id":"REQUEST123","detail":[{"type":"basket_error.payment_status","msg":"Payment id=ID123 requires action as it is currently in status=pending","loc":[],"payload":{"payment_status":"pending","payment_id":"ID123"}}]}}},"headers":{"X-Request-ID":{"schema":{"type":"string","format":"uuid"},"description":"Server-generated UUID corresponding to this specific response and its initiating request.","example":"123e4567-e89b-12d3-a456-426614174000"},"X-Correlation-ID":{"schema":{"type":"string","format":"uuid"},"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000"}}}},"security":[{"HTTPBearer":[]}],"parameters":[{"required":false,"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000","schema":{"type":"string"},"name":"X-Correlation-ID","in":"header"}]}},"/api/webhooks/prio-order-update":{"post":{"tags":["Webhooks"],"summary":"Update Order","operationId":"update_order_api_webhooks_prio_order_update_post","parameters":[{"name":"body","in":"query","required":false,"schema":{"anyOf":[{},{"type":"null"}],"title":"Body"}},{"required":false,"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000","schema":{"type":"string"},"name":"X-Correlation-ID","in":"header"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}},"headers":{"X-Request-ID":{"schema":{"type":"string","format":"uuid"},"description":"Server-generated UUID corresponding to this specific response and its initiating request.","example":"123e4567-e89b-12d3-a456-426614174000"},"X-Correlation-ID":{"schema":{"type":"string","format":"uuid"},"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000"}}},"401":{"content":{"application/json":{"example":{"request_id":"REQUEST123","detail":[{"type":"authentication_error.insufficient_permissions","msg":"Invalid API key - this API key does not have the required permissions to access this resource","loc":[]},{"type":"authentication_error.invalid_key","msg":"Invalid API key - this API key either does not exist or is invalid","loc":[]},{"type":"authentication_error.key_missing","msg":"An API key is required to access this endpoint","loc":[]}]},"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"description":"Unauthorized","headers":{"X-Request-ID":{"schema":{"type":"string","format":"uuid"},"description":"Server-generated UUID corresponding to this specific response and its initiating request.","example":"123e4567-e89b-12d3-a456-426614174000"},"X-Correlation-ID":{"schema":{"type":"string","format":"uuid"},"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000"}}},"404":{"content":{"application/json":{"example":{"request_id":"REQUEST123","detail":[{"type":"reservation_error.product_band_not_found","msg":"The requested product band could not be found","loc":[]},{"type":"reservation_error.basket_not_found","msg":"The requested basket could not be found","loc":[]},{"type":"reservation_error.baskets_not_found","msg":"The requested baskets could not be found","loc":[]},{"type":"reservation_error.concession_not_found","msg":"The requested concession could not be found","loc":[],"payload":{"id":"ID123"}},{"type":"reservation_error.event_not_found","msg":"The requested event could not be found","loc":[]},{"type":"basket_error.item_not_found","msg":"The requested basket item could not be found","loc":[]},{"type":"reservation_error.option_not_found","msg":"The requested option could not be found","loc":[]},{"type":"reservation_error.option_value_not_found","msg":"The requested option value could not be found","loc":[]},{"type":"reservation_error.performance_not_found","msg":"The requested performance could not be found","loc":[]},{"type":"reservation_error.product_not_found","msg":"The requested product could not be found","loc":[]},{"type":"basket_error.promocode_not_applied","msg":"That promotional code has not been applied to your basket","loc":[]},{"type":"basket_error.promocode_not_found","msg":"A promotional code corresponding to that code could not be found","loc":[]},{"type":"reservation_error.seats_not_found","msg":"The requested seats could not be found","loc":[]},{"type":"basket_error.session_not_found","msg":"The requested availability session could not be found","loc":[]}]},"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"description":"Not Found","headers":{"X-Request-ID":{"schema":{"type":"string","format":"uuid"},"description":"Server-generated UUID corresponding to this specific response and its initiating request.","example":"123e4567-e89b-12d3-a456-426614174000"},"X-Correlation-ID":{"schema":{"type":"string","format":"uuid"},"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000"}}},"409":{"content":{"application/json":{"example":{"request_id":"REQUEST123","detail":[{"type":"basket_error.status_conflict","msg":"Your basket has either been checked out or is currently being checked out and can no longer be changed","loc":[]},{"type":"basket_error.status_conflict","msg":"Your basket has not been checked out, preventing the request from being fulfilled.","loc":[]},{"type":"basket_error.not_processable","msg":"Your basket is not currently in a status that allows it to be processed","loc":[]},{"type":"basket_error.status_conflict","msg":"The basket's status prevented the request from being fulfilled","loc":[]},{"type":"basket_error.flow_incomplete","msg":"Flow incomplete","loc":[]},{"type":"basket_error.flow_mismatch","msg":"Request body does not match flow state","loc":[]},{"type":"basket_error.item_status_conflict","msg":"The basket item's status prevented the request from being fulfilled","loc":[]},{"type":"basket_error.price_mismatch","msg":"Amount paid does not match basket price","loc":[]},{"type":"basket_error.promocode_already_applied","msg":"There is already a promocode applied to your basket","loc":[]},{"type":"basket_error.promocode_redeemed","msg":"Discount code already redeemed","loc":[]},{"type":"basket_error.apply_promocode_failed","msg":"We were unable to apply that promotional code to your basket, please try again","loc":[]},{"type":"basket_error.promocode_not_applicable","msg":"The requested promotional code is not applicable to the items in your basket","loc":[]},{"type":"basket_error.remove_promocode_failed","msg":"We were unable to remove that promotional code from your basket, please try again","loc":[]}]},"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"description":"Conflict","headers":{"X-Request-ID":{"schema":{"type":"string","format":"uuid"},"description":"Server-generated UUID corresponding to this specific response and its initiating request.","example":"123e4567-e89b-12d3-a456-426614174000"},"X-Correlation-ID":{"schema":{"type":"string","format":"uuid"},"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000"}}},"400":{"content":{"application/json":{"example":{"request_id":"REQUEST123","detail":[{"type":"basket_error.currency_not_set","msg":"The basket's currency could not be set","loc":[]}]},"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"description":"Bad Request","headers":{"X-Request-ID":{"schema":{"type":"string","format":"uuid"},"description":"Server-generated UUID corresponding to this specific response and its initiating request.","example":"123e4567-e89b-12d3-a456-426614174000"},"X-Correlation-ID":{"schema":{"type":"string","format":"uuid"},"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000"}}},"422":{"content":{"application/json":{"example":{"request_id":"REQUEST123","detail":[{"type":"basket_error.basket_item_limit","msg":"Baskets cannot have more than 200 items","loc":[]},{"type":"reservation_error.concession_id_required","msg":"Concession ID required for products which have concessions","loc":[]},{"type":"reservation_error.missing_accompaniments","msg":"Concession missing required accompaniments","loc":[]},{"type":"reservation_error.invalid_booking","msg":"Invalid booking request","loc":[]},{"type":"basket_error.invalid_session","msg":"The availability session is invalid","loc":[]},{"type":"basket_error.item_limit","msg":"Cannot book more than 1 ticket(s) for the same product","loc":[]},{"type":"basket_error.not_cancellable","msg":"The requested basket item is not cancellable","loc":[]},{"type":"reservation_error.option_required","msg":"This option is required","loc":[]},{"type":"value_error.missing","msg":"This field is required","loc":[]},{"type":"value_error.missing","msg":"Ticket holder personalisation required for this event","loc":[]},{"type":"reservation_error.reassignment_proposal","msg":"The requested seats could not be reserved, and an alternative has been proposed","loc":[],"payload":{"requested_seats":[{"row":1,"seat":2},{"row":1,"seat":4}],"proposed_seats":[{"row":1,"seat":1},{"row":1,"seat":2}]}},{"type":"basket_error.total_basket_product_quantity","msg":"Total basket product quantity exceeds limit","loc":[]}]},"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"description":"Unprocessable Entity","headers":{"X-Request-ID":{"schema":{"type":"string","format":"uuid"},"description":"Server-generated UUID corresponding to this specific response and its initiating request.","example":"123e4567-e89b-12d3-a456-426614174000"},"X-Correlation-ID":{"schema":{"type":"string","format":"uuid"},"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000"}}},"410":{"content":{"application/json":{"example":{"request_id":"REQUEST123","detail":[{"type":"reservation_error.event_gone","msg":"The requested event is no longer available for reservation","loc":[]},{"type":"reservation_error.performance_gone","msg":"The requested performance is no longer available for reservation","loc":[]},{"type":"reservation_error.performance_time","msg":"The order cannot be processed as the event start time is too close or has passed.","loc":[]},{"type":"basket_error.promocode_gone","msg":"We were unable to claim the promotional code, please remove it and try again","loc":[]},{"type":"reservation_error.seats_gone","msg":"The requested seats are no longer available for reservation","loc":[]}]},"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"description":"Gone","headers":{"X-Request-ID":{"schema":{"type":"string","format":"uuid"},"description":"Server-generated UUID corresponding to this specific response and its initiating request.","example":"123e4567-e89b-12d3-a456-426614174000"},"X-Correlation-ID":{"schema":{"type":"string","format":"uuid"},"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000"}}},"500":{"content":{"application/json":{"example":{"request_id":"REQUEST123","detail":[{"type":"basket_error.payment_mismatch","msg":"The basket's payment method is not suitable to fulfill this request (was: stripe, should be: tickitto)","loc":[]}]},"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"description":"Internal Server Error","headers":{"X-Request-ID":{"schema":{"type":"string","format":"uuid"},"description":"Server-generated UUID corresponding to this specific response and its initiating request.","example":"123e4567-e89b-12d3-a456-426614174000"},"X-Correlation-ID":{"schema":{"type":"string","format":"uuid"},"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000"}}},"402":{"content":{"application/json":{"example":{"request_id":"REQUEST123","detail":[{"type":"basket_error.payment_status","msg":"Payment id=ID123 requires action as it is currently in status=pending","loc":[],"payload":{"payment_status":"pending","payment_id":"ID123"}}]},"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"description":"Payment Required","headers":{"X-Request-ID":{"schema":{"type":"string","format":"uuid"},"description":"Server-generated UUID corresponding to this specific response and its initiating request.","example":"123e4567-e89b-12d3-a456-426614174000"},"X-Correlation-ID":{"schema":{"type":"string","format":"uuid"},"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000"}}}}}},"/api/status":{"get":{"tags":["System Status"],"summary":"Status","description":"This endpoint can be used to check that the API is operational.\n\nAn ongoing problem is indicated if this returns any status code other than 200 or any status other than 'healthy'.","operationId":"get_status","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StatusObject"}}},"headers":{"X-Request-ID":{"schema":{"type":"string","format":"uuid"},"description":"Server-generated UUID corresponding to this specific response and its initiating request.","example":"123e4567-e89b-12d3-a456-426614174000"},"X-Correlation-ID":{"schema":{"type":"string","format":"uuid"},"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000"}}}},"parameters":[{"required":false,"description":"Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.","example":"123e4567-e89b-12d3-a456-426614174000","schema":{"type":"string"},"name":"X-Correlation-ID","in":"header"}]}}},"components":{"schemas":{"APIEvent":{"properties":{"cancellation_policy_information":{"items":{"type":"string"},"type":"array","title":"Cancellation Policy Information","description":"Cancellation and refund policy for the item itself.","default":[],"examples":[["Attendees must cancel at least 3 days in advance.","50% of total price refundable only."]]},"cancellation_policy":{"type":"string","title":"Cancellation Policy","description":"(DEPRECATED) Cancellation policy for the item itself.","deprecated":true},"delivery_methods":{"items":{"$ref":"#/components/schemas/DeliveryMethod"},"type":"array","uniqueItems":true,"title":"Delivery Methods","description":"List of supported delivery methods.","default":[],"examples":[["external","print","document","eticket","collection"]]},"performers":{"anyOf":[{"items":{"$ref":"#/components/schemas/EventPerformer"},"type":"array"},{"type":"null"}],"title":"Performers","description":"List of performers, sports teams or competitors involved in this event, if applicable.","default":[]},"popularity":{"anyOf":[{"type":"number","maximum":5.0,"minimum":1.0},{"type":"null"}],"title":"Popularity","description":"Event's popularity with end users, out of 5.","examples":[4.5]},"duration":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Duration","description":"Number of minutes an instance of this event typically lasts.","examples":[90]},"event_type":{"$ref":"#/components/schemas/EventType","description":"Type of event. (Note: standard currently refers to all non-cinema events.)","default":"Standard"},"tags":{"anyOf":[{"items":{"type":"string"},"type":"array","uniqueItems":true},{"type":"null"}],"title":"Tags","description":"List of keywords for this event, used in search."},"is_tbd":{"$ref":"#/components/schemas/IsTbd","description":"Whether the event date and/or time are to be determined.","default":{"time":false,"date":false}},"no_fulfilment":{"type":"boolean","title":"No Fulfilment","description":"When true there should be no post-purchase fulfilment actions taken even if a ticket is present","default":false},"images":{"items":{"$ref":"#/components/schemas/Image"},"type":"array","title":"Images","description":"URLs of images which represent this event.","default":[],"examples":[[{"desktop":"https://placekitten.com/g/1000/1000","mobile":"https://placekitten.com/g/1000/1000"},{"desktop":"https://place-puppy.com/1000x1000","thumbnail":"https://place-puppy.com/1000x1000"}]]},"videos":{"items":{"type":"string"},"type":"array","title":"Videos","description":"Links to videos that represent this event, such as trailers.","default":[]},"admission_type":{"$ref":"#/components/schemas/AdmissionType","description":"Type which determines entrant admission process; see https://docs.tickitto.com/events/overview."},"cancellation_allowed":{"type":"boolean","title":"Cancellation Allowed","description":"Whether the ticket buyer may cancel this event after purchase.","default":false},"personalisations_required":{"anyOf":[{"$ref":"#/components/schemas/PersonalisationFields"},{"type":"null"}],"description":"Fields required for ticket personalisation, if any,","examples":[{"fields":{"country_code":{"regex":"^(AF|AX|AL|DZ|AS|AD|AO|AI|AQ|AG|AR|AM|AW|AU|AT|AZ|BS|BH|BD|BB|BY)$"},"first_name":{},"last_name":{},"phone_number":{}}}]},"delayed_fulfilment":{"type":"boolean","title":"Delayed Fulfilment","description":"Whether or not this event has delayed voucher fulfilment.","default":false},"venue_location":{"items":{"$ref":"#/components/schemas/APIEventVenue"},"type":"array","title":"Venue Location","description":"List of locations where this event occurs.","default":[],"examples":[[{"id":"123","latitude":1.2345678,"longitude":1.2345678,"venue_address":"1 Event Way, Bristol","venue_name":"Event Stadium"},{"id":"321","latitude":1.2345678,"longitude":1.2345678,"venue_address":"2 Event Lane, Bristol","venue_name":"Event World"}]]},"event_id":{"type":"string","title":"Event Id","description":"Unique identifier for this event.","examples":["T123"]},"addon_required":{"type":"boolean","title":"Addon Required","description":"Whether the ticket buyer must select addons to book this event.","default":false},"addons":{"items":{"$ref":"#/components/schemas/Addon"},"type":"array","title":"Addons","description":"List of available addons for this event","default":[]},"pickup_required":{"type":"boolean","title":"Pickup Required","description":"Whether the ticket buyer must select a location to be picked up e.g. in a dune buggy or safari vehicle","default":false},"booking_type":{"$ref":"#/components/schemas/BookingType","description":"Type which determines booking process","default":"basket_booking"},"from_price":{"$ref":"#/components/schemas/Price","description":"Price of the cheapest ticket associated with this event.","examples":[{"amount":3.99,"currency":"GBP"}]},"soft_availability_t1":{"type":"string","format":"date-time","title":"Soft Availability T1","description":"Beginning of the period for which this event is available to book"},"soft_availability_t2":{"type":"string","format":"date-time","title":"Soft Availability T2","description":"End of the period for which this event is available to book"},"categories":{"items":{"anyOf":[{"type":"string"},{"type":"null"}]},"type":"array","title":"Categories"},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City","description":"Name of the city in which the event takes place.","examples":["Bristol"]},"region":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Region","description":"Name of the region in which the event takes place.","examples":["Derbyshire"]},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State","description":"Name of the state in which the event takes place, if applicable.","examples":["Virginia"]},"country":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Country","description":"Name of the country in which the event takes place.","examples":["United Kingdom"]},"country_code":{"anyOf":[{"type":"string","pattern":"[A-Z][A-Z]"},{"type":"null"}],"title":"Country Code","description":"ISO 3166-1 alpha-2 code for the country in which the event takes place.","examples":["GB"]},"title":{"type":"string","title":"Title","description":"Human-readable/marketing name for this event.","examples":["The Event"]},"slug":{"type":"string","title":"Slug","description":"SEO slug constructed from the event id","examples":["matilda-the-musical-T500"]},"description":{"type":"string","title":"Description","description":"Full description of the event.","examples":["This will be longer in the actual data."]},"short_description":{"type":"string","title":"Short Description","description":"Short summary of the event.","examples":["Coming to an emergency broadcasting system near you!"]},"ticket_instructions":{"items":{"type":"string"},"type":"array","title":"Ticket Instructions","description":"Instructions on how to retrieve and use tickets for this event.","default":[]},"entry_notes":{"items":{"type":"string"},"type":"array","title":"Entry Notes","description":"Promotional notes regarding entry to this event.","default":[],"examples":[["Attendees must be 15 or over.","Attendees must be human."]]},"product_highlights":{"items":{"type":"string"},"type":"array","title":"Product Highlights","description":"What's great about this particular product.","default":[],"examples":["Visit the award-winning Museum of Things with first-class tour guides and an all-you-can-eat buffet in the museum restaurant."]},"product_includes":{"items":{"type":"string"},"type":"array","title":"Product Includes","description":"Included features of this event e.g. dune bashing, skiing.","default":[],"examples":[["Dune bashing","Skiing"]]},"product_excludes":{"items":{"type":"string"},"type":"array","title":"Product Excludes","description":"Notable exclusions of this event which the ticket buyer must or should consider arranging themselves e.g. sports gear or insurance.","default":[],"examples":[["Sports gear","Insurance"]]},"seatplan_overview":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Seatplan Overview","description":"A non-interactive overview of the seating arrangements."},"pickup_points":{"items":{"$ref":"#/components/schemas/APIPickupPoint"},"type":"array","title":"Pickup Points","description":"List of allowed pickup points for this event","default":[]}},"type":"object","required":["admission_type","event_id","from_price","soft_availability_t1","soft_availability_t2","categories","title","slug","description","short_description"],"title":"Event","description":"Describes an item within the inventory e.g. a concert, festival, football match or museum.\nTypically has one or more availability instance (also known as event performances or sessions).\n\nAn availability instance is a single occurrence of the event at a specific date and time.\n\nFor example, Moulin Rouge is an event that occurs at 14:30 and 19:30 from Monday to Saturday for the next upcoming 12 months.\nIn this example, an availability instance would be Saturday, 19th January 2021, at 19:30."},"APIEventVenue":{"properties":{"latitude":{"type":"number","title":"Latitude","description":"Latitude in degrees","examples":[1.23456789]},"longitude":{"type":"number","title":"Longitude","description":"Longitude in degrees","examples":[1.23456789]},"id":{"type":"string","title":"Id","description":"Machine identifier for this place","default":"","examples":["123"]},"venue_brand_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Venue Brand Id","description":"The brand ID that operates the venue"},"venue_address":{"type":"string","title":"Venue Address","description":"Street address of the venue","examples":["27 Stadium Avenue"]},"seatplan_images":{"anyOf":[{"items":{"$ref":"#/components/schemas/Image"},"type":"array"},{"type":"null"}],"title":"Seatplan Images","description":"Images of the venue's seatplan."},"configuration":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Configuration"},"venue_name":{"type":"string","title":"Venue Name","description":"Friendly venue name, in English","examples":["Wembley Stadium"]},"venue_brand":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Venue Brand","description":"The brand name that operates the venue"},"venue_city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Venue City","description":"The city of the venue","examples":["London"]},"venue_country":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Venue Country","description":"The country of the venue"}},"type":"object","required":["latitude","longitude","venue_address","venue_name"],"title":"APIEventVenue"},"APIPickupPoint":{"properties":{"latitude":{"type":"number","title":"Latitude","description":"Latitude in degrees","examples":[1.23456789]},"longitude":{"type":"number","title":"Longitude","description":"Longitude in degrees","examples":[1.23456789]},"id":{"type":"string","title":"Id","description":"Machine identifier for this place","default":"","examples":["123"]},"pickup_point_name":{"type":"string","title":"Pickup Point Name","description":"Friendly pickup point name","examples":["North Hotel"]},"pickup_point_address":{"type":"string","title":"Pickup Point Address","description":"Street address of the pickup point","examples":[""]}},"type":"object","required":["latitude","longitude","pickup_point_name","pickup_point_address"],"title":"APIPickupPoint"},"Addon":{"properties":{"id":{"type":"string","title":"Id"},"name":{"type":"string","title":"Name"}},"type":"object","required":["id","name"],"title":"Addon"},"Adjustment":{"properties":{"name":{"type":"string","title":"Name"},"type":{"$ref":"#/components/schemas/AdjustmentType"},"price":{"$ref":"#/components/schemas/PriceDelta"}},"type":"object","required":["name","type","price"],"title":"Adjustment"},"AdjustmentType":{"type":"string","enum":["charge_transfer","charge_addon","charge_other","discount_other"],"title":"AdjustmentType"},"AdmissionType":{"type":"string","enum":["open_entry","date_entry","slot_entry","timed_entry"],"title":"AdmissionType"},"ApiPromocode":{"properties":{"code":{"type":"string","title":"Code"},"title":{"type":"string","title":"Title"},"description":{"type":"string","title":"Description"},"image":{"anyOf":[{"$ref":"#/components/schemas/Image"},{"type":"null"}]},"applicable":{"type":"boolean","title":"Applicable"},"expired":{"type":"boolean","title":"Expired"},"discount":{"$ref":"#/components/schemas/Price"}},"type":"object","required":["code","title","description","applicable","expired","discount"],"title":"ApiPromocode"},"ApiUser":{"properties":{"id":{"type":"string","title":"Id","description":"Tickitto's unique identifier for a distribution partner."},"name":{"type":"string","title":"Name","description":"The distribution partner's name."},"booking_fee_settings":{"$ref":"#/components/schemas/BookingFeeSettings","description":"Calculation parameters for the additional booking fee on tickets as specified by you and communicated to your Tickitto account manager."},"payment_methods":{"additionalProperties":{"anyOf":[{"$ref":"#/components/schemas/StripePaymentMethod"},{"$ref":"#/components/schemas/CreditPaymentMethod"},{"$ref":"#/components/schemas/CareemPayPaymentMethod"}]},"propertyNames":{"$ref":"#/components/schemas/PaymentMethodType"},"type":"object","title":"Payment Methods","description":"Collection of registered payment methods.","default":{"tickitto":{"amendment_trigger":"external","enabled":false,"name":"tickitto"},"stripe":{"amendment_trigger":"iterative","enabled":false,"name":"stripe"}}}},"type":"object","required":["id","name","booking_fee_settings"],"title":"ApiUser"},"AutocompleteField":{"properties":{"name":{"type":"string","title":"Name","description":"Title/name value of the field","examples":["Dubai"]},"score":{"type":"number","title":"Score","description":"MongoDB Atlas score for the autocomplete text match - larger is a better match","examples":[0.8567645]},"slug":{"type":"string","title":"Slug","description":"Slug value of the field","examples":["the-cat-in-the-hat"]},"id":{"type":"string","title":"Id","description":"ID value of the field","examples":[10]}},"type":"object","required":["name","score","slug","id"],"title":"AutocompleteField"},"AutocompleteResults":{"properties":{"event_count":{"type":"integer","title":"Event Count","description":"Total number of events found.","default":0,"examples":[10]},"events":{"items":{"$ref":"#/components/schemas/AutocompleteField"},"type":"array","title":"Events","description":"List of events","default":[]},"performers":{"items":{"$ref":"#/components/schemas/AutocompleteField"},"type":"array","title":"Performers","description":"List of performers","default":[]},"venues":{"items":{"$ref":"#/components/schemas/AutocompleteField"},"type":"array","title":"Venues","description":"List of venues","default":[]},"states":{"items":{"$ref":"#/components/schemas/AutocompleteField"},"type":"array","title":"States","description":"List of states","default":[]},"regions":{"items":{"$ref":"#/components/schemas/AutocompleteField"},"type":"array","title":"Regions","description":"List of regions","default":[]},"categories":{"items":{"$ref":"#/components/schemas/AutocompleteField"},"type":"array","title":"Categories","description":"List of categories","default":[]},"cities":{"items":{"$ref":"#/components/schemas/AutocompleteField"},"type":"array","title":"Cities","description":"List of city names","default":[]},"countries":{"items":{"$ref":"#/components/schemas/AutocompleteField"},"type":"array","title":"Countries","description":"List of country names","default":[]}},"type":"object","title":"AutocompleteResults"},"Barcode":{"properties":{"format":{"$ref":"#/components/schemas/BarcodeFormat","description":"Data representation format."},"data":{"type":"string","minLength":1,"title":"Data","description":"Textual data represented by this barcode."},"raw_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Raw Code","description":"The raw barcode code where it's not obtainable from `data`."},"image":{"type":"string","title":"Image","description":"URL of this barcode; generally but not necessarily a data URL containing base64-encoded data."}},"type":"object","required":["format","data","image"],"title":"Barcode","description":"Contains information about a barcode used to e.g. admit entry to an event by scanning using specialised hardware, a tablet or a smartphone."},"BarcodeFormat":{"type":"string","enum":["ean8","ean13","ean14","itf","upca","upce","code39","code128","gs1_128","qr-code","data-matrix","pdf-417","aztec","image"],"title":"BarcodeFormat","description":"Supported barcode formats."},"Basket":{"properties":{"_id":{"type":"string","title":"Id"},"external_reference":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"External Reference","description":"Distributor reference for this basket"},"checkout_status":{"$ref":"#/components/schemas/BasketCheckoutStatus","default":"not_checked_out"},"created_on":{"type":"string","format":"date-time","title":"Created On","default":"2026-08-27T23:28:20.307398+00:00","examples":["2026-08-27T23:28:20.307406Z"]},"distributor_id":{"type":"string","title":"Distributor Id","description":"User ID of the event distributor which created this basket","default":""},"profile_external_user_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Profile External User Id","description":"External user ID used in handle_profile_post_checkout","examples":["123456"]},"items":{"items":{"$ref":"#/components/schemas/BasketItem"},"type":"array","title":"Items","default":[],"examples":[[{"adjustments":[{"name":"Transfers","price":{"amount":1.0,"currency":"GBP"},"type":"charge_transfer"}],"availability_id":"","booked_successfully":false,"booking_fee":{"amount":1.0,"currency":"GBP"},"cancellation_allowed":true,"cancellation_policy":"(DEPRECATED) Cancel at least 48 hours in advance for a full refund.","cancellation_policy_information":["Attendees must cancel at least 3 days in advance.","50% of total price refundable only."],"created_on":"2026-08-27T23:28:20.284491+00:00","display_data":{},"event":{"admission_type":"date_entry","delivery_methods":[],"is_tbd":{"date":false,"time":false}},"event_id":"T001","event_image":{"desktop":"https://example.com/event.png","mobile":"https://example.com/event_mobile.png"},"event_name":"The Event","event_slug":"the-event-T001","from_date":{"local":"2026-08-28T01:28:20.308341+02:00","utc":"2026-08-27T23:28:20.308341+00:00"},"id":"ITEM123","important_information":[],"location":{"id":"123","latitude":1.23456789,"longitude":1.23456789,"venue_address":"123 Venue Street","venue_name":"My Venue"},"price":{"amount":4.99,"currency":"GBP"},"product_id":"PERF13AB","reservation_attempts":0,"reservations":[{"commission":{"amount":0,"currency":"GBP"},"concession_name":"Senior","price":{"amount":2.0,"currency":"GBP"},"product_selection":"Balcony","seat_selection":"B13"}],"resources":[],"status":"reserved","supplier_adjustment":{"amount":1.99,"currency":"GBP"},"ticket_instructions":["Collect your ticket at the venue.","You will need proof of identification."],"to_date":{"local":"2026-08-28T02:28:20.308406+02:00","utc":"2026-08-28T00:28:20.308406+00:00"},"ttl":"2026-08-27T23:28:20.308330+00:00"},{"adjustments":[{"name":"Complementary compliments","price":{"amount":3.0,"currency":"GBP"},"type":"charge_addon"}],"availability_id":"","booked_successfully":true,"booking_fee":{"amount":0,"currency":"GBP"},"cancellation_allowed":false,"cancellation_policy":"(DEPRECATED) This item is non-refundable.","cancellation_policy_information":["This item is non-refundable."],"created_on":"2026-08-27T23:28:20.284491+00:00","display_data":{},"event":{"admission_type":"date_entry","delivery_methods":[],"is_tbd":{"date":false,"time":false}},"event_id":"T001","event_image":{"desktop":"https://example.com/event.png","mobile":"https://example.com/event_mobile.png"},"event_name":"The Event","event_slug":"the-event-T001","from_date":{"local":"2026-08-28T01:28:20.310184+02:00","utc":"2026-08-27T23:28:20.310184+00:00"},"id":"ITEM419","important_information":[],"location":{"id":"123","latitude":1.23456789,"longitude":1.23456789,"venue_address":"123 Venue Street","venue_name":"My Venue"},"price":{"amount":14.99,"currency":"GBP"},"product_id":"PERF001342","reservation_attempts":0,"reservations":[{"commission":{"amount":0,"currency":"GBP"},"concession_name":"Senior","price":{"amount":2.0,"currency":"GBP"},"product_selection":"Balcony","seat_selection":"B12","ticket":{"barcodes":[{"data":"ITEM419PERF001342BALCONY123","format":"qr-code","image":"data://image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAUoAAAFKAQAAAABTUiuoAAAB+klEQVR4nO2bQYrkMAxFnyaGXjowB+ij2Ddr+khzg+Qoc4CBeDng8GcRu7qq6EVVQzoZkBbBpbzFB6GSLFWZeNDmH4+S4KijjjrqqKN7otYsbCcoASjdnXcX4OgzaJIkLSCpYjlWLDNIknSL7iPA0WfQckmh8iK9j6tpAswsfI8AR7+Amo1gb78Dlg8R4OjT6DweLMDRT61/z0UBpX3QnIcKBa7vzodrdbShs5mZjUBawN4WsMxqrUXcX4Cjj9iWW9cpFP8asJpu3SfQ6mi7b2XAcml5pPdx0Ee+Wd5dgKMPWa9bZUTzaw1QRkhajaQ1kH6Fqj0FOPqFaDFUKKGFbM6gefyDLp3HCbQ62urW/FqxLZkWBHEBGESrYPsJcPSraAn0QrUaFDPmcfDJ02lQtklgWtpps2l7N6gNECVpOlyro1cxIi0AUZJU0RR1bR6t49GbjIoSRIm09LSaLohH63iU650IsIVnolertND2KR6t49H7WYbBUC0JSBMYsfYm/3Ctjt7m1tCL13YaBH0l6bl1HvRjdzzFuj0gVnrwdhfg6DNo3x2b2YsswzaXB3xOeF60dRklXPqN1Tcmp0HDvSMtPy9T3ebyydPZ0NgnGPMIlktA7+Paf1nzDQIcfcTue0Ji3e5bkmpz+33rJKj5vxYcddRRRx39j9B/E5Meyd6RG7EAAAAASUVORK5CYII="}],"delivery_methods":["print"]},"voucher_url":"https://tickitto.tech/vouchers/VOUCHERID123.pdf"},{"commission":{"amount":0,"currency":"GBP"},"concession_name":"Adult","price":{"amount":2.99,"currency":"GBP"},"product_selection":"Balcony","seat_selection":"B11","ticket":{"barcodes":[{"data":"1234567890123","format":"aztec","image":"data://image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQ4AAAEOAQAAAABQysQIAAABSklEQVR4nO2ZMW7DMAxFH2sDHZWeSLlBr6wcqIC8y/kdJDsOOgSogrg16MUW+IaPD4IiaRMPnvntEQGOOOKII478CpnMYBoxO81mZm87ajkEgiRJKUhKDO2OiypAkCSVvyT3nyEbdyFIxDxIyoMAc3f7kOouhIKUB0kqEPNiu7vbg6wmLhanoJa70d3tRUYAjPA11gsNDGAApo/rS7UcD1nqLixpux6Vve4+BbFzkIDZzMwMQsHO+2g5ElIrgy6f7SyYR5jeBVxfq+XAyGz1fTndHXfRchjkR88gFdpc4dPEcxAzM1OqX2MLxbyLliMhS+7mW7KuM7Hnbi/CzU6l+0Byd3uRNXeXmbgNwQWi97u9yOZWq/UgZqirnORbnF5k667yfcgrQy+y7sjaGvLWkfkk3I9s3K1LsbZCd3dfhJj/lHfEEUcceR7yDbL5Rlg06JaSAAAAAElFTkSuQmCC"}],"delivery_methods":["print"]},"voucher_url":"https://tickitto.tech/vouchers/VOUCHERID456.pdf"}],"resources":[],"status":"booked","supplier_adjustment":{"amount":7.0,"currency":"GBP"},"ticket_instructions":["Your tickets will be sent to you by email.","Vouchers should be printed on standard A4 paper."],"to_date":{"local":"2026-08-28T02:28:20.310220+02:00","utc":"2026-08-28T00:28:20.310220+00:00"},"ttl":"2026-08-27T23:28:20.309789+00:00"}]]},"total_items_price":{"$ref":"#/components/schemas/Price","description":"Item subtotal in the basket currency.","default":{"amount":0,"currency":"GBP"},"examples":[{"amount":9.98,"currency":"GBP"}]},"total_booking_fee":{"$ref":"#/components/schemas/Price","description":"Total booking charge to pay for this basket in the basket currency.","default":{"amount":0,"currency":"GBP"},"examples":[{"amount":1.0,"currency":"GBP"}]},"total_discount":{"$ref":"#/components/schemas/Price","description":"Total discounts from vouchers applied to the basket.","default":{"amount":0,"currency":"GBP"},"examples":[{"amount":1.0,"currency":"GBP"}]},"total_price":{"$ref":"#/components/schemas/Price","description":"Total price to pay for this basket in the basket currency. Equal to total_items_price + total_booking_fee - total_discount.","default":{"amount":0,"currency":"GBP"},"examples":[{"amount":10.98,"currency":"GBP"}]},"total_local_price":{"anyOf":[{"$ref":"#/components/schemas/Price"},{"type":"null"}],"description":"Total price to pay for this basket in the local currency. Equal to total_items_price + total_booking_fee - total_discount.","examples":[{"amount":14.61,"currency":"USD"}]},"total_local_price_ttl":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Total Local Price Ttl","description":"Expiry datetime for the total_local_price_currency value/exchange rate, set by Stripe."},"total_local_price_exchange_rate":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Total Local Price Exchange Rate","description":"\n        Exchange rate used to convert the total price to the local currency, set by Stripe. An average of exchange rates for all items in the basket.\n        This only differs from total_local_price_base_exchange_rate when the basket contains items with their own exchange rate, such as vivid USD\n        ","examples":["1.461"]},"total_local_price_base_exchange_rate":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Total Local Price Base Exchange Rate","description":"Exchange rate set by Stripe.","examples":["1.461"]},"promocodes":{"items":{"$ref":"#/components/schemas/ApiPromocode"},"type":"array","title":"Promocodes","default":[]}},"type":"object","required":["_id"],"title":"Basket"},"BasketCheckoutStatus":{"type":"string","enum":["not_checked_out","checkout_pending","payment_failed","checked_out","checked_out_with_errors"],"title":"BasketCheckoutStatus","description":"- not_checked_out: the basket has neither been, nor is being checked out\n- checkout_pending: the basket is currently in the process of checking out\n- payment_failed: the basket payment failed, and thus wasn't checked out\n- checked_out: the basket has already been checked out\n- checked_out_with_errors: the basket has been checked out but 1 or more items errored"},"BasketItem":{"properties":{"cancellation_policy_information":{"items":{"type":"string"},"type":"array","title":"Cancellation Policy Information","description":"Cancellation and refund policy for the item itself.","default":[],"examples":[["Attendees must cancel at least 3 days in advance.","50% of total price refundable only."]]},"cancellation_policy":{"type":"string","title":"Cancellation Policy","description":"(DEPRECATED) Cancellation policy for the item itself.","deprecated":true},"id":{"type":"string","title":"Id"},"created_on":{"type":"string","format":"date-time","title":"Created On","default":"2026-08-27T23:28:20.284491+00:00","examples":["2026-08-27T23:28:20.284500Z"]},"booked_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Booked At","description":"When this item was booked, if it was booked successfully.","examples":["2026-08-27T23:28:20.284538Z"]},"external_reference":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"External Reference","description":"Distributor reference for this basket item"},"event_id":{"type":"string","title":"Event Id"},"event_slug":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Event Slug"},"availability_id":{"type":"string","title":"Availability Id","default":""},"product_id":{"type":"string","title":"Product Id"},"band_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Band Id"},"event_name":{"type":"string","title":"Event Name"},"cancellation_allowed":{"type":"boolean","title":"Cancellation Allowed","default":false},"important_information":{"items":{"type":"string"},"type":"array","title":"Important Information","default":[]},"notes":{"anyOf":[{"$ref":"#/components/schemas/Notes"},{"type":"null"}]},"ticket_instructions":{"items":{"type":"string"},"type":"array","title":"Ticket Instructions","default":[]},"billing_information":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Billing Information"},"from_date":{"$ref":"#/components/schemas/EventDateTime","description":"Item start date and time."},"to_date":{"$ref":"#/components/schemas/EventDateTime","description":"Item end date and time."},"reservations":{"items":{"$ref":"#/components/schemas/Reservation"},"type":"array","title":"Reservations","description":"The specific reservations associated with this item, or tickets if the item has been checked out.","default":[]},"price":{"$ref":"#/components/schemas/Price","description":"Total price of all tickets belonging to this item. Inclusive of all other prices EXCEPT `booking_fee`.","examples":[{"amount":4.99,"currency":"GBP"}]},"booking_fee":{"$ref":"#/components/schemas/Price","description":"Distributor booking fee for this item.","default":{"amount":0,"currency":"GBP"},"examples":[{"amount":1.0,"currency":"GBP"}]},"adjustments":{"items":{"$ref":"#/components/schemas/Adjustment"},"type":"array","title":"Adjustments","description":"Specific named surcharges/discounts (NOTE: already included in the `price` field) e.g. transfers or addons","default":[]},"supplier_adjustment":{"$ref":"#/components/schemas/PriceDelta","description":"Net supplier discount/surcharge for this item.","default":{"amount":0,"currency":"GBP"},"examples":[{"amount":-0.99,"currency":"GBP"}]},"organiser":{"anyOf":[{"$ref":"#/components/schemas/Organiser"},{"type":"null"}],"description":"Event organiser information."},"pickup":{"anyOf":[{"$ref":"#/components/schemas/Pickup"},{"type":"null"}],"description":"Information about pickup of the ticket holders."},"dropoff":{"anyOf":[{"$ref":"#/components/schemas/Dropoff"},{"type":"null"}],"description":"Information about dropoff of the ticket holders."},"location":{"anyOf":[{"$ref":"#/components/schemas/EventVenue"},{"type":"null"}],"description":"Venue where this takes place","examples":[{"id":"123","latitude":1.2345678,"longitude":1.2345678,"venue_address":"1 Event Way, Bristol","venue_name":"Event Stadium"}]},"event_image":{"anyOf":[{"$ref":"#/components/schemas/Image"},{"type":"null"}],"description":"Image which represents this item","examples":["https://example.com/event.png"]},"ttl":{"type":"string","format":"date-time","title":"Ttl","description":"Item reservation expiry time."},"booked_successfully":{"type":"boolean","title":"Booked Successfully","description":"After checkout, whether this item has been successfully booked.","default":false},"status":{"$ref":"#/components/schemas/BasketItemStatus","description":"Status of the basket item. See BasketItemStatus for the meaning of each status."},"display_data":{"additionalProperties":true,"type":"object","title":"Display Data","default":{}},"reservation_attempts":{"type":"integer","title":"Reservation Attempts","description":"Number of re-reservation attempts made for this item.","default":0,"examples":[2]},"voucher_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Voucher Url","description":"URL of merged ticket vouchers."},"resources":{"items":{"type":"string"},"type":"array","title":"Resources","description":"Additional resources for the ticket buyer's use, such as itineraries.","default":[]},"event":{"$ref":"#/components/schemas/BasketItemEventData","description":"Event details for the item.","examples":[{"admission_type":"date_entry","delivery_methods":[],"is_tbd":{"date":false,"time":false}}]}},"type":"object","required":["id","event_id","product_id","event_name","from_date","to_date","price","ttl","status","event"],"title":"BasketItem"},"BasketItemCreate":{"properties":{"availability_id":{"type":"string","title":"Availability Id"},"product_id":{"type":"string","title":"Product Id"},"band_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Band Id"},"booking_options":{"items":{"$ref":"#/components/schemas/BookingOptions"},"type":"array","minItems":1,"title":"Booking Options","description":"Specifies groups of seats, concessions and option choices for this booking.","default":[{"concession_options":[],"quantity":1,"seat_ids":[],"customers":[]}],"examples":[[{"concession_options":[],"customers":[],"quantity":1,"seat_ids":[]},{"concession_id":"CONCESSION_CHILD","concession_options":[{"choice_value":"eggs_bacon","option_id":"meal","quantity":1},{"choice_value":"water","option_id":"drink","quantity":1}],"customers":[{"first_name":"John","last_name":"Doe"},{"first_name":"Jane","last_name":"Doe"}],"quantity":2,"seat_ids":["SEAT1","SEAT2"]}]]},"product_options":{"items":{"$ref":"#/components/schemas/OptionChoice"},"type":"array","title":"Product Options","default":[]},"display_data":{"additionalProperties":true,"type":"object","title":"Display Data","description":"Extra data to associate with this booking; will be included verbatim in the basket","default":{},"deprecated":true}},"additionalProperties":false,"type":"object","required":["availability_id","product_id"],"title":"BasketItemCreate"},"BasketItemEventData":{"properties":{"delivery_methods":{"items":{"$ref":"#/components/schemas/DeliveryMethod"},"type":"array","uniqueItems":true,"title":"Delivery Methods","description":"List of supported delivery methods.","default":[],"examples":[["external","print","document","eticket","collection"]]},"admission_type":{"$ref":"#/components/schemas/AdmissionType","description":"Type which determines entrant admission process; see https://docs.tickitto.com/events/overview.","examples":["date_entry"]},"is_tbd":{"$ref":"#/components/schemas/IsTbd","description":"Whether the event date and/or time are to be determined.","default":{"time":false,"date":false}}},"type":"object","required":["admission_type"],"title":"BasketItemEventData"},"BasketItemStatus":{"type":"string","enum":["unreserved","reservation_pending","reserving","reserved","booking","fulfilment_pending","fulfilment_errored","booked","errored","seller_rejected","cancelling","cancelled","saved","errored_and_refunded"],"title":"BasketItemStatus","description":"- unreserved: rereservation failed or hit max attempts and item will not attempt checkout\n- reservation_pending: item is pending re-reservation due to ttl expiry\n- reserving: item is currently locked for pending re-reservation due to ttl expiry\n- reserved: item availability is locked and being held until checkout\n- saved: item availability is not locked and item will attempt to book at checkout\n- booking: item is currently locked for pending checkout due to /basket/checkout or Stripe webhook\n- fulfilment_pending: item is waiting for fulfilment\n- fulfilment_errored: item booked but details not successfully retrieved\n- booked: item booked successfully\n- errored: item booking error\n- cancelled: item cancelled"},"BillingAddress":{"properties":{"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City"},"country":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Country"},"line1":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Line1"},"line2":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Line2"},"postal_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Postal Code"},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State"}},"type":"object","title":"BillingAddress"},"BillingDetails":{"properties":{"first_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"First Name"},"last_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Name"},"address":{"anyOf":[{"$ref":"#/components/schemas/BillingAddress"},{"type":"null"}]}},"type":"object","title":"BillingDetails"},"BookingFeeSettings":{"properties":{"item_min_charge":{"type":"number","title":"Item Min Charge","description":"Lower bound per item for the booking charge calculation","default":0.0},"item_max_charge":{"type":"number","title":"Item Max Charge","description":"Upper bound per item for the booking charge calculation","default":999.999},"item_variable_charge":{"type":"number","title":"Item Variable Charge","description":"Charge to apply as a multiplier of each item price","default":1.0},"item_fixed_charge":{"type":"number","title":"Item Fixed Charge","description":"Fixed charge per item","default":0.0}},"type":"object","title":"BookingFeeSettings","description":"Settings for booking charge calculation"},"BookingOptions":{"properties":{"concession_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Concession Id"},"concession_options":{"items":{"$ref":"#/components/schemas/OptionChoice"},"type":"array","title":"Concession Options","default":[],"examples":[[{"choice_value":"cake","option_id":"meal","quantity":1}]]},"quantity":{"type":"integer","exclusiveMinimum":0.0,"title":"Quantity","description":"Number of tickets to reserve.","default":1},"seat_ids":{"items":{"type":"string"},"type":"array","title":"Seat Ids","default":[],"examples":[["BALCONY31A","BALCONY32A"]]},"customers":{"items":{"$ref":"#/components/schemas/Personalisation"},"type":"array","title":"Customers","description":"Ticket personalisation to apply. This should either be empty or the same length as the quantity specified. Whether this is required or not and which fields are required depends on the value of `personalisations_required` from the event/availability. Personalisations are applied to each booked seat in order, and then to allocated (best seat or unseated) bookings.","default":[]}},"additionalProperties":false,"type":"object","title":"BookingOptions"},"BookingType":{"type":"string","enum":["basket_booking","direct_booking"],"title":"BookingType"},"CareemCustomer":{"properties":{"first_name":{"type":"string","title":"First Name","description":"Customer's first name","examples":["John"]},"last_name":{"type":"string","title":"Last Name","description":"Customer's surname/family name","examples":["Doe"]},"phone_number":{"type":"string","maxLength":16,"minLength":3,"pattern":"\\+?[0-9]{2,15}","title":"Phone Number","description":"Customer's phone number in E.164 format","examples":["+442087599036"]},"email":{"type":"string","format":"email","title":"Email","description":"Customer's email; must be a valid email","examples":["customer@example.com"]},"currency":{"type":"string","maxLength":3,"minLength":3,"pattern":"[A-Z][A-Z][A-Z]","title":"Currency","description":"Customer's chosen currency","default":"GBP","examples":["AED"]},"billing_details":{"anyOf":[{"$ref":"#/components/schemas/BillingDetails"},{"type":"null"}]},"agent_pin":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Agent Pin","description":"Agent identifier, currently only used for Intele","examples":["12345"]},"ip_location":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ip Location","description":"IP location of the customer"},"careem_user_id":{"type":"string","title":"Careem User Id","description":"Careem user id."}},"type":"object","required":["first_name","last_name","phone_number","email","careem_user_id"],"title":"CareemCustomer"},"CareemPayObject":{"properties":{"invoice_id":{"type":"string","title":"Invoice Id"},"amount":{"type":"number","title":"Amount"},"currency":{"type":"string","title":"Currency"},"customer":{"$ref":"#/components/schemas/CareemCustomer"},"additional":{"additionalProperties":true,"type":"object","title":"Additional","default":{}}},"type":"object","required":["invoice_id","amount","currency","customer"],"title":"CareemPayObject"},"CareemPayPaymentMethod":{"properties":{"name":{"$ref":"#/components/schemas/PaymentMethodType","default":"careem_pay"},"enabled":{"type":"boolean","title":"Enabled","description":"Whether this payment method is currently enabled.","default":false},"amendment_trigger":{"$ref":"#/components/schemas/PaymentAmendmentType","default":"checkout"}},"type":"object","title":"CareemPayPaymentMethod","description":"Payment method used for Careem Pay."},"Category":{"properties":{"localised_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Localised Name","description":"Localisable name."},"id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Id","description":"Unique MongoDB ID for this category","default":""},"name":{"type":"string","title":"Name","description":"Category name"},"parent_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Parent Name","description":"Parent category name."},"children":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Children","description":"List of child categories","default":[]},"images":{"items":{"$ref":"#/components/schemas/Image"},"type":"array","title":"Images","description":"URLs of images which can be used to represent this category.","default":[]},"event_count":{"type":"integer","title":"Event Count","description":"Number of events with this category which have availability.","default":0}},"type":"object","required":["name"],"title":"Category","description":"Metadata and images for a category of events e.g. Tennis, Sports, Theatre."},"City":{"properties":{"localised_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Localised Name","description":"Localisable name."},"name":{"type":"string","title":"Name","description":"Location name."},"group_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Group Name","description":"Location grouping name."},"images":{"items":{"$ref":"#/components/schemas/Image"},"type":"array","title":"Images","description":"URLs of images which can be used to represent this location.","default":[]},"latitude":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Latitude","description":"Latitudinal position of the centre point of this location."},"longitude":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Longitude","description":"Longitudinal position of the centre point of this location."},"event_count":{"type":"integer","title":"Event Count","description":"Number of events in this location which have availability.","default":0},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State","description":"Parent state, if applicable."}},"type":"object","required":["name"],"title":"City","description":"Metadata and images for a city."},"CreditPaymentMethod":{"properties":{"name":{"$ref":"#/components/schemas/PaymentMethodType","default":"tickitto"},"enabled":{"type":"boolean","title":"Enabled","description":"Whether this payment method is currently enabled.","default":false},"amendment_trigger":{"$ref":"#/components/schemas/PaymentAmendmentType","default":"external"}},"type":"object","title":"CreditPaymentMethod","description":"Payment method used where Tickitto is a creditor to the user."},"Customer":{"properties":{"first_name":{"type":"string","title":"First Name","description":"Customer's first name","examples":["John"]},"last_name":{"type":"string","title":"Last Name","description":"Customer's surname/family name","examples":["Doe"]},"phone_number":{"type":"string","maxLength":16,"minLength":3,"pattern":"\\+?[0-9]{2,15}","title":"Phone Number","description":"Customer's phone number in E.164 format","examples":["+442087599036"]},"email":{"type":"string","format":"email","title":"Email","description":"Customer's email; must be a valid email","examples":["customer@example.com"]},"currency":{"type":"string","maxLength":3,"minLength":3,"pattern":"[A-Z][A-Z][A-Z]","title":"Currency","description":"Customer's chosen currency","default":"GBP","examples":["AED"]},"billing_details":{"anyOf":[{"$ref":"#/components/schemas/BillingDetails"},{"type":"null"}]},"agent_pin":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Agent Pin","description":"Agent identifier, currently only used for Intele","examples":["12345"]},"ip_location":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ip Location","description":"IP location of the customer"}},"type":"object","required":["first_name","last_name","phone_number","email"],"title":"Customer"},"DeliveryMethod":{"type":"string","enum":["external","collection","document","eticket","print"],"title":"DeliveryMethod"},"Dropoff":{"properties":{"latitude":{"type":"number","title":"Latitude","description":"Latitude in degrees","examples":[1.23456789]},"longitude":{"type":"number","title":"Longitude","description":"Longitude in degrees","examples":[1.23456789]},"id":{"type":"string","title":"Id","description":"Machine identifier for this place","default":"","examples":["123"]},"dropoff_point_name":{"type":"string","title":"Dropoff Point Name","description":"Friendly dropoff point name, in English","examples":["North Hotel"]},"dropoff_point_address":{"type":"string","title":"Dropoff Point Address","description":"Street address of the pickup point","examples":[""]},"time":{"$ref":"#/components/schemas/EventDateTime"}},"type":"object","required":["latitude","longitude","dropoff_point_name","dropoff_point_address","time"],"title":"Dropoff"},"Error":{"properties":{"type":{"type":"string","title":"Type"},"msg":{"type":"string","title":"Msg"},"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Loc"},"payload":{"anyOf":[{},{"type":"null"}],"title":"Payload"}},"type":"object","required":["type","msg","loc"],"title":"Error"},"ErrorBody":{"properties":{"request_id":{"type":"string","title":"Request Id"},"detail":{"items":{"$ref":"#/components/schemas/Error"},"type":"array","title":"Detail"},"body":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Body"}},"type":"object","required":["request_id","detail"],"title":"ErrorBody"},"EventDateTime":{"properties":{"local":{"type":"string","format":"date-time","title":"Local","description":"The date and time in the event's local timezone."},"utc":{"type":"string","format":"date-time","title":"Utc","description":"The date and time in UTC."}},"type":"object","required":["local","utc"],"title":"EventDateTime","description":"Represents a date and time relating to an event."},"EventPerformer":{"properties":{"id":{"type":"string","title":"Id","description":"Performer's ID in Mongo","examples":["ed_sheeran"]},"name":{"type":"string","title":"Name","description":"Performer's name","examples":["Ed Sheeran"]}},"type":"object","required":["id","name"],"title":"EventPerformer","description":"Small performer model used in the events table"},"EventType":{"type":"string","enum":["Standard","Cinema"],"title":"EventType","description":"Event type classification.\n\n- STANDARD: (Currently) All non-cinema events\n- CINEMA: All cinema experiences"},"EventVenue":{"properties":{"latitude":{"type":"number","title":"Latitude","description":"Latitude in degrees","examples":[1.23456789]},"longitude":{"type":"number","title":"Longitude","description":"Longitude in degrees","examples":[1.23456789]},"id":{"type":"string","title":"Id","description":"Machine identifier for this place","default":"","examples":["123"]},"venue_brand_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Venue Brand Id","description":"The brand ID that operates the venue"},"venue_address":{"type":"string","title":"Venue Address","description":"Street address of the venue","examples":["27 Stadium Avenue"]},"seatplan_images":{"anyOf":[{"items":{"$ref":"#/components/schemas/Image"},"type":"array"},{"type":"null"}],"title":"Seatplan Images","description":"Images of the venue's seatplan."},"configuration":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Configuration"},"venue_name":{"type":"string","title":"Venue Name","description":"Friendly venue name, in English","examples":["Wembley Stadium"]},"venue_brand":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Venue Brand","description":"The brand name that operates the venue"},"venue_city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Venue City","description":"The city of the venue","examples":["London"]},"venue_country":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Venue Country","description":"The country of the venue"}},"type":"object","required":["latitude","longitude","venue_address","venue_name"],"title":"EventVenue"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"Image":{"properties":{"desktop":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Desktop","description":"URL to use on desktop devices"},"mobile":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Mobile","description":"URL to use on mobile devices"},"thumbnail":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Thumbnail","description":"URL of a square version of this image"}},"type":"object","title":"Image"},"InteleCommissionItem":{"properties":{"amount":{"type":"number","title":"Amount"},"currency":{"type":"string","title":"Currency"},"commission_percent":{"type":"number","title":"Commission Percent"}},"type":"object","required":["amount","currency","commission_percent"],"title":"InteleCommissionItem"},"InteleCommissionResults":{"properties":{"item_commissions":{"additionalProperties":{"$ref":"#/components/schemas/InteleCommissionItem"},"type":"object","title":"Item Commissions","description":"Dictionary of item IDs to their commission amounts.","default":{}},"total_commission":{"$ref":"#/components/schemas/Price","description":"Total commission amount for the basket.","default":{"amount":0,"currency":"GBP"}}},"type":"object","title":"InteleCommissionResults"},"IsTbd":{"properties":{"time":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Time","description":"Whether the event time is to be determined","default":false},"date":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Date","description":"Whether the event date is to be determined","default":false}},"type":"object","title":"IsTbd"},"LiteEvent":{"properties":{"title":{"type":"string","title":"Title","description":"Human-readable/marketing name for this event.","examples":["The Event"]},"slug":{"type":"string","title":"Slug","description":"SEO slug constructed from the event id","examples":["matilda-the-musical-T500"]},"short_description":{"type":"string","title":"Short Description","description":"Short summary of the event.","examples":["Coming to an emergency broadcasting system near you!"]},"event_type":{"$ref":"#/components/schemas/EventType","description":"Type of event. (Note: standard currently refers to all non-cinema events.)","default":"Standard"},"categories":{"items":{"anyOf":[{"type":"string"},{"type":"null"}]},"type":"array","title":"Categories","description":"Categories attributed to the event","default":[]},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City","description":"Name of the city in which the event takes place.","examples":["Bristol"]},"region":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Region","description":"Name of the region in which the event takes place.","examples":["Derbyshire"]},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State","description":"Name of the state in which the event takes place, if applicable.","examples":["Virginia"]},"country":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Country","description":"Name of the country in which the event takes place."},"country_code":{"anyOf":[{"type":"string","pattern":"[A-Z][A-Z]"},{"type":"null"}],"title":"Country Code","description":"ISO 3166-1 alpha-2 code for the country in which the event takes place.","examples":["GB"]},"venue_location":{"items":{"$ref":"#/components/schemas/APIEventVenue"},"type":"array","title":"Venue Location","description":"List of locations where this event occurs.","default":[]},"images":{"items":{"$ref":"#/components/schemas/Image"},"type":"array","title":"Images","description":"URLs of images which represent this event.","default":[],"examples":[[{"desktop":"https://placekitten.com/g/1000/1000","mobile":"https://placekitten.com/g/1000/1000"},{"desktop":"https://place-puppy.com/1000x1000","thumbnail":"https://place-puppy.com/1000x1000"}]]},"videos":{"items":{"type":"string"},"type":"array","title":"Videos","description":"Links to videos that represent this event, such as trailers.","default":[]},"from_price":{"$ref":"#/components/schemas/Price","description":"Price of the cheapest ticket associated with this event.","examples":[{"amount":3.99,"currency":"GBP"}]},"popularity":{"anyOf":[{"type":"number","maximum":10.0,"minimum":1.0},{"type":"null"}],"title":"Popularity","description":"Event's popularity with end users, out of 10.","examples":[8.5]},"is_tbd":{"$ref":"#/components/schemas/IsTbd","description":"Whether the event date and/or time are to be determined.","default":{"time":false,"date":false}},"soft_availability_t1":{"type":"string","format":"date-time","title":"Soft Availability T1","description":"Beginning of the period for which this event is available to book"},"soft_availability_t2":{"type":"string","format":"date-time","title":"Soft Availability T2","description":"End of the period for which this event is available to book"},"event_id":{"type":"string","title":"Event Id","description":"Unique identifier for this event.","examples":["T123"]}},"type":"object","required":["title","slug","short_description","from_price","soft_availability_t1","soft_availability_t2","event_id"],"title":"LiteEvent"},"Location":{"properties":{"localised_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Localised Name","description":"Localisable name."},"country_code":{"type":"string","title":"Country Code","description":"Unique two-letter ISO country code e.g. GB, DE, US"},"alternate_names":{"items":{"type":"string"},"type":"array","title":"Alternate Names","description":"Alternate names and other country-codes e.g. UK, GBR, Great Britain","default":[]},"country_name":{"type":"string","title":"Country Name","description":"Country name e.g. United Arab Emirates"},"images":{"items":{"$ref":"#/components/schemas/SourcedImage"},"type":"array","title":"Images","description":"URLs of images which can be used to represent this country.","default":[]},"cities":{"items":{"$ref":"#/components/schemas/City"},"type":"array","title":"Cities","description":"An array containing metadata about cities in this country.","default":[]},"regions":{"items":{"$ref":"#/components/schemas/Region"},"type":"array","title":"Regions","description":"An array containing metadata about the regions in this country","default":[]},"states":{"items":{"$ref":"#/components/schemas/State"},"type":"array","title":"States","description":"An array containing metadata about states in this country","default":[]},"event_count":{"type":"integer","title":"Event Count","description":"Number of events in this location which have availability.","default":0}},"type":"object","required":["country_code","country_name"],"title":"Location","description":"Metadata and images for a country."},"Metadata":{"properties":{"categories":{"items":{"$ref":"#/components/schemas/Category"},"type":"array","title":"Categories","description":"Information about event categories."},"locations":{"items":{"$ref":"#/components/schemas/Location"},"type":"array","title":"Locations","description":"Information about event locations"}},"type":"object","required":["categories","locations"],"title":"Metadata","description":"Metadata endpoint response model."},"Notes":{"properties":{"ticket_notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ticket Notes"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"short_description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Short Description"}},"type":"object","title":"Notes"},"OptionChoice":{"properties":{"option_id":{"type":"string","title":"Option Id"},"choice_value":{"title":"Choice Value","description":"Value chosen by the user. Type depends on the option:\n - `choice` ⇒ `values.*.value`\n - `number` ⇒ `number`\n - `datetime` ⇒ `datetime`\n - `location` ⇒ `LatitudeLongitude`\n - `text` ⇒ `string`"},"quantity":{"type":"integer","minimum":1.0,"title":"Quantity","description":"The amount of this option to book. Defaults to 1.","default":1}},"additionalProperties":false,"type":"object","required":["option_id","choice_value"],"title":"OptionChoice"},"Organiser":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name","description":"Company name."},"email":{"anyOf":[{"type":"string","format":"email"},{"type":"null"}],"title":"Email","description":"Email address to contact in case of post-booking issues."},"phone_number":{"anyOf":[{"type":"string","maxLength":16,"minLength":3,"pattern":"\\+?[0-9]{2,15}"},{"type":"null"}],"title":"Phone Number","description":"Number to call in case of post-booking issues."}},"type":"object","title":"Organiser","description":"Describes an event/activity organiser."},"PaymentAmendmentType":{"type":"string","enum":["iterative","checkout","external"],"title":"PaymentAmendmentType","description":"ITERATIVE: Payment intents, invoices, etc, are made/amended when the basket is created, or items are added/removed from it\nCHECKOUT: Payment intents, invoices, etc, are made at checkout only.\nEXTERNAL: The distributor is MOR, handling the payment in its entirety."},"PaymentMethodType":{"type":"string","enum":["stripe","careem_pay","tickitto"],"title":"PaymentMethodType","description":"STRIPE: Tickitto is MOR, and retrieves payment for the items via Stripe.\nCAREEM_PAY: Tickitto is MOR, and retrieves payment via Careem Pay.\nTICKITTO: The distributor is MOR, and tickitto purchases the items directly."},"Personalisation":{"properties":{"first_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"First Name","description":"Ticket holder's first name","examples":["John"]},"last_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Name","description":"Ticket holder's surname/family name","examples":["Doe"]},"phone_number":{"anyOf":[{"type":"string","maxLength":16,"minLength":3,"pattern":"\\+?[0-9]{2,15}"},{"type":"null"}],"title":"Phone Number","description":"Ticket holder's phone number in E.164 format","examples":["+442087599036"]},"email":{"anyOf":[{"type":"string","format":"email"},{"type":"null"}],"title":"Email","description":"Ticket holder's email; must be a valid email","examples":["customer@example.com"]},"birthdate":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Birthdate","examples":["2013-03-07"]},"house_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"House Number","examples":["132B"]},"street_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Street Name","examples":["Example Road"]},"postal_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Postal Code","examples":["TK17 T00"]},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City","examples":["Exampleham"]},"country_code":{"anyOf":[{"type":"string","maxLength":2,"minLength":2,"pattern":"[A-Z][A-Z]"},{"type":"null"}],"title":"Country Code","examples":["GB"]}},"additionalProperties":false,"type":"object","title":"Personalisation"},"PersonalisationField":{"type":"string","enum":["prefix","first_name","last_name","phone_number","email","birthdate","house_number","street_name","postal_code","country_code","city","nationality"],"title":"PersonalisationField"},"PersonalisationFieldConstraints":{"properties":{"regex":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Regex","description":"The regular expression that the field input should validate against"}},"type":"object","title":"PersonalisationFieldConstraints"},"PersonalisationFields":{"properties":{"fields":{"additionalProperties":{"$ref":"#/components/schemas/PersonalisationFieldConstraints"},"propertyNames":{"$ref":"#/components/schemas/PersonalisationField"},"type":"object","title":"Fields","description":"A list of personalisations fields, included their regex-based constraints.","default":{}}},"type":"object","title":"PersonalisationFields"},"Pickup":{"properties":{"latitude":{"type":"number","title":"Latitude","description":"Latitude in degrees","examples":[1.23456789]},"longitude":{"type":"number","title":"Longitude","description":"Longitude in degrees","examples":[1.23456789]},"id":{"type":"string","title":"Id","description":"Machine identifier for this place","default":"","examples":["123"]},"pickup_point_name":{"type":"string","title":"Pickup Point Name","description":"Friendly pickup point name, in English","examples":["North Hotel"]},"pickup_point_address":{"type":"string","title":"Pickup Point Address","description":"Street address of the pickup point","examples":[""]},"time":{"$ref":"#/components/schemas/EventDateTime"}},"type":"object","required":["latitude","longitude","pickup_point_name","pickup_point_address","time"],"title":"Pickup"},"Price":{"properties":{"amount":{"type":"number","title":"Amount","description":"Monetary value of this price in the given currency, with decimal point i.e. not integer format","examples":["3.99"]},"currency":{"type":"string","maxLength":3,"minLength":3,"pattern":"[A-Z][A-Z][A-Z]","title":"Currency","description":"ISO 4217 code for the currency in which the item's prices are sent","examples":["GBP"]}},"type":"object","required":["amount","currency"],"title":"Price","description":"Represents an absolute monetary value in a particular currency. Cannot be negative."},"PriceDelta":{"properties":{"amount":{"type":"number","title":"Amount","description":"Monetary value of this price in the given currency, with decimal point i.e. not integer format","examples":["-3.99"]},"currency":{"type":"string","maxLength":3,"minLength":3,"pattern":"[A-Z][A-Z][A-Z]","title":"Currency","description":"ISO 4217 code for the currency in which the item's prices are sent","examples":["GBP"]}},"type":"object","required":["amount","currency"],"title":"PriceDelta","description":"Represents the difference between two monetary values. May be negative."},"Region":{"properties":{"localised_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Localised Name","description":"Localisable name."},"name":{"type":"string","title":"Name","description":"Location name."},"group_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Group Name","description":"Location grouping name."},"images":{"items":{"$ref":"#/components/schemas/Image"},"type":"array","title":"Images","description":"URLs of images which can be used to represent this location.","default":[]},"latitude":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Latitude","description":"Latitudinal position of the centre point of this location."},"longitude":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Longitude","description":"Longitudinal position of the centre point of this location."},"event_count":{"type":"integer","title":"Event Count","description":"Number of events in this location which have availability.","default":0},"cities":{"items":{"$ref":"#/components/schemas/City"},"type":"array","title":"Cities","description":"An array containing a collection cities within the region.","default":[]}},"type":"object","required":["name"],"title":"Region"},"Reservation":{"properties":{"supplier_reference":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Supplier Reference"},"external_reference":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"External Reference"},"product_selection":{"type":"string","title":"Product Selection","description":"Name of the ticket pool this reservation belongs to."},"concession_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Concession Id"},"concession_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Concession Name","description":"Name of the concession applied to this reservation."},"seat_selection":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Seat Selection","description":"Identifier for the seat booked for this reservation, if applicable."},"price":{"$ref":"#/components/schemas/Price","description":"The price of this one reservation."},"commission":{"$ref":"#/components/schemas/Price","description":"Amount of the price allocated for distributor commission","default":{"amount":0,"currency":"GBP"}},"ticket":{"anyOf":[{"$ref":"#/components/schemas/Ticket"},{"type":"null"}],"description":"Details of the booked and confirmed ticket associated with this reservation."},"voucher_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Voucher Url","description":"URL of the ticket voucher for the reservation."}},"type":"object","required":["product_selection","price"],"title":"Reservation","description":"Represents a single seat, ticket etc. reservation to an event."},"ResultSort":{"type":"string","enum":["price_asc","price_desc","popularity"],"title":"ResultSort"},"SearchResults":{"properties":{"results":{"items":{"$ref":"#/components/schemas/LiteEvent"},"type":"array","title":"Results","description":"Event results (lightweight on event information for smaller response size)."},"total_count":{"type":"integer","title":"Total Count","description":"Total number of events found.","examples":[10]},"category_count":{"additionalProperties":{"type":"integer"},"type":"object","title":"Category Count","description":"Category count for this search result","examples":[{"Attractions":1,"Tours":2}]},"city_count":{"additionalProperties":{"type":"integer"},"type":"object","title":"City Count","description":"City count for this search result set","examples":[{"London":1,"Paris":2}]},"country_count":{"additionalProperties":{"type":"integer"},"type":"object","title":"Country Count","description":"Country code count for this search result set","examples":[{"FR":2,"GB":1}]}},"type":"object","required":["results","total_count","category_count","city_count","country_count"],"title":"SearchResults"},"SessionObject":{"properties":{"session_id":{"type":"string","title":"Session Id","description":"Machine identifier of this session"},"view_url":{"type":"string","title":"View Url","description":"URL where the widget can be used to book this session"}},"type":"object","required":["session_id","view_url"],"title":"SessionObject"},"SourcedImage":{"properties":{"desktop":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Desktop","description":"URL to use on desktop devices"},"mobile":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Mobile","description":"URL to use on mobile devices"},"thumbnail":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Thumbnail","description":"URL of a square version of this image"},"cache_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cache Id","description":"Caching identifier"},"source":{"type":"string","title":"Source","description":"Where this image was sourced from e.g. teleport","default":""}},"type":"object","title":"SourcedImage"},"State":{"properties":{"localised_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Localised Name","description":"Localisable name."},"name":{"type":"string","title":"Name","description":"Location name."},"group_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Group Name","description":"Location grouping name."},"images":{"items":{"$ref":"#/components/schemas/Image"},"type":"array","title":"Images","description":"URLs of images which can be used to represent this location.","default":[]},"latitude":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Latitude","description":"Latitudinal position of the centre point of this location."},"longitude":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Longitude","description":"Longitudinal position of the centre point of this location."},"event_count":{"type":"integer","title":"Event Count","description":"Number of events in this location which have availability.","default":0},"country_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Country Name","description":"Country name e.g. United Arab Emirates"}},"type":"object","required":["name"],"title":"State","description":"Metadata and images for a state."},"StatusObject":{"properties":{"status":{"type":"string","title":"Status","examples":["healthy"]},"environment":{"type":"string","title":"Environment","examples":["PROD"]}},"type":"object","required":["status","environment"],"title":"StatusObject"},"StripeObject":{"properties":{"stripe_payment_intent":{"type":"string","title":"Stripe Payment Intent"},"stripe_payment_intent_secret":{"type":"string","title":"Stripe Payment Intent Secret"},"customer":{"$ref":"#/components/schemas/Customer"}},"type":"object","required":["stripe_payment_intent","stripe_payment_intent_secret","customer"],"title":"StripeObject"},"StripePaymentMethod":{"properties":{"name":{"$ref":"#/components/schemas/PaymentMethodType","default":"stripe"},"enabled":{"type":"boolean","title":"Enabled","description":"Whether this payment method is currently enabled.","default":false},"amendment_trigger":{"$ref":"#/components/schemas/PaymentAmendmentType","default":"iterative"},"account_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Account Id","description":"Account ID."},"platform_key":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Platform Key","description":"Tickitto publishable platform key."}},"type":"object","title":"StripePaymentMethod","description":"Payments method used for stripe."},"Ticket":{"properties":{"barcodes":{"items":{"$ref":"#/components/schemas/Barcode"},"type":"array","title":"Barcodes","description":"Barcodes for this ticket, if applicable (i.e. not collection etc).","default":[]},"delivery_methods":{"items":{"$ref":"#/components/schemas/DeliveryMethod"},"type":"array","uniqueItems":true,"title":"Delivery Methods","description":"List of supported delivery methods."}},"additionalProperties":false,"type":"object","required":["delivery_methods"],"title":"Ticket"},"VFPRequest":{"properties":{"signedUrl":{"type":"string","title":"Signedurl"},"date":{"type":"string","title":"Date"}},"type":"object","required":["signedUrl","date"],"title":"VFPRequest"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}},"securitySchemes":{"APIKeyHeader":{"type":"apiKey","in":"header","name":"key"},"HTTPBearer":{"type":"http","scheme":"bearer"}}}}