{"tenant_id":"8b763225-7b15-4bd8-8d57-903c80e45041","company_name":"TAXIVTCPARIS","tenant_timezone":"Europe/Paris","config":{"primary_color":"#F5B72E","title":"Réservez votre course","subtitle":"Estimation instantanée","button_text":"Réserver maintenant","allowed_domains":[],"template_id":"classic","booking_page_url":"","widget_v4_block_order":["contact","when","datetime","service","addresses","pax_bags"]},"pricing":{"base_fee":5.0,"price_per_km":2.0,"price_per_hour":45.0,"min_fare":10.0,"pool_discount":0.3,"round_enabled":true,"round_strategy":"nearest","round_step":1.0},"pool_config":{"enabled":false,"discount_pct":0.3,"time_window_minutes":30,"max_detour_km":2.0,"max_detour_pct":0.2,"max_pool_size":4,"min_lead_minutes":60},"trip_types_config":{"one_way":{"enabled":true},"round_trip":{"enabled":true,"discount_pct":0.0,"min_gap_hours":0.0},"hourly":{"enabled":true,"min_hours":3.0,"max_hours":48.0}},"vehicles":[],"vehicle_categories":[{"id":"9bc4cccc-c9d7-4a0b-83dd-2b71b206a14b","tenant_id":"8b763225-7b15-4bd8-8d57-903c80e45041","label":"ÉCO","multiplier":1.0,"max_seats":3,"max_luggage":3,"description":"Mercedes Classe C ou équivalent","image_url":"/api/public/vehicle-category/9bc4cccc-c9d7-4a0b-83dd-2b71b206a14b/image?v=20260520T18275","active":true,"order":1,"created_at":"2026-05-20T18:27:52.621397+00:00","base_fee":30.0,"min_fare":50.0,"price_per_hour":50.0,"price_per_km":2.0,"price_per_minute":0.4},{"id":"8c5a263b-4d31-42a9-a8e4-6f96c0e656d9","tenant_id":"8b763225-7b15-4bd8-8d57-903c80e45041","label":"BUSINESS","multiplier":1.0,"max_seats":3,"max_luggage":3,"description":"Prestations haut de gamme (Mercedes Classe S, …)","image_url":"/api/public/vehicle-category/8c5a263b-4d31-42a9-a8e4-6f96c0e656d9/image?v=20260520T18275","active":true,"order":2,"created_at":"2026-05-20T18:27:52.621381+00:00","base_fee":40.0,"min_fare":60.0,"price_per_hour":65.0,"price_per_km":2.5,"price_per_minute":0.5},{"id":"e3e6365f-66cf-47cd-842f-a9e8e9744e8d","tenant_id":"8b763225-7b15-4bd8-8d57-903c80e45041","label":"VAN","multiplier":1.0,"max_seats":7,"max_luggage":7,"description":"Idéal pour familles ou groupes avec bagages","image_url":"/api/public/vehicle-category/e3e6365f-66cf-47cd-842f-a9e8e9744e8d/image?v=20260520T18275","active":true,"order":3,"created_at":"2026-05-20T18:27:52.621356+00:00","base_fee":50.0,"min_fare":65.0,"price_per_hour":70.0,"price_per_km":2.8,"price_per_minute":0.6}],"service_options":[{"id":"ae59d7e7-7cab-481a-b3bc-f27cebe6f8ce","tenant_id":"8b763225-7b15-4bd8-8d57-903c80e45041","label":"Affichage Pancarte","description":"le chauffeur vous attend en tete de train ou a la sortir de l'aeoport avec une pancarte ","price":10.0,"active":true,"order":0,"created_at":"2026-05-20T18:37:17.394510+00:00"},{"id":"1bf851cf-8bba-4773-9e52-4ffdd8535bcb","tenant_id":"8b763225-7b15-4bd8-8d57-903c80e45041","label":"Rehausseur","description":"","price":5.0,"active":true,"order":0,"created_at":"2026-05-20T18:37:29.409809+00:00"},{"id":"74fd969d-f159-4bde-95db-77b5db92737c","tenant_id":"8b763225-7b15-4bd8-8d57-903c80e45041","label":"cosy","description":"enfant -1ans","price":10.0,"active":true,"order":2,"created_at":"2026-05-23T17:12:46.076503+00:00"},{"id":"5df49b60-c69d-46d6-8d78-90b92026aa3e","tenant_id":"8b763225-7b15-4bd8-8d57-903c80e45041","label":"Greeter","description":"Votre greeter vous récupère au pied de l'avion. Pas de queue à la douane, il s'occupe de tout ! Il vous accompagne et vous conduit directement jusqu'au chauffeur dans le véhicule. Service disponible jusqu'à 4 personnes et 4 valises.","price":150.0,"active":true,"order":3,"created_at":"2026-06-24T22:23:42.389650+00:00"},{"id":"dad1ae57-3e00-4e1f-8cf4-563dfd5aba16","tenant_id":"8b763225-7b15-4bd8-8d57-903c80e45041","label":"Siège bébé","description":"","price":7.0,"active":true,"order":7,"created_at":"2026-05-20T18:36:13.616419+00:00"},{"id":"1133cf58-50cb-4c6d-afeb-b97d068e7a24","tenant_id":"8b763225-7b15-4bd8-8d57-903c80e45041","label":"ajouté 1 passé UNIQUEMENT pour van ajouté 1 personne pour avoir un van a 8 pax ","description":"","price":10.0,"active":true,"order":10,"created_at":"2026-09-08T23:09:35.089905+00:00"}],"payment_methods":["card_online","cash_onboard","card_onboard"],"analytics_config":{"ga4_measurement_id":"G-HZBNN2RLQK","gtm_container_id":"","meta_pixel_id":"","custom_head_script":"<script>\n(function (w, d, s, u) {\n  if (w.oaiq) return;\n  var q = function () { q.q.push(arguments); };\n  q.q = []; w.oaiq = q;\n  var j = d.createElement(s); j.async = true; j.src = u;\n  var f = d.getElementsByTagName(s)[0]; f.parentNode.insertBefore(j, f);\n})(window, document, \"script\", \"https://bzrcdn.openai.com/sdk/oaiq.min.js\");\noaiq(\"init\", { pixelId: \"6tKF5FKQhsZRhxqNUe8nz4\" });\n\n// Reservation CONFIRMEE uniquement (une conversion par reservation, cle = booking_id) :\n//  - paiement a bord (cash_onboard, card_onboard) : confirmee des que la reservation est enregistree (booking_created)\n//  - paiement en ligne (card_online, paypal, sumup, mypos) : confirmee seulement quand le paiement est reussi (payment_completed)\nwindow.dataLayer = window.dataLayer || [];\nvar _sent = {};\nvar ONBOARD = { cash_onboard: 1, card_onboard: 1 };\nfunction sendOrderCreated(bookingId, price) {\n  if (!bookingId || _sent[bookingId]) return;\n  _sent[bookingId] = true;\n  try {\n    var data = { type: \"contents\", currency: \"EUR\" };\n    var cents = Math.round(parseFloat(String(price).replace(\",\", \".\")) * 100);\n    if (cents > 0) data.amount = cents;\n    oaiq(\"measure\", \"order_created\", data, { event_id: \"order_\" + bookingId });\n  } catch (e) {}\n}\nvar _origPush = window.dataLayer.push;\nwindow.dataLayer.push = function () {\n  try {\n    Array.prototype.slice.call(arguments).forEach(function (item) {\n      if (!item) return;\n      var evt = item.event || item.eventName || \"\";\n      var id = item.booking_id || (item.booking && item.booking.id);\n      var price = item.value || item.price || item.amount || (item.booking && item.booking.price);\n      if (evt === \"payment_completed\") sendOrderCreated(id, price);\n      else if (evt === \"booking_created\" && ONBOARD[item.payment_method]) sendOrderCreated(id, price);\n    });\n  } catch (e) {}\n  return _origPush.apply(window.dataLayer, arguments);\n};\n</script>"},"booking_pause":{"closed":false,"message":"Les réservations en ligne sont temporairement suspendues. Merci de votre compréhension, elles reprendront très prochainement."}}