{% set configAffichage = getConfigAffichage() %}
{% set add_select_pack = configAffichage.VOYAGE.ADD_SELECT_PACK == 'oui' %}
{% set type_champ_periode = configAffichage.VOYAGE.TYPE_CHAMP_PERIODE %}
{% set resultView = {1:'pension-room',2:'pension-combin-room',3:'combin-room-pension',4:'room-pension','pension-room':'pension-room','pension-combin-room':'pension-combin-room','combin-room-pension':'combin-room-pension','room-pension':'room-pension'}[app.request.get('modele',is_mobile() ? configAffichage.HOTEL.BLOC_CHAMBRE_TARIFS_MOBILE : configAffichage.HOTEL.BLOC_CHAMBRE_TARIFS)] %}
{% set produit = "SHT" %}
{% set onlyHotelPrice = true %}
{% extends 'FrontCommun/base.html.twig' %}
{% import "FrontCommun/template_banner.html.twig" as tpl %}
{% block title %}
{% if details.referencement.title is defined and details.referencement.title != null %}{{ details.referencement.title|raw }}{% else %}Details Voyages!{% endif %}
{% endblock %}
{% block breadcrumb_title %}
{{ details.libelle }}
{% endblock %}
{% block stylesheets %}
{{ parent() }}
<link rel="stylesheet" href="{{ asset('assets-commun/css/choices.min.css') }}">
<link rel="stylesheet" href="{{ asset('assets-commun/css/slick.css') }}">
<link rel="stylesheet" href="{{ asset('assets-commun/css/slick-theme.css') }}">
<link rel="stylesheet" href="{{ asset('assets-commun/css/prettyPhoto.css') }}">
{% if configAffichage is defined and configAffichage!= null and configAffichage.VOYAGE.BLOC_CARNET is defined and configAffichage.VOYAGE.BLOC_CARNET ==2 %}
<link rel="stylesheet" href="{{ asset('assets-commun/css/details-voyages-carnet-02.css') }}">
{% elseif configAffichage is defined and configAffichage!= null and configAffichage.VOYAGE.BLOC_CARNET is defined and configAffichage.VOYAGE.BLOC_CARNET == 3 %}
<link rel="stylesheet" href="{{ asset('assets-commun/css/details-voyages-carnet-03.css') }}">
{% else %}
<link rel="stylesheet" href="{{ asset('assets-commun/css/details-voyages-carnet-01.css') }}">
{% endif %}
{% if configAffichage is defined and configAffichage!= null and configAffichage.VOYAGE.BLOCS_DETAILS is defined and configAffichage.VOYAGE.BLOCS_DETAILS == 4 %}
<link rel='stylesheet' href='https://cdn.jsdelivr.net/npm/@fancyapps/ui@5.0/dist/fancybox/fancybox.css'>
<link rel='stylesheet' href='https://cdn.jsdelivr.net/npm/@fancyapps/ui@5.0/dist/carousel/carousel.css'>
<link rel='stylesheet' href='https://cdn.jsdelivr.net/npm/@fancyapps/ui@5.0/dist/carousel/carousel.thumbs.css'>
{% endif %}
<link rel="stylesheet" href="{{ asset('assets-commun/css/details-voyages-pricing-01.css') }}">
<style>
ul.tarifs-pack li {
order: 5;
}
ul.tarifs-pack {
display: flex;
flex-direction: column;
}
.loading img {
width: 15%;
}
.title-event .text-bold.font-color {
font-weight: 600;
color: #f26622;
}
.bg-transparent {
background-color: transparent !important;;
}
.noborder {
border: none !important;
}
.border-color-omra {
border: 2px solid var(--color)
}
.border-color-omra h4 {
color: #f26622;
font-weight: 600 !important;
}
</style>
<link href="{{ asset('assets-commun/css/icones.css') }}" rel="stylesheet" type="text/css"/>
<script>(function (d, s, id) {
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) return;
js = d.createElement(s);
js.id = id;
js.src = "//connect.facebook.net/fr_FR/sdk.js#xfbml=1&version=v2.5&appId=1312988775401737";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>
<script type="application/ld+json">
{
"telephone" : "{{ getAgence().tel1 }}",
"@context" : "http://schema.org",
"@type": "Product",
"name": "{{ details.libelle }}",
"@id": "{{ app.request.uri }}",
"brand": {
"@type": "Brand",
"name": "{{ agence.nom }}"
},
"description" : "{{ details.descriptionCourte }}",
"priceRange" : "Prix disponible dès {{ details.prix }}
{{ app.session.get('devise',{'symbole':'DT'})['symbole'] }}",
"@type" : "Voyage",
"name" : "{{ details.libelle }}",
"image" : "{{ details.photoPrincipal }}",
"url" : "{{ app.request.uri }}",
"offers": {
"@type": "Offer",
"url": "{{ app.request.uri }}",
"priceCurrency": "{{ app.session.get('devise',{'symbole':'DT'})['symbole'] }}",
"price": "{{ details.prix }}",
"itemCondition": "https://schema.org/NewCondition"
}
}
</script>
{% endblock %}
{% block meta_keywords %}
{% if details.referencement.metaKeywords is defined and details.referencement.metaKeywords != null %}
<meta name="keywords" content="{{ details.referencement.metaKeywords|raw }}">
{% endif %}
{% endblock %}
{% block meta_description %}
{% if details.referencement.metaDescription is defined and details.referencement.metaDescription != null %}
<meta name="description" content="{{ details.referencement.metaDescription|raw }}">
{% endif %}
{% endblock %}
{% block injection_head %}
{% if details.referencement.injectionHeader is defined and details.referencement.injectionHeader != null %}
{{ details.referencement.injectionHeader|raw }}
{% endif %}
{% block metas %}
<meta property="og:locale" content="fr_FR"/>
<meta property="og:type" content="article"/>
<meta property="og:title" content="{{ details.libelle }}"/>
<meta property="og:description" content="{{ details.descriptionCourte }}"/>
<meta property="og:url" content="{{ app.request.uri }}"/>
<meta property="og:site_name" content="{{ agence.nom }}"/>
<meta property="og:image" content="{{ details.photoPrincipal }}"/>
{% endblock %}
{% endblock %}
{% block body %}
{% block injection_body %}
{% if details.referencement.injectionBody is defined and details.referencement.injectionBody != null %}
{{ details.referencement.injectionBody|raw }}
{% endif %}
{% endblock %}
{% set modele = configAffichage.VOYAGE.MODELE_OMRA_PERSONNALISE %}
{% set file = (type == 6 and modele != 'modele-voyage-organise')
? 'details-omra-content' ~ modele ~ '.html.twig'
: 'details-content.html.twig' %}
{% include checkCustomTemplate('VoyagesOrganise/details/' ~ file) %}
{% endblock %}
{% block javascripts %}
{{ parent() }}
<script type="text/javascript"
src="https://s7.addthis.com/js/300/addthis_widget.js#pubid=ra-61d2ef47fa39ad61"></script>
<script type="text/javascript" src="{{ asset('assets-commun/html5lightbox/html5lightbox.js') }}"></script>
<script type="text/javascript" src="{{ asset('assets-commun/js/jquery.jclock.js') }}"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.6/d3.min.js" charset="utf-8"></script>
<script src="{{ asset('assets-commun/js/jquery.month.circle.js') }}" charset="utf-8"></script>
<script type="text/javascript">
$(function ($) {
$('#jclock').jclock({
format: '%H:%M:%S',
utc: true,
utcOffset: 5
});
});
/*plan de voyage*/
$('#sel2').on('change', function () {
$(".pack_item_palns").hide();
$("#pl-" + $(this).val()).show();
});
/**/
/*periode pack*/
{% if type_champ_periode == 'select' %}
$('#sel1').on('change', function () {
$(".pack_item").hide();
$("#p-" + $(this).val()).show();
{% if add_select_pack %}
$("select#packs option").hide();
$("select#packs option.packs-" + $(this).val()).show();
$("select#packs option.packs-" + $(this).val() + ":first").prop('selected', true);
$("div.periode-pack").hide();
$("div#periode__periode__-pack__pack__".replace('__periode__', $('select#sel1').val()).replace('__pack__', $('select#packs').val())).show();
{% endif %}
});
{% if add_select_pack %}
$('#packs').on('change', function () {
$("div.periode-pack").hide();
$("div#periode__periode__-pack__pack__".replace('__periode__', $('select#sel1').val()).replace('__pack__', $('select#packs').val())).show();
})
{% endif %}
{% endif %}
/*end periode pack */
{% if type_champ_periode == 'radio' %}
/*periode pack radio */
$('[name=sel1]').on('change', function () {
$(".pack_item").hide();
$("#p-" + $(this).val()).show();
{% if add_select_pack %}
$("label.packs").hide();
$("label.packs.packs-" + $(this).val()).show();
$("label.packs.packs-" + $(this).val() + ":first input").prop('checked', true);
$("div.periode-pack").hide();
$("div#periode__periode__-pack__pack__".replace('__periode__', $('[name=sel1]:checked').val()).replace('__pack__', $('[name=packs]:checked').val())).show();
{% endif %}
});
{% if add_select_pack %}
$('[name=packs]').on('change', function () {
$("div.periode-pack").hide();
$("div#periode__periode__-pack__pack__".replace('__periode__', $('[name=sel1]:checked').val()).replace('__pack__', $('[name=packs]:checked').val())).show();
})
{% endif %}
{% endif %}
/*end periode pack*/
</script>
{##}
<script src="{{ asset('assets-commun/js/vuejs-component/vue-paginate.js') }}"></script>
<script src="{{ asset('assets-commun/js/vuejs-component/axios.min.js') }}"></script>
{% include 'FrontCommun/SejourHotel/availability/vuejs-list-hotels.html.twig' %}
{% include 'FrontCommun/vuejs-advanced-search.html.twig' with { produit:'SHT', onlySearchCity:'0', destination:{type:'h', id:app.request.get('id'), name:''} } %}
{##}
<script>
$('.heberger').click(function () {
let checkout = new Date($(this).data('checkin'))
checkout.setDate(checkout.getDate() + $(this).data('nuitees'));
vjsAdvancedSearchSHT.checkin_en = $(this).data('checkin')
vjsAdvancedSearchSHT.checkout_en = checkout.toISOString().split('T')[0]
vjsAdvancedSearchSHT.nuitees = $(this).data('nuitees')
window.checkin_en = vjsAdvancedSearchSHT.checkin_en
window.checkout_en = vjsAdvancedSearchSHT.checkout_en
vjsAdvancedSearchSHT.destination = `h-${$(this).data('hotel')}`
$('#occupationsSHT .modal-header h3').html(` ${$(this).data('title')}`)
})
$('#demande-hebergement').click(function () {
let rooms = []
vjsAdvancedSearchSHT.rooms.map(x => {
rooms.push(([x['Adult']].concat(x['Child'])).join(','))
});
vjsAdvancedSearchSHT.room = rooms.join(';')
vjsAdvancedSearchSHT.callAvailabilitySHT()
})
</script>
<script>
function setRecap() {
vjsAdvancedSearchSHT.Recap()
$('#recap-checkin').html(vjsAdvancedSearchSHT.checkin_en)
$('#recap-nuitees').html(vjsAdvancedSearchSHT.nuitees + ' nuitées')
$('#recap-occupations').html(vjsAdvancedSearchSHT.recap_occupations)
}
$("#demande-hebergement").click(function () {
$("#event-room").show();
$("#vjs-advanced-search-sht").hide();
setRecap()
});
$(document).on('click', '#edit-search', function () {
$("#vjs-advanced-search-sht").show();
$("#event-room").hide();
setRecap()
});
$(document).on('click', '.heberger', function () {
$("#vjs-advanced-search-sht").show();
$("#event-room").hide();
setRecap()
});
</script>
<script>
// Get all share buttons
const shareButtons = document.querySelectorAll('.share-button');
// Add click event listener to each button
shareButtons.forEach(button => {
button.addEventListener('click', () => {
// Get the URL of the current page
const url = window.location.href;
// Get the social media platform from the button's class name
const platform = button.classList[1];
// Set the URL to share based on the social media platform
let shareUrl;
switch (platform) {
case 'facebook':
shareUrl = `https://www.facebook.com/sharer/sharer.php?u=${encodeURIComponent(url)}`;
break;
case 'twitter':
shareUrl = `https://twitter.com/share?url=${encodeURIComponent(url)}`;
break;
case 'linkedin':
shareUrl = `https://www.linkedin.com/shareArticle?url=${encodeURIComponent(url)}`;
break;
case 'instagram':
shareUrl = `https://www.instagram.com/?url=${encodeURIComponent(url)}`;
break;
case 'whatsapp':
shareUrl = `https://api.whatsapp.com/send?text=${encodeURIComponent(url)}`;
break;
}
// Open a new window to share the URL
window.open(shareUrl, '_blank');
});
});
</script>
{% if configAffichage is defined and configAffichage!= null and configAffichage.VOYAGE.BLOCS_DETAILS is defined and configAffichage.VOYAGE.BLOCS_DETAILS == 4 %}
<script src='https://cdn.jsdelivr.net/npm/@fancyapps/ui@5.0/dist/fancybox/fancybox.umd.js'></script>
<script src='https://cdn.jsdelivr.net/npm/@fancyapps/ui@5.0/dist/carousel/carousel.umd.js'></script>
<script src='https://cdn.jsdelivr.net/npm/@fancyapps/ui@5.0/dist/carousel/carousel.thumbs.umd.js'></script>
<script>
const container = document.getElementById("myCarousel");
const options = {
Dots: false,
Thumbs: {
type: 'classic',
},
};
new Carousel(container, options, {Thumbs});
Fancybox.bind("[data-fancybox]", {
// Your custom options
});
</script>
{% endif %}
<script>
$(document).ready(function () {
$('.chambre .inc').on('click', function () {
var maxOcc = $(this).parents('.chambre').find('.chambre-select').val();
var nbrAdultes = $(this).parents(".chambre").find("input[type='number'].adultes");
var nbrEnfants = $(this).parents(".chambre").find("input[type='number'].enfants");
var nbrBebes = $(this).parents(".chambre").find("input[type='number'].bebes");
var InputNumber = $(this).siblings("input[type='number']");
InputNumber.attr('max', maxOcc);
InputNumber.attr('min', 0);
var Occ = parseInt(nbrAdultes.val(), 10) + parseInt(nbrEnfants.val(), 10) + parseInt(nbrBebes.val(), 10);
if (Occ < maxOcc) {
InputNumber.val(parseInt(InputNumber.val()) + +1);
}
});
$('.chambre .dec').on('click', function () {
var InputNumber = $(this).siblings("input[type='number']:not(.adultes)");
var InputNumberAdulte = $(this).siblings("input[type='number'].adultes");
if (InputNumberAdulte.val() > 1) {
InputNumberAdulte.val(parseInt(InputNumberAdulte.val()) + -1);
}
if (InputNumber.val() > 0) {
InputNumber.val(parseInt(InputNumber.val()) + -1);
}
});
$('.add_chambre').on('click', function () {
chambre = $('.chambres .chambre.first').clone(true);
var idx = $('.chambres .chambre').length + 1;
chambre.removeClass('first');
chambre.attr('id', 'chambre_' + idx);
chambre.find('.control-label.chmbr').html('Chambre' + (idx));
chambre.find("input[type='number'].adultes").val(1);
chambre.find("input[type='number']:not(.adultes)").val(0);
chambre.find("select").val(4);
chambre.find('.delete_chambre').show();
chambre.find("select[name='reservation[chambre][0][type]']").attr('name', "reservation[chambre][" + (idx) + "][type]");
chambre.find("input[type='number'][name='reservation[chambre][0][adultes]']").attr('name', "reservation[chambre][" + (idx) + "][adultes]");
chambre.find("input[type='number'][name='reservation[chambre][0][enfants]']").attr('name', "reservation[chambre][" + (idx) + "][enfants]");
chambre.find("input[type='number'][name='reservation[chambre][0][bebes]']").attr('name', "reservation[chambre][" + (idx) + "][bebes]");
$('.chambres').append(chambre);
$('.delete_chambre').on('click', function () {
$(this).closest('.chambre:not(.first)').remove();
});
$('.reset_chambres').on('click', function () {
$('.chambres').find('.chambre:not(.first)').remove();
});
});
// Disable scroll when focused on a number input.
$('form').on('focus', 'input[type=number]', function (e) {
$(this).on('wheel', function (e) {
e.preventDefault();
});
});
// Disable up and down keys.
$('form').on('keydown', 'input[type=number]', function (e) {
if (e.which == 38 || e.which == 40)
e.preventDefault();
});
});
</script>
</body>
{% endblock %}