{"id":1914,"date":"2025-08-06T17:44:23","date_gmt":"2025-08-06T15:44:23","guid":{"rendered":"https:\/\/2021lapalma.com\/?page_id=1914"},"modified":"2025-11-10T08:49:14","modified_gmt":"2025-11-10T07:49:14","slug":"visit-miradas","status":"publish","type":"page","link":"https:\/\/2021lapalma.com\/en\/visit-miradas\/","title":{"rendered":"Booking"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"1914\" class=\"elementor elementor-1914 elementor-1913\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-05e3e67 e-flex e-con-boxed e-con e-parent\" data-id=\"05e3e67\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-988aad2 e-con-full e-flex e-con e-child\" data-id=\"988aad2\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-25edad6 elementor-widget elementor-widget-heading\" data-id=\"25edad6\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h1 class=\"elementor-heading-title elementor-size-default\">Booking<\/h1>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-8e5e106 e-flex e-con-boxed e-con e-parent\" data-id=\"8e5e106\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-4b27acd elementor-widget elementor-widget-text-editor\" data-id=\"4b27acd\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div class=\"et_pb_module et_pb_text et_pb_text_16 et_pb_text_align_left et_pb_bg_layout_light\"><div class=\"et_pb_text_inner\"><p>We are pleased that you want to visit us.<br>Visits to the exhibitions are free of charge.<br>If you have any problems with your booking, please call us at +34 922 166 238.<\/p><p>Please select the number of people, the desired day, and time of your visit.<br>You will receive a booking confirmation email shortly.<\/p><\/div><\/div>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-f47c9e2 elementor-widget elementor-widget-html\" data-id=\"f47c9e2\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<script src=\"https:\/\/code.jquery.com\/jquery-3.6.4.min.js\"><\/script>\n<script src=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/moment.js\/2.29.1\/moment.min.js\"><\/script>\n<script src=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/fullcalendar\/3.10.2\/fullcalendar.min.js\"><\/script>\n<link rel=\"stylesheet\" href=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/fullcalendar\/3.10.2\/fullcalendar.min.css\" \/>\n<script src=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/fullcalendar\/3.10.2\/locale\/es.js\"><\/script>\n<script src=\"https:\/\/cdn.jsdelivr.net\/npm\/axios\/dist\/axios.min.js\"><\/script>\n<script src=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/moment.js\/2.29.1\/moment.min.js\"><\/script>\n<link href=\"https:\/\/cdn.jsdelivr.net\/npm\/bootstrap@5.3.0-alpha1\/dist\/css\/bootstrap.min.css\" rel=\"stylesheet\">\n\n<link rel=\"stylesheet\" href=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/flag-icon-css\/3.5.0\/css\/flag-icon.min.css\">\n<link rel=\"stylesheet\" href=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/flag-icon-css\/3.5.0\/css\/flag-icon.min.css\">\n\n<link rel=\"stylesheet\" href=\"https:\/\/cdn.jsdelivr.net\/npm\/sweetalert2@10\/dist\/sweetalert2.min.css\">\n<script src=\"https:\/\/cdn.jsdelivr.net\/npm\/sweetalert2@10\"><\/script>\n<link rel=\"stylesheet\" href=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/font-awesome\/6.5.1\/css\/all.min.css\"\nintegrity=\"sha512-DTOQO9RWCH3ppGqcWaEA1BIZOC6xxalwEsw9c2QQeAIftl+Vegovlnee1c9QX4TctnWMn13TZye+giMm8e2LwA==\"\ncrossorigin=\"anonymous\" referrerpolicy=\"no-referrer\" \/>\n\n<style>\n.fc-icon.fc-icon-fa {\nfont-family: \"FontAwesome\" !important;\n}\n\n* {\nborder-radius: 0 !important;\n}\n\n.ClaseBoton {\nbackground-color: #d4d4d4 !important;\n}\n\na{\ntext-decoration:none;\n}\n\nstrong{\nfont-weight:700;\n}\n\nbody {\nfont-family: \"Times New Roman\", Times, serif !important;\n}\n\n.form-select {\nborder: 1px solid black;\n}\n\n.letter {\nfont-family: \"Times New Roman\", Times, serif !important;\n}\n\n.fc-event-container {\ncursor: pointer;\nwidth: 90%;\n}\n\n.cambiarWidth {\nwidth: 25%;\n}\n\n.entry-content tr td {\npadding: 0px 0px;\n}\n\n.entry-content {\nborder: 0px !important;\n}\n\n.margentop {\nmargin-top: 3%;\n}\n\n.fc-scroller.fc-day-grid-container {\noverflow: hidden !important;\nheight: 100% !important;\n}\n\n.hourContent {\nborder: 1px solid #d4d4d4;\nwidth: 65%;\nborder-radius: 5px;\npadding: 15px;\nbackground-color: #f3f3f3;\n}\n\n.btnCalendar {\ntext-align: center !important;\n}\n\n@media screen and (max-width: 1023px) {\n.cambiarWidth {\nwidth: 45%;\n}\n\n.margentop {\nmargin-top: 10%;\n}\n}\n\n@media screen and (max-width: 500px){\n.buttonMovilMover{\nmargin-left:10% !important;\nmargin-top:-15% !important;\n}\n.hourContent {\nwidth:60% !important;\n}\n\n.fc-title{\nfont-size: 10px; \/* Reducir tama\u00f1o de fuente *\/\nwidth: 95%;\n}\n\n.fc-day-header, .fc-widget-header {\ntext-align: center !important; \/* Centrar el texto *\/\nfont-size:11px !important;\n}\n\n.entry-content thead th, .entry-content tr th{\npadding: 0 !important;\n}\n}\n\n.diagonal-pattern {\nbackground-image: linear-gradient(to bottom right, white 48.5%, black 50%, white 50.5%);\nbackground-size: 10px 10px;\nbackground-color: white;\n}\n\n\/* Selector m\u00e1s espec\u00edfico para quitar el borde azul de Bootstrap *\/\n.form-control:focus,\n.form-select:focus {\noutline: none !important;\nbox-shadow: none !important;\nborder: 1px solid black;\n}\n\n.fc-state-default {\nbackground-color: white !important;\n\/* Quitar el fondo *\/\nborder: none !important;\n\/* Quitar el borde *\/\nbackground-image: none !important;\ntext-shadow: none;\nbox-shadow: none;\n}\n\n.fc-customNextButton-button:hover {\nbackground-color: white;\nborder: none !important;\n\/* Quitar el borde *\/\n}\n\n.fc-state-hover {\nbackground-color: white;\n}\n\n.fc-state-hover:hover {\nbackground-color: white;\n}\n\n.fc-disabled-day {\nbackground-color: rgb(215, 215, 215) !important;\n}\n\n.Especial {\nbackground-color: #d6d6d6 !important; \/* Cambia el color de fondo cuando se hace clic *\/\ncolor: black !important; \/* Cambia el color del texto cuando se hace clic *\/\nborder: 1px solid #3b3b3b !important; \/* Opcional: cambia el borde cuando se hace clic *\/\n}\n\n\n.Especial2 {\nbackground-color: #d6d6d6 !important; \/* Cambia el color de fondo cuando se hace clic *\/\ncolor: black !important; \/* Cambia el color del texto cuando se hace clic *\/\nborder: 1px solid #3b3b3b !important; \/* Opcional: cambia el borde cuando se hace clic *\/\n}\n<\/style>\n\n<div class=\"container\">\n\n<div class=\"col-12 col-lg-12\" style=\"margin-top:2%;\">\n<div style=\"display: inline-flex;width: 100%;\">\n<select id=\"servicesDropdown\" class=\"form-select cambiarWidth\" style=\"height: 38px;margin-top: 1%; background-image: none;--bs-form-select-bg-img: none;\"\naria-label=\"Default select example\">\n<option value=\"\">Loading...<\/option>\n<\/select>\n<\/div>\n<\/div>\n\n<div class=\"col-12 col-lg-12\" style=\"margin-top:2%;\">\n<div style=\"display: inline-flex;width: 100%;\">\n<select id=\"numeroPersonas\" name=\"numeroPersonas\" class=\"form-select cambiarWidth\"\nstyle=\"height: 38px;margin-top: 1%;\" aria-label=\"Default select example\"\nonchange=\"searchAvailability()\">\n<option value=\"\" selected>N\u00ba of people<\/option>\n<option value=\"1\">1 person<\/option>\n<option value=\"2\">2 people<\/option>\n<option value=\"3\">3 people<\/option>\n<option value=\"4\">4 people<\/option>\n<option value=\"5\">5 people<\/option>\n<option value=\"6\">6 people<\/option>\n<\/select>\n<\/div>\n<\/div>\n\n<div class=\"col-12 col-lg-7 margentop\">\n<div id=\"calendar\" style=\"width: 100%; height: 100%;\">\n<\/div>\n<\/div>\n<div id=\"contenedorBotones\" class=\"col-12 col-lg-5\" style=\"margin-top:5%;\">\n<div id=\"buttonDiv\" class=\"buttonDiv\">\n<p id=\"hrMostrar\" style=\"display: none;padding: 10px;\"><\/p>\n<hr id=\"hrMostrar2\" style=\"display: none;\">\n\n<\/div>\n<br>\n<div class=\"form\"\nstyle=\"display:none;margin-top:5%;border:1px solid #d4d4d4;border-radius: 15px ;padding:15px;\">\n<h2 class=\"mb-4\" style=\"border-bottom: 1px solid #d4d4d4;width: 95%;\">Booking Information<\/h2>\n<form>\n<div class=\"row mb-3\">\n<div class=\"col\">\n<label for=\"nombre\" class=\"form-label\" style=\"font-weight: bold;\">Name<\/label>\n<input type=\"text\" class=\"form-control\" id=\"nombre\" placeholder=\"Name\"\nrequired>\n<\/div>\n<div class=\"col\">\n<label for=\"apellido\" class=\"form-label\" style=\"font-weight: bold;\">Last Name<\/label>\n<input type=\"text\" class=\"form-control\" id=\"apellido\" placeholder=\"Last Name\"\nrequired>\n<\/div>\n<\/div>\n<div class=\"mb-3\">\n<label for=\"correo\" class=\"form-label\" style=\"font-weight: bold;\">Email<\/label>\n<input type=\"email\" class=\"form-control\" id=\"correo\" placeholder=\"Email@example.com\"\nrequired>\n<\/div>\n<div class=\"mb-3\">\n<label for=\"telefono\" class=\"form-label\" style=\"font-weight: bold;\">Phone Number<\/label>\n<div class=\"input-group\">\n<select name=\"countryCode\" id=\"selectPhone\" style=\"width:160px;\"\nclass=\"input-group-text\">\n<option value=\"34\" data-countryCode=\"ES\" selected>(+34) Spain<\/option>\n<option value=\"213\" data-countryCode=\"DZ\">(+213) Algeria<\/option>\n<option value=\"376\" data-countryCode=\"AD\">(+376) Andorra<\/option>\n<option value=\"244\" data-countryCode=\"AO\">(+244) Angola<\/option>\n<option value=\"1264\" data-countryCode=\"AI\">(+1264) Anguilla<\/option>\n<option value=\"1268\" data-countryCode=\"AG\">(+1268) Antigua and Barbuda<\/option>\n<option value=\"54\" data-countryCode=\"AR\">(+54) Argentina<\/option>\n<option value=\"374\" data-countryCode=\"AM\">(+374) Armenia<\/option>\n<option value=\"297\" data-countryCode=\"AW\">(+297) Aruba<\/option>\n<option value=\"61\" data-countryCode=\"AU\">(+61) Australia<\/option>\n<option value=\"43\" data-countryCode=\"AT\">(+43) Austria<\/option>\n<option value=\"994\" data-countryCode=\"AZ\">(+994) Azerbaijan<\/option>\n<option value=\"1242\" data-countryCode=\"BS\">(+1242) Bahamas<\/option>\n<option value=\"973\" data-countryCode=\"BH\">(+973) Bahrain<\/option>\n<option value=\"880\" data-countryCode=\"BD\">(+880) Bangladesh<\/option>\n<option value=\"1246\" data-countryCode=\"BB\">(+1246) Barbados<\/option>\n<option value=\"375\" data-countryCode=\"BY\">(+375) Belarus<\/option>\n<option value=\"32\" data-countryCode=\"BE\">(+32) Belgium<\/option>\n<option value=\"501\" data-countryCode=\"BZ\">(+501) Belize<\/option>\n<option value=\"229\" data-countryCode=\"BJ\">(+229) Benin<\/option>\n<option value=\"1441\" data-countryCode=\"BM\">(+1441) Bermuda<\/option>\n<option value=\"975\" data-countryCode=\"BT\">(+975) Bhutan<\/option>\n<option value=\"591\" data-countryCode=\"BO\">(+591) Bolivia<\/option>\n<option value=\"387\" data-countryCode=\"BA\">(+387) Bosnia and Herzegovina<\/option>\n<option value=\"267\" data-countryCode=\"BW\">(+267) Botswana<\/option>\n<option value=\"55\" data-countryCode=\"BR\">(+55) Brazil<\/option>\n<option value=\"673\" data-countryCode=\"BN\">(+673) Brunei<\/option>\n<option value=\"359\" data-countryCode=\"BG\">(+359) Bulgaria<\/option>\n<option value=\"226\" data-countryCode=\"BF\">(+226) Burkina Faso<\/option>\n<option value=\"257\" data-countryCode=\"BI\">(+257) Burundi<\/option>\n<option value=\"855\" data-countryCode=\"KH\">(+855) Cambodia<\/option>\n<option value=\"237\" data-countryCode=\"CM\">(+237) Cameroon<\/option>\n<option value=\"1\" data-countryCode=\"CA\">(+1) Canada<\/option>\n<option value=\"238\" data-countryCode=\"CV\">(+238) Cape Verde<\/option>\n<option value=\"1345\" data-countryCode=\"KY\">(+1345) Cayman Islands<\/option>\n<option value=\"236\" data-countryCode=\"CF\">(+236) Central African Republic<\/option>\n<option value=\"56\" data-countryCode=\"CL\">(+56) Chile<\/option>\n<option value=\"86\" data-countryCode=\"CN\">(+86) China<\/option>\n<option value=\"57\" data-countryCode=\"CO\">(+57) Colombia<\/option>\n<option value=\"269\" data-countryCode=\"KM\">(+269) Comoros<\/option>\n<option value=\"242\" data-countryCode=\"CG\">(+242) Congo<\/option>\n<option value=\"682\" data-countryCode=\"CK\">(+682) Cook Islands<\/option>\n<option value=\"506\" data-countryCode=\"CR\">(+506) Costa Rica<\/option>\n<option value=\"385\" data-countryCode=\"HR\">(+385) Croatia<\/option>\n<option value=\"53\" data-countryCode=\"CU\">(+53) Cuba<\/option>\n<option value=\"90392\" data-countryCode=\"CY\">(+90392) Northern Cyprus<\/option>\n<option value=\"357\" data-countryCode=\"CY\">(+357) Southern Cyprus<\/option>\n<option value=\"42\" data-countryCode=\"CZ\">(+42) Czech Republic<\/option>\n<option value=\"45\" data-countryCode=\"DK\">(+45) Denmark<\/option>\n<option value=\"253\" data-countryCode=\"DJ\">(+253) Djibouti<\/option>\n<option value=\"1809\" data-countryCode=\"DM\">(+1809) Dominica<\/option>\n<option value=\"1809\" data-countryCode=\"DO\">(+1809) Dominican Republic<\/option>\n<option value=\"593\" data-countryCode=\"EC\">(+593) Ecuador<\/option>\n<option value=\"20\" data-countryCode=\"EG\">(+20) Egypt<\/option>\n<option value=\"503\" data-countryCode=\"SV\">(+503) El Salvador<\/option>\n<option value=\"240\" data-countryCode=\"GQ\">(+240) Equatorial Guinea<\/option>\n<option value=\"291\" data-countryCode=\"ER\">(+291) Eritrea<\/option>\n<option value=\"372\" data-countryCode=\"EE\">(+372) Estonia<\/option>\n<option value=\"251\" data-countryCode=\"ET\">(+251) Ethiopia<\/option>\n<option value=\"500\" data-countryCode=\"FK\">(+500) Falkland Islands<\/option>\n<option value=\"298\" data-countryCode=\"FO\">(+298) Faroe Islands<\/option>\n<option value=\"679\" data-countryCode=\"FJ\">(+679) Fiji<\/option>\n<option value=\"358\" data-countryCode=\"FI\">(+358) Finland<\/option>\n<option value=\"33\" data-countryCode=\"FR\">(+33) France<\/option>\n<option value=\"594\" data-countryCode=\"GF\">(+594) French Guiana<\/option>\n<option value=\"689\" data-countryCode=\"PF\">(+689) French Polynesia<\/option>\n<option value=\"241\" data-countryCode=\"GA\">(+241) Gabon<\/option>\n<option value=\"220\" data-countryCode=\"GM\">(+220) Gambia<\/option>\n<option value=\"7880\" data-countryCode=\"GE\">(+7880) Georgia<\/option>\n<option value=\"49\" data-countryCode=\"DE\">(+49) Germany<\/option>\n<option value=\"233\" data-countryCode=\"GH\">(+233) Ghana<\/option>\n<option value=\"350\" data-countryCode=\"GI\">(+350) Gibraltar<\/option>\n<option value=\"30\" data-countryCode=\"GR\">(+30) Greece<\/option>\n<option value=\"299\" data-countryCode=\"GL\">(+299) Greenland<\/option>\n<option value=\"1473\" data-countryCode=\"GD\">(+1473) Grenada<\/option>\n<option value=\"590\" data-countryCode=\"GP\">(+590) Guadeloupe<\/option>\n<option value=\"671\" data-countryCode=\"GU\">(+671) Guam<\/option>\n<option value=\"502\" data-countryCode=\"GT\">(+502) Guatemala<\/option>\n<option value=\"224\" data-countryCode=\"GN\">(+224) Guinea<\/option>\n<option value=\"245\" data-countryCode=\"GW\">(+245) Guinea-Bissau<\/option>\n<option value=\"592\" data-countryCode=\"GY\">(+592) Guyana<\/option>\n<option value=\"509\" data-countryCode=\"HT\">(+509) Haiti<\/option>\n<option value=\"504\" data-countryCode=\"HN\">(+504) Honduras<\/option>\n<option value=\"852\" data-countryCode=\"HK\">(+852) Hong Kong<\/option>\n<option value=\"36\" data-countryCode=\"HU\">(+36) Hungary<\/option>\n<option value=\"354\" data-countryCode=\"IS\">(+354) Iceland<\/option>\n<option value=\"91\" data-countryCode=\"IN\">(+91) India<\/option>\n<option value=\"62\" data-countryCode=\"ID\">(+62) Indonesia<\/option>\n<option value=\"98\" data-countryCode=\"IR\">(+98) Iran<\/option>\n<option value=\"964\" data-countryCode=\"IQ\">(+964) Iraq<\/option>\n<option value=\"353\" data-countryCode=\"IE\">(+353) Ireland<\/option>\n<option value=\"972\" data-countryCode=\"IL\">(+972) Israel<\/option>\n<option value=\"39\" data-countryCode=\"IT\">(+39) Italy<\/option>\n<option value=\"1876\" data-countryCode=\"JM\">(+1876) Jamaica<\/option>\n<option value=\"81\" data-countryCode=\"JP\">(+81) Japan<\/option>\n<option value=\"962\" data-countryCode=\"JO\">(+962) Jordan<\/option>\n<option value=\"7\" data-countryCode=\"KZ\">(+7) Kazakhstan<\/option>\n<option value=\"254\" data-countryCode=\"KE\">(+254) Kenya<\/option>\n<option value=\"686\" data-countryCode=\"KI\">(+686) Kiribati<\/option>\n<option value=\"850\" data-countryCode=\"KP\">(+850) North Korea<\/option>\n<option value=\"82\" data-countryCode=\"KR\">(+82) South Korea<\/option>\n<option value=\"965\" data-countryCode=\"KW\">(+965) Kuwait<\/option>\n<option value=\"996\" data-countryCode=\"KG\">(+996) Kyrgyzstan<\/option>\n<option value=\"371\" data-countryCode=\"LV\">(+371) Latvia<\/option>\n<option value=\"961\" data-countryCode=\"LB\">(+961) Lebanon<\/option>\n<option value=\"266\" data-countryCode=\"LS\">(+266) Lesotho<\/option>\n<option value=\"231\" data-countryCode=\"LR\">(+231) Liberia<\/option>\n<option value=\"218\" data-countryCode=\"LY\">(+218) Libya<\/option>\n<option value=\"423\" data-countryCode=\"LI\">(+423) Liechtenstein<\/option>\n<option value=\"370\" data-countryCode=\"LT\">(+370) Lithuania<\/option>\n<option value=\"352\" data-countryCode=\"LU\">(+352) Luxembourg<\/option>\n<option value=\"853\" data-countryCode=\"MO\">(+853) Macau<\/option>\n<option value=\"389\" data-countryCode=\"MK\">(+389) North Macedonia<\/option>\n<option value=\"261\" data-countryCode=\"MG\">(+261) Madagascar<\/option>\n<option value=\"265\" data-countryCode=\"MW\">(+265) Malawi<\/option>\n<option value=\"60\" data-countryCode=\"MY\">(+60) Malaysia<\/option>\n<option value=\"960\" data-countryCode=\"MV\">(+960) Maldives<\/option>\n<option value=\"223\" data-countryCode=\"ML\">(+223) Mali<\/option>\n<option value=\"356\" data-countryCode=\"MT\">(+356) Malta<\/option>\n<option value=\"692\" data-countryCode=\"MH\">(+692) Marshall Islands<\/option>\n<option value=\"596\" data-countryCode=\"MQ\">(+596) Martinique<\/option>\n<option value=\"222\" data-countryCode=\"MR\">(+222) Mauritania<\/option>\n<option value=\"230\" data-countryCode=\"MU\">(+230) Mauritius<\/option>\n<option value=\"52\" data-countryCode=\"MX\">(+52) Mexico<\/option>\n<option value=\"691\" data-countryCode=\"FM\">(+691) Micronesia<\/option>\n<option value=\"373\" data-countryCode=\"MD\">(+373) Moldova<\/option>\n<option value=\"377\" data-countryCode=\"MC\">(+377) Monaco<\/option>\n<option value=\"976\" data-countryCode=\"MN\">(+976) Mongolia<\/option>\n<option value=\"1664\" data-countryCode=\"MS\">(+1664) Montserrat<\/option>\n<option value=\"212\" data-countryCode=\"MA\">(+212) Morocco<\/option>\n<option value=\"258\" data-countryCode=\"MZ\">(+258) Mozambique<\/option>\n<option value=\"95\" data-countryCode=\"MM\">(+95) Myanmar<\/option>\n<option value=\"264\" data-countryCode=\"NA\">(+264) Namibia<\/option>\n<option value=\"674\" data-countryCode=\"NR\">(+674) Nauru<\/option>\n<option value=\"977\" data-countryCode=\"NP\">(+977) Nepal<\/option>\n<option value=\"31\" data-countryCode=\"NL\">(+31) Netherlands<\/option>\n<option value=\"687\" data-countryCode=\"NC\">(+687) New Caledonia<\/option>\n<option value=\"64\" data-countryCode=\"NZ\">(+64) New Zealand<\/option>\n<option value=\"505\" data-countryCode=\"NI\">(+505) Nicaragua<\/option>\n<option value=\"227\" data-countryCode=\"NE\">(+227) Niger<\/option>\n<option value=\"234\" data-countryCode=\"NG\">(+234) Nigeria<\/option>\n<option value=\"683\" data-countryCode=\"NU\">(+683) Niue<\/option>\n<option value=\"672\" data-countryCode=\"NF\">(+672) Norfolk Island<\/option>\n<option value=\"670\" data-countryCode=\"MP\">(+670) Northern Mariana Islands<\/option>\n<option value=\"47\" data-countryCode=\"NO\">(+47) Norway<\/option>\n<option value=\"968\" data-countryCode=\"OM\">(+968) Oman<\/option>\n<option value=\"92\" data-countryCode=\"PK\">(+92) Pakistan<\/option>\n<option value=\"680\" data-countryCode=\"PW\">(+680) Palau<\/option>\n<option value=\"507\" data-countryCode=\"PA\">(+507) Panama<\/option>\n<option value=\"675\" data-countryCode=\"PG\">(+675) Papua New Guinea<\/option>\n<option value=\"595\" data-countryCode=\"PY\">(+595) Paraguay<\/option>\n<option value=\"51\" data-countryCode=\"PE\">(+51) Peru<\/option>\n<option value=\"63\" data-countryCode=\"PH\">(+63) Philippines<\/option>\n<option value=\"48\" data-countryCode=\"PL\">(+48) Poland<\/option>\n<option value=\"351\" data-countryCode=\"PT\">(+351) Portugal<\/option>\n<option value=\"1787\" data-countryCode=\"PR\">(+1787) Puerto Rico<\/option>\n<option value=\"974\" data-countryCode=\"QA\">(+974) Qatar<\/option>\n<option value=\"262\" data-countryCode=\"RE\">(+262) R\u00e9union<\/option>\n<option value=\"40\" data-countryCode=\"RO\">(+40) Romania<\/option>\n<option value=\"7\" data-countryCode=\"RU\">(+7) Russia<\/option>\n<option value=\"250\" data-countryCode=\"RW\">(+250) Rwanda<\/option>\n<option value=\"378\" data-countryCode=\"SM\">(+378) San Marino<\/option>\n<option value=\"239\" data-countryCode=\"ST\">(+239) S\u00e3o Tom\u00e9 and Pr\u00edncipe<\/option>\n<option value=\"966\" data-countryCode=\"SA\">(+966) Saudi Arabia<\/option>\n<option value=\"221\" data-countryCode=\"SN\">(+221) Senegal<\/option>\n<option value=\"381\" data-countryCode=\"CS\">(+381) Serbia and Montenegro<\/option>\n<option value=\"248\" data-countryCode=\"SC\">(+248) Seychelles<\/option>\n<option value=\"232\" data-countryCode=\"SL\">(+232) Sierra Leone<\/option>\n<option value=\"65\" data-countryCode=\"SG\">(+65) Singapore<\/option>\n<option value=\"421\" data-countryCode=\"SK\">(+421) Slovakia<\/option>\n<option value=\"386\" data-countryCode=\"SI\">(+386) Slovenia<\/option>\n<option value=\"677\" data-countryCode=\"SB\">(+677) Solomon Islands<\/option>\n<option value=\"252\" data-countryCode=\"SO\">(+252) Somalia<\/option>\n<option value=\"27\" data-countryCode=\"ZA\">(+27) South Africa<\/option>\n<option value=\"94\" data-countryCode=\"LK\">(+94) Sri Lanka<\/option>\n<option value=\"290\" data-countryCode=\"SH\">(+290) Saint Helena<\/option>\n<option value=\"1869\" data-countryCode=\"KN\">(+1869) Saint Kitts and Nevis<\/option>\n<option value=\"1758\" data-countryCode=\"LC\">(+1758) Saint Lucia<\/option>\n<option value=\"249\" data-countryCode=\"SD\">(+249) Sudan<\/option>\n<option value=\"597\" data-countryCode=\"SR\">(+597) Suriname<\/option>\n<option value=\"268\" data-countryCode=\"SZ\">(+268) Eswatini<\/option>\n<option value=\"46\" data-countryCode=\"SE\">(+46) Sweden<\/option>\n<option value=\"41\" data-countryCode=\"CH\">(+41) Switzerland<\/option>\n<option value=\"963\" data-countryCode=\"SY\">(+963) Syria<\/option>\n<option value=\"886\" data-countryCode=\"TW\">(+886) Taiwan<\/option>\n<option value=\"992\" data-countryCode=\"TJ\">(+992) Tajikistan<\/option>\n<option value=\"255\" data-countryCode=\"TZ\">(+255) Tanzania<\/option>\n<option value=\"66\" data-countryCode=\"TH\">(+66) Thailand<\/option>\n<option value=\"228\" data-countryCode=\"TG\">(+228) Togo<\/option>\n<option value=\"690\" data-countryCode=\"TK\">(+690) Tokelau<\/option>\n<option value=\"676\" data-countryCode=\"TO\">(+676) Tonga<\/option>\n<option value=\"1868\" data-countryCode=\"TT\">(+1868) Trinidad and Tobago<\/option>\n<option value=\"216\" data-countryCode=\"TN\">(+216) Tunisia<\/option>\n<option value=\"90\" data-countryCode=\"TR\">(+90) Turkey<\/option>\n<option value=\"993\" data-countryCode=\"TM\">(+993) Turkmenistan<\/option>\n<option value=\"1649\" data-countryCode=\"TC\">(+1649) Turks and Caicos Islands<\/option>\n<option value=\"688\" data-countryCode=\"TV\">(+688) Tuvalu<\/option>\n<option value=\"256\" data-countryCode=\"UG\">(+256) Uganda<\/option>\n<option value=\"380\" data-countryCode=\"UA\">(+380) Ukraine<\/option>\n<option value=\"971\" data-countryCode=\"AE\">(+971) United Arab Emirates<\/option>\n<option value=\"44\" data-countryCode=\"GB\">(+44) United Kingdom<\/option>\n<option value=\"1\" data-countryCode=\"US\">(+1) United States<\/option>\n<option value=\"598\" data-countryCode=\"UY\">(+598) Uruguay<\/option>\n<option value=\"998\" data-countryCode=\"UZ\">(+998) Uzbekistan<\/option>\n<option value=\"678\" data-countryCode=\"VU\">(+678) Vanuatu<\/option>\n<option value=\"58\" data-countryCode=\"VE\">(+58) Venezuela<\/option>\n<option value=\"84\" data-countryCode=\"VN\">(+84) Vietnam<\/option>\n<option value=\"681\" data-countryCode=\"WF\">(+681) Wallis and Futuna<\/option>\n<option value=\"967\" data-countryCode=\"YE\">(+967) Yemen<\/option>\n<option value=\"260\" data-countryCode=\"ZM\">(+260) Zambia<\/option>\n<option value=\"263\" data-countryCode=\"ZW\">(+263) Zimbabwe<\/option>\n<option value=\"358\" data-countryCode=\"FI\">(+358) Finland<\/option>\n<option value=\"500\" data-countryCode=\"FK\">(+500) Falkland Islands<\/option>\n<option value=\"63\" data-countryCode=\"PH\">(+63) Philippines<\/option>\n<option value=\"241\" data-countryCode=\"GA\">(+241) Gabon<\/option>\n<option value=\"220\" data-countryCode=\"GM\">(+220) Gambia<\/option>\n<\/select>\n<input type=\"tel\" class=\"form-control\" id=\"telefono\"\nplaceholder=\"Phone Number\" required=\"required\"\npattern=\"d{3}-d{3}-d{4}\">\n<\/div>\n<\/div>\n<div style=\"display:inline;\">\n<div class=\"hourContent\">\n<label style=\"font-weight: bold;\"><span id=\"lblServicio\">General Visit<\/span><\/label><br>\n<span style=\"font-weight: bold;\">Date: <\/span><span id=\"DetailsFecha\"><\/span><br>\n<span style=\"font-weight: bold;\">Time: <\/span><span id=\"DetailsHora\"><\/span><br>\n<span style=\"font-weight: bold;\">People: <\/span><span id=\"DetailsPersonas\"><\/span>\n<span style=\"display:none;\" id=\"detailStart\"><\/span>\n<\/div>\n<div class=\"text-end btnHour buttonMovilMover\" style=\"margin-top:-10%;margin-left: 2%;\">\n<button type=\"button\" class=\"btn btn-light text-right\"\nonclick=\"createBooking();\">Booking <i class=\"fas fa-arrow-right\"><\/i><\/button>\n<\/div>\n<div style=\"padding-top:15px;\">\n<center>\n<a style=\"color:black;\" href=\"https:\/\/2021lapalma.com\/politica-de-privacidad\/\">Privacy-policy<\/a>\n<\/center>\n<\/div>\n<\/div>\n<div style=\"height: 10px;\"><\/div>\n<\/form>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n\n\n<script src=\"https:\/\/cdn.jsdelivr.net\/npm\/bootstrap@5.3.0-alpha1\/dist\/js\/bootstrap.bundle.min.js\"><\/script>\n<script>\nconst API_KEY = 'TmpJNE1qWTNNVGhsTnpGak5XUXdNRGxrTURWak5HRTU6VG1odFZUUk1aWE5ZZEVrMk1qQnNTemRrWWtWQmNtZDI=';\n\/** const proxy = 'https:\/\/cors.bridged.cc\/'; **\/\nconst proxy = 'https:\/\/2021lapalma.com\/wp-content\/plugins\/custom-php\/proxy.php?';\n\nconst searchAvailability = async () => {\nconst serviceInput = document.getElementById('servicesDropdown');\nconst selectedServiceId = (serviceInput.value) ?? \"64e36f4bd426eb1de65eee07\";\nconst spacesDropdown = document.getElementById('numeroPersonas');\nconst spaces = parseInt(spacesDropdown.value) ?? 0;\n\n$('#calendar').fullCalendar('destroy');\n\nconst formulario = document.querySelector('.form');\nformulario.style.display = 'none';\n\nconst hr = document.getElementById(\"hrMostrar\");\nhr.style.display = 'none';\n\nconst hr2 = document.getElementById(\"hrMostrar2\");\nhr2.style.display = 'none';\n\nconst buttonDiv = document.getElementById(\"buttonDiv\");\nbuttonDiv.style.display = 'none';\n\nconst today = new Date();\n\nlet startDate;\n\nif (selectedServiceId === \"66f3f9dc1c9b3ea65f8bd558\") {\nstartDate = new Date(today.getFullYear(), 10, 1);\n} else {\nstartDate = new Date(today.getFullYear(), today.getMonth(), today.getDate());\n}\n\nlet availabilities = [];\n\nfor (let i = 0; i < 12; i++) {\nlet endDate = new Date(startDate);\nendDate.setDate(endDate.getDate() + 59);\n\nconst selectedStartDate = convertToISOString(startDate);\nconst selectedEndDate = convertToISOString(endDate);\n\nconst options = {\nmethod: 'POST',\nheaders: {\n'accept': 'application\/json',\n'content-type': 'application\/json',\n'X-API-KEY': API_KEY,\n'Access-Control-Allow-Origin': '*',\n},\nbody: JSON.stringify({\nspaces: spaces,\ntimezone: 'Europe\/London',\nignore_past_restriction: false,\nignore_notice_restriction: false,\nignore_service_assignment: false,\nignore_service_schedule: false,\nignore_group_setting: false,\nranges: [{ start: selectedStartDate, end: selectedEndDate }],\nservice_id: selectedServiceId\n})\n};\n\ntry {\nconst response = await fetch(proxy + 'https:\/\/api.appointedd.com\/v1\/availability\/days\/search', options);\nconst data = await response.json();\nconsole.log(data);\navailabilities = availabilities.concat(data.data);\n} catch (error) {\nconsole.error('Error fetching availabilities:', error);\nreturn;\n}\n\nstartDate.setDate(startDate.getDate() + 59);\n}\n\nif (availabilities.length === 0) {\nconsole.warn(\"No hay disponibilidades disponibles.\");\nreturn;\n}\n\nInicializarCalendario(availabilities);\n};\n\nconst convertToISOString = (date) => {\nreturn date.toISOString();\n};\n\nconst InicializarCalendario = (availabilities) => {\nlet defaultDate = availabilities.length > 0 ? availabilities[0].date : new Date().toISOString().split('T')[0];\n$('#calendar').fullCalendar({\nlocale: 'EN',\ndayNamesShort: ['S', 'M', 'T', 'W', 'T', 'F', 'S'],\ndefaultDate: defaultDate,\ndefaultView: 'month',\nshowNonCurrentDates: false,\ncustomButtons: {\ncustomPrevButton: {\n\/\/ icon: 'fas fa-arrow-left',\ntext: '',\nclick: function () {\n$('#calendar').fullCalendar('prev'); \/\/ Funci\u00f3n a ejecutar al hacer clic en el bot\u00f3n\n},\nclassName: 'Prueba'\n},\ncustomNextButton: {\n\/\/ icon: 'fas fa-long-arrow-alt-right', \/\/ Bot\u00f3n personalizado con icono de flecha derecha\ntext: '',\nclick: function () {\n$('#calendar').fullCalendar('next'); \/\/ Funci\u00f3n a ejecutar al hacer clic en el bot\u00f3n\n},\nclassName: 'Prueba'\n}\n},\nevents: availabilities.map(availability => ({ \/\/.filter(availability => availability.group_bookings.length > 0)\ntitle: 'Available',\nclassName: 'btnCalendar text-center',\nstart: availability.date,\ncolor: 'white',\ntextColor: 'black',\n})),\nheader: {\nleft: '',\ncenter: 'title',\nright: 'customPrevButton,customNextButton',\n},\ndayRender: function (date, cell) {\n\/\/ Verificar si la fecha actual tiene disponibilidad && availability.group_bookings.length > 0\nconst hasEvents = availabilities.some(availability => availability.date === date.format('YYYY-MM-DD'));\n\n\nvar dayOfWeek = date.day();\n\n\nif (hasEvents) {\n\/\/ Si hay disponibilidad, establecer el color de fondo a blanco\ncell.css('background-color', 'white');\n} else {\n\/\/ Si no hay disponibilidad, establecer el color de fondo a negro\ncell.css('background-color', '#d7d7d7');\ncell.css('opacity', '0.4');\n}\n\n\/\/ Verificar si el d\u00eda de la semana es martes (2) o mi\u00e9rcoles (3)\nif (dayOfWeek === 2 || dayOfWeek === 3) { \/\/ Martes o mi\u00e9rcoles\ncell.addClass('diagonal-pattern');\n}\n},\nvalidRange: function (nowDate) {\n\/\/var startDate = moment(nowDate).startOf('day')\n\/\/\/\/ Calcula la fecha del siguiente mes\n\/\/var nextMonth = moment(nowDate).add(1, 'month');\n\/\/\/\/ Calcula el \u00faltimo d\u00eda del mes siguiente\n\/\/var lastDayNextMonth = moment(nextMonth).endOf('month');\n\/\/\/\/ Retorna un objeto con el rango de fechas permitidas\n\/\/return {\n\/\/ start: startDate,\n\/\/ end: lastDayNextMonth\n\/\/};\n},\neventClick: function (date, jsEvent, view) {\n\nmoveScrollDown();\n\nconst eventosEspeciales = document.querySelectorAll('.Especial2');\neventosEspeciales.forEach(evento => {\nevento.classList.remove('Especial2');\n});\n\nconsole.log(date);\n\nconst eventoClickeado = jsEvent.target;\neventoClickeado.classList.add('Especial2');\n\nconst hourButtons = document.getElementsByClassName('BotonHora');\n\/\/ Verificar si se encontraron botones con la clase especificada\nif (hourButtons.length > 0) {\n\/\/ Convierte la colecci\u00f3n HTML en un array para poder usar forEach\nconst hourButtonsArray = Array.from(hourButtons);\n\/\/ Itera sobre cada bot\u00f3n y elim\u00ednalo\nhourButtonsArray.forEach(button => {\nbutton.remove();\n});\n}\n\nconst serviceInput = document.getElementById('servicesDropdown');\nconst selectedServiceId = (serviceInput.value) ?? \"64e36f4bd426eb1de65eee07\";\n\nconst calendarContainer = document.getElementById('calendarContainer');\nconst spacesDropdown = document.getElementById('numeroPersonas');\nconst spaces = parseInt(spacesDropdown.value) ?? 1;\n\nvar fechaFinal = new Date(date.start._i);\nfechaFinal.setHours(fechaFinal.getHours() + 23);\nfechaFinal.setMinutes(fechaFinal.getMinutes() + 59);\n\nvar fechaIni = new Date(date.start._i);\n\nvar timeIni = convertToISOString(fechaIni);\nvar timeFin = convertToISOString(fechaFinal);\n\nconst options = {\nmethod: 'POST',\nheaders: {\n'accept': 'application\/json',\n'content-type': 'application\/json',\n'X-API-KEY': API_KEY,\n'Access-Control-Allow-Origin': '*',\n},\nbody: JSON.stringify({\nspaces: spaces,\ntimezone: 'Europe\/London',\nignore_past_restriction: false,\nignore_notice_restriction: false,\nignore_service_assignment: false,\nignore_service_schedule: false,\nignore_group_setting: false,\nranges: [{ start: timeIni, end: timeFin }],\nservice_id: selectedServiceId\n})\n};\nfetch(proxy + 'https:\/\/api.appointedd.com\/v1\/availability\/intervals\/search', options)\n.then(response => response.json())\n.then(data => {\nconst habilitados = data.data;\nhabilitados.forEach(info => {\n\nconst fechaHoraStarString = date.start._i;\n\n\/\/ const fechaStarHora = new Date(info.start);\nconst horaFormateadaStar = info.start.substring(11, 16);\n\/\/ const horaFormateadaStar = `${('0' + fechaStarHora.getHours()).slice(-2)}:${('0' + fechaStarHora.getMinutes()).slice(-2)}`;\n\nconst detailsFecha = document.getElementById(\"DetailsFecha\");\ndetailsFecha.textContent = fechaHoraStarString;\n\nconst botonStar = document.createElement('button');\nbotonStar.textContent = horaFormateadaStar;\nbotonStar.className = \"BotonHora btn btn-light\";\nbotonStar.style = \"margin-left:5px;\";\nbotonStar.onclick = function () {\n\nconst botonesEspeciales = document.querySelectorAll('.Especial');\nbotonesEspeciales.forEach(boton => {\nboton.classList.remove('Especial');\n});\n\n\nbotonStar.classList.add('Especial');\nmostrarFormulario(horaFormateadaStar, info.start);\nmoveScrollDown();\n};\n\nconst hr = document.getElementById(\"hrMostrar\");\nhr.style.display = 'block';\n\nconst hr2 = document.getElementById(\"hrMostrar2\");\nhr2.style.display = 'block';\n\nconst buttonDiv = document.getElementById(\"buttonDiv\");\nbuttonDiv.style.display = 'block';\nbuttonDiv.appendChild(botonStar);\n})\n})\n.catch(error => {\nconsole.error('Error fetching availabilities:', error);\n});\n},\n});\n\n$(\".fc-customPrevButton-button\").html('<i class=\"fas fa-arrow-left\"><\/i><\/button>');\n$(\".fc-customNextButton-button\").html('<i class=\"fas fa-arrow-right\"><\/i><\/button>');\n}\n\nfunction replaceClasses() {\ndocument.addEventListener(\"DOMContentLoaded\", function () {\n\/\/ Encuentra todos los botones de navegaci\u00f3n y elimina la clase fc-icon\ndocument.querySelectorAll('.fc-icon').forEach(function (icon) {\nicon.classList.remove('fc-icon');\n});\n});\n}\n\nfunction mostrarFormulario(hora, start) {\n\nconst detailsHora = document.getElementById(\"DetailsHora\");\ndetailsHora.textContent = hora;\n\nconst servicioName = document.getElementById(\"servicesDropdown\");\nconst serviceNameLabel = document.getElementById(\"lblServicio\");\n\nconsole.log(servicioName);\nconsole.log(serviceNameLabel);\n\nconst textoSeleccionado = servicioName.options[servicioName.selectedIndex].text;\nserviceNameLabel.textContent = textoSeleccionado;\n\nconst spacesDropdown = document.getElementById('numeroPersonas');\nconst spaces = parseInt(spacesDropdown.value) || 0;\n\nconst detailsPersonas = document.getElementById(\"DetailsPersonas\");\ndetailsPersonas.textContent = spaces;\n\n\nconst detailStart = document.getElementById(\"detailStart\");\ndetailStart.textContent = start;\n\n\/\/ Seleccionar el elemento div del formulario\nconst formulario = document.querySelector('.form');\n\/\/ Mostrar el formulario cambiando su estilo a 'block'\nformulario.style.display = 'block';\n}\n\nfunction createReservation() {\nconst spacesDropdown = document.getElementById('numeroPersonas');\nconst spaces = parseInt(spacesDropdown.value) || 0;\n\nconst detailStart = document.getElementById(\"detailStart\");\nconst start = detailStart.textContent;\n\nconst serviceInput = document.getElementById('servicesDropdown');\nconst selectedServiceId = (serviceInput.value) ?? \"64e36f4bd426eb1de65eee07\";\n\nconsole.log(selectedServiceId);\n\nconst options = {\nmethod: 'POST',\nheaders: {\n'accept': 'application\/json',\n'content-type': 'application\/json',\n'X-API-KEY': API_KEY,\n'Access-Control-Allow-Origin': '*',\n},\nbody: JSON.stringify({\n\"ignore_past_restriction\": false,\n\"ignore_notice_restriction\": false,\n\"ignore_block_restriction\": false,\n\"ignore_service_schedule\": false,\n\"ignore_group_setting\": false,\n\"data\": {\n\"timezone\": \"Europe\/London\",\n\"allow_additional_spaces\": false,\n\"required_spaces\": spaces,\n\"resource_id\": \"678f9c9ecb393b19f6099121\",\n\"service_id\": selectedServiceId,\n\"start\": start\n}\n})\n};\n\nreturn fetch(proxy + 'https:\/\/api.appointedd.com\/v1\/availability\/slots', options)\n.then(response => response.json())\n.then(response => {\nreturn response.data.id;\n})\n.catch(error => {\nconsole.error('Error fetching availabilities:', error);\nthrow error;\n});\n}\n\nfunction createBooking() {\n\nconst nombre = document.getElementById('nombre').value;\nconst apellido = document.getElementById('apellido').value;\nconst correo = document.getElementById('correo').value;\nconst prefix = document.getElementById('selectPhone').value;\nconst telefono = document.getElementById('telefono').value;\nconst spacesDropdown = document.getElementById('numeroPersonas');\nconst spaces = parseInt(spacesDropdown.value) || 0;\n\nconst phone = \"+\" + prefix + telefono;\n\nif (!nombre || !apellido || !correo || !telefono) {\nSwal.fire({\nicon: 'error',\ntitle: 'Oops...',\ntext: 'Por favor, complete todos los campos.',\n});\nreturn;\n}\n\nconst correoRegex = \/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+.[a-zA-Z]{2,}$\/;\nif (!correoRegex.test(correo)) {\nSwal.fire({\nicon: 'error',\ntitle: 'Correo inv\u00e1lido',\ntext: 'Por favor, ingrese un correo electr\u00f3nico v\u00e1lido.',\n});\nreturn; \/\/ Detener\n}\n\nconst telefonoRegex = \/^[0-9]{7,15}$\/;\nif (!telefonoRegex.test(telefono)) {\nSwal.fire({\nicon: 'error',\ntitle: 'Tel\u00e9fono inv\u00e1lido',\ntext: 'Por favor, ingrese un n\u00famero de tel\u00e9fono v\u00e1lido.',\n});\nreturn; \/\/ Detener\n}\n\ncreateReservation()\n.then(id_Reservation => {\nconst options = {\nmethod: 'POST',\nheaders: {\n'accept': 'application\/json',\n'content-type': 'application\/json',\n'X-API-KEY': API_KEY,\n'Access-Control-Allow-Origin': '*',\n},\nbody: JSON.stringify({\n\"timezone\": \"Europe\/London\",\n\"data\": {\n\"customers\": [\n{\n\"customer\": {\n\"profile\": {\n\"firstname\": nombre,\n\"lastname\": apellido,\n\"email\": correo,\n\"mobile\": phone\n}\n},\n\"total_spaces\": spaces\n}\n]\n},\n\"slot_id\": id_Reservation\n})\n};\n\nreturn fetch(proxy + 'https:\/\/api.appointedd.com\/v1\/bookings', options)\n.then(response => response.json())\n.then(data => {\nSwal.fire({\nicon: 'success',\ntitle: 'Successful booking',\ntext: 'You will receive a confirmation email in your inbox.',\ncustomClass: {\nconfirmButton: 'ClaseBoton'\n}\n}).then((result) => {\nif (result.isConfirmed) {\nlocation.reload();\n}\n});\n})\n.catch(error => {\nconsole.error('Error fetching availabilities:', error);\nthrow error;\n});\n})\n.catch(error => {\nconsole.error('Error creating reservation:', error);\n});\n}\n\n\n\nfunction moveScrollDown() {\nlet scrollAmount;\n\nif (window.innerWidth <= 768) { \/\/ Vista m\u00f3vil\nscrollAmount = document.documentElement.scrollHeight * 0.15; \/\/ Desplazamiento m\u00e1s grande\n} else { \/\/ Vista de escritorio\nscrollAmount = document.documentElement.scrollHeight * 0.05;\n}\n\nwindow.scrollBy(0, scrollAmount);\n}\n<\/script>\n<script>\n\/\/ Funci\u00f3n para cargar servicios y llenar el dropdown\nfunction loadServices() {\nconst API_KEY = 'TmpJNE1qWTNNVGhsTnpGak5XUXdNRGxrTURWak5HRTU6VG1odFZUUk1aWE5ZZEVrMk1qQnNTemRrWWtWQmNtZDI=';\nconst proxy = 'https:\/\/2021lapalma.com\/wp-content\/plugins\/custom-php\/proxy_get.php?';\nconst selectedServiceId = \"64e36f4bd426eb1de65eee07\";\n\nconst params = new URLSearchParams(window.location.search);\nlet key = params.get(\"id\"); \/\/ Obtener \"id\" desde la URL\n\nconst options = {\nmethod: 'GET',\nheaders: {\n'accept': 'application\/json',\n'content-type': 'application\/json',\n'X-API-KEY': API_KEY, \/\/ Mismo formato que en la solicitud POST\n'Access-Control-Allow-Origin': '*',\n}\n};\n\n\nfetch(proxy + 'https:\/\/api.appointedd.com\/v1\/services?limit=10')\n.then(response => {\nif (!response.ok) {\nthrow new Error('Error en la red');\n}\nreturn response.json();\n})\n.then(data => {\nconst dropdown = document.getElementById('servicesDropdown');\ndropdown.innerHTML = ''; \/\/ Limpiar opciones\n\/\/ Crear opciones para el dropdown\ndata.data.forEach(service => {\n\nif (service.booking.type == \"NOT_VISIBLE\") {\nreturn; \/\/ Omite esta iteraci\u00f3n y no agrega la opci\u00f3n\n}\n\nif(service.id == \"64e36f4bd426eb1de65eee07\"){\nreturn;\n}\n\nconst option = document.createElement('option');\noption.value = service.id; \/\/ o cualquier otro valor que necesites\noption.textContent = service.name; \/\/ Cambiar 'name' seg\u00fan la estructura del objeto\n\nif (service.id === selectedServiceId) {\noption.selected = true;\n}\n\nif (key){\n    console.log(key);\nif (service.id === key) {\noption.selected = true;\n}\n}\n\ndropdown.appendChild(option);\n});\n})\n.catch(err => {\nconsole.error('Error:', err);\nconst dropdown = document.getElementById('servicesDropdown');\ndropdown.innerHTML = '<option value=\"\">Error al cargar servicios<\/option>';\n});\n}\n\n\/\/ Cargar servicios al iniciar el documento\ndocument.addEventListener('DOMContentLoaded', loadServices);\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-83a01b3 e-flex e-con-boxed e-con e-parent\" data-id=\"83a01b3\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-eae588c elementor-widget elementor-widget-spacer\" data-id=\"eae588c\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>We are pleased that you want to visit us.Visits to the exhibitions are free of charge.If you have any problems with your booking, please call us at +34 922 166 238. Please select the number of people, the desired day, and time of your visit.You will receive a booking confirmation email shortly. Loading&#8230; N\u00ba of [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_header_footer","meta":{"footnotes":""},"class_list":["post-1914","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Booking - 20\/21 espacio de arte<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/2021lapalma.com\/en\/visit-miradas\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Booking - 20\/21 espacio de arte\" \/>\n<meta property=\"og:description\" content=\"We are pleased that you want to visit us.Visits to the exhibitions are free of charge.If you have any problems with your booking, please call us at +34 922 166 238. Please select the number of people, the desired day, and time of your visit.You will receive a booking confirmation email shortly. Loading&#8230; N\u00ba of [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/2021lapalma.com\/en\/visit-miradas\/\" \/>\n<meta property=\"og:site_name\" content=\"20\/21 espacio de arte\" \/>\n<meta property=\"article:modified_time\" content=\"2025-11-10T07:49:14+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/2021lapalma.com\\\/en\\\/visit-miradas\\\/\",\"url\":\"https:\\\/\\\/2021lapalma.com\\\/en\\\/visit-miradas\\\/\",\"name\":\"Booking - 20\\\/21 espacio de arte\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/2021lapalma.com\\\/en\\\/#website\"},\"datePublished\":\"2025-08-06T15:44:23+00:00\",\"dateModified\":\"2025-11-10T07:49:14+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/2021lapalma.com\\\/en\\\/visit-miradas\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/2021lapalma.com\\\/en\\\/visit-miradas\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/2021lapalma.com\\\/en\\\/visit-miradas\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Portada\",\"item\":\"https:\\\/\\\/2021lapalma.com\\\/en\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Booking\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/2021lapalma.com\\\/en\\\/#website\",\"url\":\"https:\\\/\\\/2021lapalma.com\\\/en\\\/\",\"name\":\"20\\\/21 espacio de arte\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/2021lapalma.com\\\/en\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Booking - 20\/21 espacio de arte","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/2021lapalma.com\/en\/visit-miradas\/","og_locale":"en_US","og_type":"article","og_title":"Booking - 20\/21 espacio de arte","og_description":"We are pleased that you want to visit us.Visits to the exhibitions are free of charge.If you have any problems with your booking, please call us at +34 922 166 238. Please select the number of people, the desired day, and time of your visit.You will receive a booking confirmation email shortly. Loading&#8230; N\u00ba of [&hellip;]","og_url":"https:\/\/2021lapalma.com\/en\/visit-miradas\/","og_site_name":"20\/21 espacio de arte","article_modified_time":"2025-11-10T07:49:14+00:00","twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/2021lapalma.com\/en\/visit-miradas\/","url":"https:\/\/2021lapalma.com\/en\/visit-miradas\/","name":"Booking - 20\/21 espacio de arte","isPartOf":{"@id":"https:\/\/2021lapalma.com\/en\/#website"},"datePublished":"2025-08-06T15:44:23+00:00","dateModified":"2025-11-10T07:49:14+00:00","breadcrumb":{"@id":"https:\/\/2021lapalma.com\/en\/visit-miradas\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/2021lapalma.com\/en\/visit-miradas\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/2021lapalma.com\/en\/visit-miradas\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Portada","item":"https:\/\/2021lapalma.com\/en\/"},{"@type":"ListItem","position":2,"name":"Booking"}]},{"@type":"WebSite","@id":"https:\/\/2021lapalma.com\/en\/#website","url":"https:\/\/2021lapalma.com\/en\/","name":"20\/21 espacio de arte","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/2021lapalma.com\/en\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"}]}},"_links":{"self":[{"href":"https:\/\/2021lapalma.com\/en\/wp-json\/wp\/v2\/pages\/1914","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/2021lapalma.com\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/2021lapalma.com\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/2021lapalma.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/2021lapalma.com\/en\/wp-json\/wp\/v2\/comments?post=1914"}],"version-history":[{"count":12,"href":"https:\/\/2021lapalma.com\/en\/wp-json\/wp\/v2\/pages\/1914\/revisions"}],"predecessor-version":[{"id":2677,"href":"https:\/\/2021lapalma.com\/en\/wp-json\/wp\/v2\/pages\/1914\/revisions\/2677"}],"wp:attachment":[{"href":"https:\/\/2021lapalma.com\/en\/wp-json\/wp\/v2\/media?parent=1914"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}