https://www.my-bookings.cc/guest/booking-1346808-56575VAED.info

ID de l'analyse :
c66cab00-b730-4047-a3f7-402b92f702cbTerminée
URL soumise :
https://agcd.at/YjJhYWIzMTMrcGJDZytOZEliaz0-v2Redirigé
Fin du rapport :

Liens : 0 trouvé(s)

Liens sortants identifiés à partir de la page

Variables JavaScript : 8 trouvée(s)

Les variables JavaScript globales chargées dans l'objet fenêtre d'une page sont des variables déclarées en dehors des fonctions et accessibles depuis n'importe quel endroit du code au sein du champ d'application actuel

NomType
onbeforetoggleobject
documentPictureInPictureobject
onscrollendobject
$function
jQueryfunction
bootstrapobject
Vuefunction
axiosfunction

Messages de journal de console : 0 trouvé(s)

Messages consignés dans la console web

HTML

Le corps HTML de la page en données brutes

<!DOCTYPE html><html lang="en"><head>
		<!-- Required meta tags -->
		<meta charset="utf-8">
		<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
		<meta name="robots" content="noindex"> 
		<meta name="robots" content="nofollow">
		<!-- Bootstrap CSS --> 
		<link rel="stylesheet" href="assets/bootstrap/css/bootstrap.min.css">

		<title>Booking information</title>
		<link href="/everest/font-awesome/css/font-awesome.min.css" rel="stylesheet">

		<style>
			[v-cloak] {
				display: none;
			}

			.bookingInfoLabel {
				font-weight: bold;
			}
			.custom-file-label::after {
				content: "Search";
			}

			.table-covidtestfiles { font-size: 0.8em;}

			.cc-icon {width:auto;height: 30px;}
            .attributes-container { font-size: 0.8em;}
		</style>
	</head>
	<body class="bg-light">
		<div id="app-inpage" class="container"><div><ul class="nav justify-content-end"><li class="nav-item"><a href="#" class="nav-link">Deutsch</a></li></ul></div> <div class="pt-2"><div class="row"><div class="col-12"><h3>Zeus Meiselstrasse Top 24</h3></div></div></div> <div class="pt-3"><div class="row"><div class="col-12"><div class="row"></div> <div class="row"><div class="col-12"><div class="row"><div class="col-sm-4"><a href="#detailInfo-795" class="btn btn-secondary btn-sm d-block mt-1">guest registration</a></div></div></div></div></div></div></div> <!----> <div><div class="my-3 p-3 bg-white rounded shadow-sm"><h6 class="border-bottom border-gray pb-2 mb-0">reservation 1346808<span style="display: none;"> - <span class="text-success">confirmed</span></span></h6> <div class="text-muted pt-3"><div class="row"><div class="col-12"><div class="row"><div class="col-4 col-md-4 col-lg-2"><label class="bookingInfoLabel">Name</label></div> <div class="col-8 col-lg-10">
										Maria Afonina									</div></div></div> <div class="col-12 col-lg-6"><div class="row"><div class="col-4"><label class="bookingInfoLabel">Company</label></div> <div class="col-8"></div></div></div> <div class="col-12 col-lg-6"><div class="row"><div class="col-4"><label class="bookingInfoLabel">People</label></div> <div class="col-8">
										1									</div></div></div> <div class="col-12 col-lg-6"><div class="row"><div class="col-4"><label class="bookingInfoLabel">Arrival</label></div> <div class="col-8">
										22.11.2024									</div></div></div> <div class="col-12 col-lg-6"><div class="row"><div class="col-4"><label class="bookingInfoLabel">Departure</label></div> <div class="col-8">
										25.11.2024									</div></div></div> <div class="col-12 col-lg-6"><div class="row"><div class="col-4"><label class="bookingInfoLabel">Check-in</label></div> <div class="col-8">
										14:00									</div></div></div> <div class="col-12 col-lg-6"><div class="row"><div class="col-4"><label class="bookingInfoLabel">Check-out</label></div> <div class="col-8">
										10:00									</div></div></div> <div class="col-12 "><div class="row"><div class="col-4 col-md-4 col-lg-2"><label class="bookingInfoLabel">nights</label></div> <div class="col-8 col-lg-10">
										3									</div></div></div> <div class="col-12 col-lg-6"><div class="row"><div class="col-4"><label class="bookingInfoLabel">Total amount</label></div> <div class="col-8">
										€ 314,54									</div></div></div> <div class="col-12 col-lg-6"><div class="row"><div class="col-4"><label class="bookingInfoLabel">Deposit</label></div> <div class="col-8">
                                            € 150,00                                        </div></div></div></div></div></div> <div class="my-3 p-3 bg-white rounded shadow-sm"><h6 class="border-bottom border-gray pb-2 mb-0">Please fill in</h6> <div class="text-muted pt-3"><div><div class="row"><div class="col-sm-6"><div class="form-group row"><label class="col-sm-4 col-form-label">Arrival time</label> <div class="col-sm-8"><div class="input-group"><select class="custom-select"><option value="">hour</option> <option value="01">01</option> <option value="02">02</option> <option value="03">03</option> <option value="04">04</option> <option value="05">05</option> <option value="06">06</option> <option value="07">07</option> <option value="08">08</option> <option value="09">09</option> <option value="10">10</option> <option value="11">11</option> <option value="12">12</option> <option value="13">13</option> <option value="14">14</option> <option value="15">15</option> <option value="16">16</option> <option value="17">17</option> <option value="18">18</option> <option value="19">19</option> <option value="20">20</option> <option value="21">21</option> <option value="22">22</option> <option value="23">23</option></select> <div class="input-group-prepend"><span class="input-group-text">:</span></div> <select class="custom-select"><option value="">minute</option> <option value="00">00</option> <option value="01">01</option> <option value="02">02</option> <option value="03">03</option> <option value="04">04</option> <option value="05">05</option> <option value="06">06</option> <option value="07">07</option> <option value="08">08</option> <option value="09">09</option> <option value="10">10</option> <option value="11">11</option> <option value="12">12</option> <option value="13">13</option> <option value="14">14</option> <option value="15">15</option> <option value="16">16</option> <option value="17">17</option> <option value="18">18</option> <option value="19">19</option> <option value="20">20</option> <option value="21">21</option> <option value="22">22</option> <option value="23">23</option> <option value="24">24</option> <option value="25">25</option> <option value="26">26</option> <option value="27">27</option> <option value="28">28</option> <option value="29">29</option> <option value="30">30</option> <option value="31">31</option> <option value="32">32</option> <option value="33">33</option> <option value="34">34</option> <option value="35">35</option> <option value="36">36</option> <option value="37">37</option> <option value="38">38</option> <option value="39">39</option> <option value="40">40</option> <option value="41">41</option> <option value="42">42</option> <option value="43">43</option> <option value="44">44</option> <option value="45">45</option> <option value="46">46</option> <option value="47">47</option> <option value="48">48</option> <option value="49">49</option> <option value="50">50</option> <option value="51">51</option> <option value="52">52</option> <option value="53">53</option> <option value="54">54</option> <option value="55">55</option> <option value="56">56</option> <option value="57">57</option> <option value="58">58</option> <option value="59">59</option></select></div></div></div></div></div> <div class="row"><div class="col-sm-6"><div class="form-group row"><label class="col-sm-4 col-form-label">Phone</label> <div class="col-sm-8"><input type="text" placeholder="+43123456789" class="form-control"></div></div></div> <div class="col-sm-6"><div class="form-group row"><label class="col-sm-4 col-form-label">Email</label> <div class="col-sm-8"><input type="text" class="form-control"></div></div></div></div> <div class="text-right"><button type="button" class="btn btn-primary btn-sm">Save</button></div></div></div></div> <div class="my-3 p-3 bg-white rounded shadow-sm"><h6 class="border-bottom border-gray pb-2 mb-0">please upload IDs of all fellow travellers</h6> <div class="text-muted pt-3"><div><div class="row"><div class="col"><form><div class="custom-file"><input type="file" id="passportFiles" multiple="multiple" accept="image/*,application/pdf" class="custom-file-input"> <label for="passportFiles" class="custom-file-label">Choose files</label></div></form></div></div> <div class="row"><div class="col pt-4"><!----> <table class="table table-sm table-covidtestfiles"><tbody></tbody></table></div></div></div></div></div></div> <div id="detailInfo-795" class="my-3 p-3 bg-white rounded shadow-sm"><h6 class="border-bottom border-gray pb-2 mb-0">guest registration</h6> <div class="text-muted pt-3"><div><p style="margin: 0px; padding: 0px;">Please use the following link for the legally required registration:<br> <br> <a href="https://www.my-bookings.cc/guest-registration/ktehnD04989daddc6409e31df3ee4bfca02b29ph9aqBW9CNS2.mb" target="_blank">https://www.my-bookings.cc/guest-registration/ktehnD04989daddc6409e31df3ee4bfca02b29ph9aqBW9CNS2.mb</a></p></div></div></div> <div id="modalCreditcardVerify" tabindex="-1" role="dialog" aria-labelledby="modalCreditcardVerifyLabel" aria-hidden="true" class="modal fade"><div role="document" class="modal-dialog"><div class="modal-content"><div class="modal-header"><h5 id="modalCreditcardVerifyLabel" class="modal-title">credit card details</h5> <button type="button" data-dismiss="modal" aria-label="Close" class="close"><span aria-hidden="true">×</span></button></div> <div class="modal-body"><form role="form"><div class="form-group"><label for="username">card holder</label> <input type="text" name="username" placeholder="name shown on your credit card" class="form-control"></div> <div class="form-group"><label for="cardNumber">credit card number</label> <div class="input-group"><input type="text" name="cardNumber" placeholder="your credit card number" class="form-control"> <div class="input-group-append"><span class="input-group-text text-muted"><i class="fa fa-cc-visa mx-1"></i> <i class="fa fa-cc-amex mx-1"></i> <i class="fa fa-cc-mastercard mx-1"></i></span> <!----></div></div></div> <div class="row"><div class="col-sm-8"><div class="form-group"><label><span class="hidden-xs">valid thru</span></label> <div class="input-group"><select class="form-control"><option value=""></option> <option value="01">01</option><option value="02">02</option><option value="03">03</option><option value="04">04</option><option value="05">05</option><option value="06">06</option><option value="07">07</option><option value="08">08</option><option value="09">09</option><option value="10">10</option><option value="11">11</option><option value="12">12</option></select> <select class="form-control"><option value=""></option> <option value="24">2024</option><option value="25">2025</option><option value="26">2026</option><option value="27">2027</option><option value="28">2028</option><option value="29">2029</option><option value="30">2030</option><option value="31">2031</option><option value="32">2032</option><option value="33">2033</option><option value="34">2034</option><option value="35">2035</option><option value="36">2036</option><option value="37">2037</option><option value="38">2038</option><option value="39">2039</option></select></div></div></div> <div class="col-sm-4"><div class="form-group mb-4"><label data-toggle="tooltip" title="3-digit CVC on the back of your credit card">CVC
																		<i class="fa fa-question-circle"></i></label> <input type="text" class="form-control"></div></div></div></form> <!----></div> <div class="modal-footer"><!----> <button type="button" class="btn btn-info btn-sm">Save</button> <button type="button" class="btn btn-secondary btn-sm">cancel</button></div></div></div></div></div>

		<div class="modal" id="modalSaved" tabindex="-1">
			<div class="modal-dialog modal-dialog-centered">
				<div class="modal-content">				
					<div class="modal-body">
						<p>saved successfully.</p>
					</div>
					<div class="modal-footer">
						<button type="button" class="btn btn-primary" data-dismiss="modal">OK</button>
					</div>
				</div>
			</div>
		</div>

		<div class="modal" id="modalCheckFields" tabindex="-1">
			<div class="modal-dialog modal-dialog-centered">
				<div class="modal-content">				
					<div class="modal-body">
						<p>Please check your input.</p>
					</div>
					<div class="modal-footer">
						<button type="button" class="btn btn-primary" data-dismiss="modal">OK</button>
					</div>
				</div>
			</div>
		</div>

	
		<!-- Optional JavaScript -->
		<!-- jQuery first, then Popper.js, then Bootstrap JS -->
		<script src="assets/jquery-3.4.1.min.js"></script>
		<script src="assets/bootstrap/js/bootstrap.min.js"></script>
		<script src="assets/vue.min.js"></script>
		<script src="assets/axios.min.js"></script>

		<script>


			$(function() {
				var AppInPage = new Vue({

					el: "#app-inpage",
					data: {
						booking_id: "1346808",
						url_return: "",
						url_ccid: "",
						url_error: "",
                        url_payautomatic: "",
                        url_success: "",
						isFromHomepage: "0",
						lang: "en",
						pin: "56575VAED",
						creditcards: [],
						allCardsVerified: false,
						showErrors: {
							verify: false,
							newCardFillAllFields: false
						},
						pageIsLoading: false,
						newCardLoading:	false,
						ccCheckInterval: null,
						newCreditcard: {
							name: "",
							number: "",
							validMonth: "",
							validYear: "",
							cvc: "",
							brand: null
						},
						additionalFields: [],
						customContactFields: {
							email: "",
							phone: "+37378474479",
							arrivalTimeHour: "",
							arrivalTimeMinute: ""
						},
						covidTestFiles: {
							currCount: 0,
							countDone: 0,
							list: [],
							uploadinProgress: false
						},
						passportFiles: {
							currCount: 0,
							countDone: 0,
							list: [],
							uploadinProgress: false
						},
                        payautomatic: {
                          list: []
                        },
						peopleCount: 1,
						loadFeratelData: false,
						feratelGuestlist: [],
						feratelCountries: [],
						showPayment: false,
						showCovid: false,
						showPassport: true,
						showArrivaltime: true,
                        showPaymentsPA: false,
						paymentCCIcons: [""],
                        attributesGroups: [{"group_id":1,"group_name":"Topattribute","group_name_de":"Topattribute","group_name_en":"Topattribute","group_name_es":"Mejores atributos","attributes":[]},{"group_id":2,"group_name":"Bad","group_name_de":"Bad","group_name_en":"Bath","group_name_es":"Ba\u00f1o","attributes":[]},{"group_id":3,"group_name":"K\u00fcche","group_name_de":"K\u00fcche","group_name_en":"Kitchen","group_name_es":"Cocina","attributes":[]},{"group_id":4,"group_name":"Schlafzimmer","group_name_de":"Schlafzimmer","group_name_en":"Sleeping Room","group_name_es":"Dormitorio","attributes":[]},{"group_id":5,"group_name":"Wohnbereich","group_name_de":"Wohnbereich","group_name_en":"Living Room","group_name_es":"Sal\u00f3n","attributes":[]},{"group_id":6,"group_name":"Sonstiges","group_name_de":"Sonstiges","group_name_en":"Others","group_name_es":"Cualquiera","attributes":[]},{"group_id":7,"group_name":"Gemeinschaftsk\u00fcche","group_name_de":"Gemeinschaftsk\u00fcche","group_name_en":"Community Kitchen","group_name_es":"Cocina compartida","attributes":[]},{"group_id":8,"group_name":"Hotel Ausstattung","group_name_de":"Hotel Ausstattung","group_name_en":"Hotel Amenities","group_name_es":"Instalaciones del hotel","attributes":[]},{"group_id":9,"group_name":"Allgemeinbereich","group_name_de":"Allgemeinbereich","group_name_en":"General Area","group_name_es":"\u00c1rea general","attributes":[]},{"group_id":10,"group_name":"Au\u00dfenbereich","group_name_de":"Au\u00dfenbereich","group_name_en":"Outdoor Area","group_name_es":"\u00c1rea exterior","attributes":[]},{"group_id":20,"group_name":"Bad 1","group_name_de":"Bad 1","group_name_en":"Bath 1","group_name_es":"Ba\u00f1o 1","attributes":[]},{"group_id":21,"group_name":"Bad 2","group_name_de":"Bad 2","group_name_en":"Bath 2","group_name_es":"Ba\u00f1o 2","attributes":[]},{"group_id":22,"group_name":"Bad 3","group_name_de":"Bad 3","group_name_en":"Bath 3","group_name_es":"Ba\u00f1o 3","attributes":[]},{"group_id":23,"group_name":"Bad 4","group_name_de":"Bad 4","group_name_en":"Bath 4","group_name_es":"Ba\u00f1o 4","attributes":[]},{"group_id":24,"group_name":"Bad 5","group_name_de":"Bad 5","group_name_en":"Bath 5","group_name_es":"Ba\u00f1o 5","attributes":[]},{"group_id":25,"group_name":"Bad 6","group_name_de":"Bad 6","group_name_en":"Bath 6","group_name_es":"Ba\u00f1o 6","attributes":[]},{"group_id":26,"group_name":"Bad 7","group_name_de":"Bad 7","group_name_en":"Bath 7","group_name_es":"Ba\u00f1o 7","attributes":[]},{"group_id":27,"group_name":"Bad 8","group_name_de":"Bad 8","group_name_en":"Bath 8","group_name_es":"Ba\u00f1o 8","attributes":[]},{"group_id":28,"group_name":"Bad 9","group_name_de":"Bad 9","group_name_en":"Bath 9","group_name_es":"Ba\u00f1o 9","attributes":[]},{"group_id":29,"group_name":"Bad 10","group_name_de":"Bad 10","group_name_en":"Bath 10","group_name_es":"Ba\u00f1o 10","attributes":[]},{"group_id":30,"group_name":"K\u00fcche 1","group_name_de":"K\u00fcche 1","group_name_en":"Kitchen 1","group_name_es":"Cocina 1","attributes":[]},{"group_id":31,"group_name":"K\u00fcche 2","group_name_de":"K\u00fcche 2","group_name_en":"Kitchen 2","group_name_es":"Cocina 2","attributes":[]},{"group_id":32,"group_name":"K\u00fcche 3","group_name_de":"K\u00fcche 3","group_name_en":"Kitchen 3","group_name_es":"Cocina 3","attributes":[]},{"group_id":33,"group_name":"K\u00fcche 4","group_name_de":"K\u00fcche 4","group_name_en":"Kitchen 4","group_name_es":"Cocina 4","attributes":[]},{"group_id":34,"group_name":"K\u00fcche 5","group_name_de":"K\u00fcche 5","group_name_en":"Kitchen 5","group_name_es":"Cocina 5","attributes":[]},{"group_id":35,"group_name":"K\u00fcche 6","group_name_de":"K\u00fcche 6","group_name_en":"Kitchen 6","group_name_es":"Cocina 6","attributes":[]},{"group_id":36,"group_name":"K\u00fcche 7","group_name_de":"K\u00fcche 7","group_name_en":"Kitchen 7","group_name_es":"Cocina 7","attributes":[]},{"group_id":37,"group_name":"K\u00fcche 8","group_name_de":"K\u00fcche 8","group_name_en":"Kitchen 8","group_name_es":"Cocina 8","attributes":[]},{"group_id":38,"group_name":"K\u00fcche 9","group_name_de":"K\u00fcche 9","group_name_en":"Kitchen 9","group_name_es":"Cocina 9","attributes":[]},{"group_id":39,"group_name":"K\u00fcche 10","group_name_de":"K\u00fcche 10","group_name_en":"Kitchen 10","group_name_es":"Cocina 10","attributes":[]},{"group_id":40,"group_name":"Schlafzimmer 1","group_name_de":"Schlafzimmer 1","group_name_en":"Sleeping Room 1","group_name_es":"Dormitorio 1","attributes":[]},{"group_id":41,"group_name":"Schlafzimmer 2","group_name_de":"Schlafzimmer 2","group_name_en":"Sleeping Room 2","group_name_es":"Dormitorio 2","attributes":[]},{"group_id":42,"group_name":"Schlafzimmer 3","group_name_de":"Schlafzimmer 3","group_name_en":"Sleeping Room 3","group_name_es":"Dormitorio 3","attributes":[]},{"group_id":43,"group_name":"Schlafzimmer 4","group_name_de":"Schlafzimmer 4","group_name_en":"Sleeping Room 4","group_name_es":"Dormitorio 4","attributes":[]},{"group_id":44,"group_name":"Schlafzimmer 5","group_name_de":"Schlafzimmer 5","group_name_en":"Sleeping Room 5","group_name_es":"Dormitorio 5","attributes":[]},{"group_id":45,"group_name":"Schlafzimmer 6","group_name_de":"Schlafzimmer 6","group_name_en":"Sleeping Room 6","group_name_es":"Dormitorio 6","attributes":[]},{"group_id":46,"group_name":"Schlafzimmer 7","group_name_de":"Schlafzimmer 7","group_name_en":"Sleeping Room 7","group_name_es":"Dormitorio 7","attributes":[]},{"group_id":47,"group_name":"Schlafzimmer 8","group_name_de":"Schlafzimmer 8","group_name_en":"Sleeping Room 8","group_name_es":"Dormitorio 8","attributes":[]},{"group_id":48,"group_name":"Schlafzimmer 9","group_name_de":"Schlafzimmer 9","group_name_en":"Sleeping Room 9","group_name_es":"Dormitorio 9","attributes":[]},{"group_id":49,"group_name":"Schlafzimmer 10","group_name_de":"Schlafzimmer 10","group_name_en":"Sleeping Room 10","group_name_es":"Dormitorio 10","attributes":[]},{"group_id":50,"group_name":"Wohnbereich 1","group_name_de":"Wohnbereich 1","group_name_en":"Living Room 1","group_name_es":"Sal\u00f3n 1","attributes":[]},{"group_id":51,"group_name":"Wohnbereich 2","group_name_de":"Wohnbereich 2","group_name_en":"Living Room 2","group_name_es":"Sal\u00f3n 2","attributes":[]},{"group_id":52,"group_name":"Wohnbereich 3","group_name_de":"Wohnbereich 3","group_name_en":"Living Room 3","group_name_es":"Sal\u00f3n 3","attributes":[]},{"group_id":53,"group_name":"Wohnbereich 4","group_name_de":"Wohnbereich 4","group_name_en":"Living Room 4","group_name_es":"Sal\u00f3n 4","attributes":[]},{"group_id":54,"group_name":"Wohnbereich 5","group_name_de":"Wohnbereich 5","group_name_en":"Living Room 5","group_name_es":"Sal\u00f3n 5","attributes":[]},{"group_id":55,"group_name":"Wohnbereich 6","group_name_de":"Wohnbereich 6","group_name_en":"Living Room 6","group_name_es":"Sal\u00f3n 6","attributes":[]},{"group_id":56,"group_name":"Wohnbereich 7","group_name_de":"Wohnbereich 7","group_name_en":"Living Room 7","group_name_es":"Sal\u00f3n 7","attributes":[]},{"group_id":57,"group_name":"Wohnbereich 8","group_name_de":"Wohnbereich 8","group_name_en":"Living Room 8","group_name_es":"Sal\u00f3n 8","attributes":[]},{"group_id":58,"group_name":"Wohnbereich 9","group_name_de":"Wohnbereich 9","group_name_en":"Living Room 9","group_name_es":"Sal\u00f3n 9","attributes":[]},{"group_id":59,"group_name":"Wohnbereich 10","group_name_de":"Wohnbereich 10","group_name_en":"Living Room 10","group_name_es":"Sal\u00f3n 10","attributes":[]}],
                        attributesForCategory: [{"group_id":1,"group_name":"Topattribute","group_name_de":"Topattribute","group_name_en":"Topattribute","group_name_es":"Mejores atributos","attributes":[]},{"group_id":2,"group_name":"Bad","group_name_de":"Bad","group_name_en":"Bath","group_name_es":"Ba\u00f1o","attributes":[]},{"group_id":3,"group_name":"K\u00fcche","group_name_de":"K\u00fcche","group_name_en":"Kitchen","group_name_es":"Cocina","attributes":[]},{"group_id":4,"group_name":"Schlafzimmer","group_name_de":"Schlafzimmer","group_name_en":"Sleeping Room","group_name_es":"Dormitorio","attributes":[]},{"group_id":5,"group_name":"Wohnbereich","group_name_de":"Wohnbereich","group_name_en":"Living Room","group_name_es":"Sal\u00f3n","attributes":[]},{"group_id":6,"group_name":"Sonstiges","group_name_de":"Sonstiges","group_name_en":"Others","group_name_es":"Cualquiera","attributes":[]},{"group_id":7,"group_name":"Gemeinschaftsk\u00fcche","group_name_de":"Gemeinschaftsk\u00fcche","group_name_en":"Community Kitchen","group_name_es":"Cocina compartida","attributes":[]},{"group_id":8,"group_name":"Hotel Ausstattung","group_name_de":"Hotel Ausstattung","group_name_en":"Hotel Amenities","group_name_es":"Instalaciones del hotel","attributes":[]},{"group_id":9,"group_name":"Allgemeinbereich","group_name_de":"Allgemeinbereich","group_name_en":"General Area","group_name_es":"\u00c1rea general","attributes":[]},{"group_id":10,"group_name":"Au\u00dfenbereich","group_name_de":"Au\u00dfenbereich","group_name_en":"Outdoor Area","group_name_es":"\u00c1rea exterior","attributes":[]},{"group_id":20,"group_name":"Bad 1","group_name_de":"Bad 1","group_name_en":"Bath 1","group_name_es":"Ba\u00f1o 1","attributes":[]},{"group_id":21,"group_name":"Bad 2","group_name_de":"Bad 2","group_name_en":"Bath 2","group_name_es":"Ba\u00f1o 2","attributes":[]},{"group_id":22,"group_name":"Bad 3","group_name_de":"Bad 3","group_name_en":"Bath 3","group_name_es":"Ba\u00f1o 3","attributes":[]},{"group_id":23,"group_name":"Bad 4","group_name_de":"Bad 4","group_name_en":"Bath 4","group_name_es":"Ba\u00f1o 4","attributes":[]},{"group_id":24,"group_name":"Bad 5","group_name_de":"Bad 5","group_name_en":"Bath 5","group_name_es":"Ba\u00f1o 5","attributes":[]},{"group_id":25,"group_name":"Bad 6","group_name_de":"Bad 6","group_name_en":"Bath 6","group_name_es":"Ba\u00f1o 6","attributes":[]},{"group_id":26,"group_name":"Bad 7","group_name_de":"Bad 7","group_name_en":"Bath 7","group_name_es":"Ba\u00f1o 7","attributes":[]},{"group_id":27,"group_name":"Bad 8","group_name_de":"Bad 8","group_name_en":"Bath 8","group_name_es":"Ba\u00f1o 8","attributes":[]},{"group_id":28,"group_name":"Bad 9","group_name_de":"Bad 9","group_name_en":"Bath 9","group_name_es":"Ba\u00f1o 9","attributes":[]},{"group_id":29,"group_name":"Bad 10","group_name_de":"Bad 10","group_name_en":"Bath 10","group_name_es":"Ba\u00f1o 10","attributes":[]},{"group_id":30,"group_name":"K\u00fcche 1","group_name_de":"K\u00fcche 1","group_name_en":"Kitchen 1","group_name_es":"Cocina 1","attributes":[]},{"group_id":31,"group_name":"K\u00fcche 2","group_name_de":"K\u00fcche 2","group_name_en":"Kitchen 2","group_name_es":"Cocina 2","attributes":[]},{"group_id":32,"group_name":"K\u00fcche 3","group_name_de":"K\u00fcche 3","group_name_en":"Kitchen 3","group_name_es":"Cocina 3","attributes":[]},{"group_id":33,"group_name":"K\u00fcche 4","group_name_de":"K\u00fcche 4","group_name_en":"Kitchen 4","group_name_es":"Cocina 4","attributes":[]},{"group_id":34,"group_name":"K\u00fcche 5","group_name_de":"K\u00fcche 5","group_name_en":"Kitchen 5","group_name_es":"Cocina 5","attributes":[]},{"group_id":35,"group_name":"K\u00fcche 6","group_name_de":"K\u00fcche 6","group_name_en":"Kitchen 6","group_name_es":"Cocina 6","attributes":[]},{"group_id":36,"group_name":"K\u00fcche 7","group_name_de":"K\u00fcche 7","group_name_en":"Kitchen 7","group_name_es":"Cocina 7","attributes":[]},{"group_id":37,"group_name":"K\u00fcche 8","group_name_de":"K\u00fcche 8","group_name_en":"Kitchen 8","group_name_es":"Cocina 8","attributes":[]},{"group_id":38,"group_name":"K\u00fcche 9","group_name_de":"K\u00fcche 9","group_name_en":"Kitchen 9","group_name_es":"Cocina 9","attributes":[]},{"group_id":39,"group_name":"K\u00fcche 10","group_name_de":"K\u00fcche 10","group_name_en":"Kitchen 10","group_name_es":"Cocina 10","attributes":[]},{"group_id":40,"group_name":"Schlafzimmer 1","group_name_de":"Schlafzimmer 1","group_name_en":"Sleeping Room 1","group_name_es":"Dormitorio 1","attributes":[]},{"group_id":41,"group_name":"Schlafzimmer 2","group_name_de":"Schlafzimmer 2","group_name_en":"Sleeping Room 2","group_name_es":"Dormitorio 2","attributes":[]},{"group_id":42,"group_name":"Schlafzimmer 3","group_name_de":"Schlafzimmer 3","group_name_en":"Sleeping Room 3","group_name_es":"Dormitorio 3","attributes":[]},{"group_id":43,"group_name":"Schlafzimmer 4","group_name_de":"Schlafzimmer 4","group_name_en":"Sleeping Room 4","group_name_es":"Dormitorio 4","attributes":[]},{"group_id":44,"group_name":"Schlafzimmer 5","group_name_de":"Schlafzimmer 5","group_name_en":"Sleeping Room 5","group_name_es":"Dormitorio 5","attributes":[]},{"group_id":45,"group_name":"Schlafzimmer 6","group_name_de":"Schlafzimmer 6","group_name_en":"Sleeping Room 6","group_name_es":"Dormitorio 6","attributes":[]},{"group_id":46,"group_name":"Schlafzimmer 7","group_name_de":"Schlafzimmer 7","group_name_en":"Sleeping Room 7","group_name_es":"Dormitorio 7","attributes":[]},{"group_id":47,"group_name":"Schlafzimmer 8","group_name_de":"Schlafzimmer 8","group_name_en":"Sleeping Room 8","group_name_es":"Dormitorio 8","attributes":[]},{"group_id":48,"group_name":"Schlafzimmer 9","group_name_de":"Schlafzimmer 9","group_name_en":"Sleeping Room 9","group_name_es":"Dormitorio 9","attributes":[]},{"group_id":49,"group_name":"Schlafzimmer 10","group_name_de":"Schlafzimmer 10","group_name_en":"Sleeping Room 10","group_name_es":"Dormitorio 10","attributes":[]},{"group_id":50,"group_name":"Wohnbereich 1","group_name_de":"Wohnbereich 1","group_name_en":"Living Room 1","group_name_es":"Sal\u00f3n 1","attributes":[]},{"group_id":51,"group_name":"Wohnbereich 2","group_name_de":"Wohnbereich 2","group_name_en":"Living Room 2","group_name_es":"Sal\u00f3n 2","attributes":[]},{"group_id":52,"group_name":"Wohnbereich 3","group_name_de":"Wohnbereich 3","group_name_en":"Living Room 3","group_name_es":"Sal\u00f3n 3","attributes":[]},{"group_id":53,"group_name":"Wohnbereich 4","group_name_de":"Wohnbereich 4","group_name_en":"Living Room 4","group_name_es":"Sal\u00f3n 4","attributes":[]},{"group_id":54,"group_name":"Wohnbereich 5","group_name_de":"Wohnbereich 5","group_name_en":"Living Room 5","group_name_es":"Sal\u00f3n 5","attributes":[]},{"group_id":55,"group_name":"Wohnbereich 6","group_name_de":"Wohnbereich 6","group_name_en":"Living Room 6","group_name_es":"Sal\u00f3n 6","attributes":[]},{"group_id":56,"group_name":"Wohnbereich 7","group_name_de":"Wohnbereich 7","group_name_en":"Living Room 7","group_name_es":"Sal\u00f3n 7","attributes":[]},{"group_id":57,"group_name":"Wohnbereich 8","group_name_de":"Wohnbereich 8","group_name_en":"Living Room 8","group_name_es":"Sal\u00f3n 8","attributes":[]},{"group_id":58,"group_name":"Wohnbereich 9","group_name_de":"Wohnbereich 9","group_name_en":"Living Room 9","group_name_es":"Sal\u00f3n 9","attributes":[]},{"group_id":59,"group_name":"Wohnbereich 10","group_name_de":"Wohnbereich 10","group_name_en":"Living Room 10","group_name_es":"Sal\u00f3n 10","attributes":[]}],
						feratelGuestCard: 0
                    },
					methods: {
						init() {
							if (this.url_return == 1 && this.url_error == 0) {
								this.ccCheckInterval = window.setInterval(function() {
									var goahed = false;
									for(var i = 0; i < AppInPage.creditcards.length; i++) {
										if (AppInPage.creditcards[i].id == AppInPage.url_ccid && AppInPage.creditcards[i].verified_done == null) {
											goahed = true;
										}
									}

									if(!goahed && AppInPage.ccCheckInterval != null) {
										window.clearInterval(AppInPage.ccCheckInterval);										
									} 
									else 
									{
										AppInPage.loadCCData();
									}

								}, 3000);
							}

							axios.post(this.getServiceUrl("initPage"), { })
								.then(function (response) { 
									// get body data
									var d = response.data;
									
									if (d.error == 0) {
										AppInPage.additionalFields = d.data.additionalFields;

                                        if (AppInPage.showPaymentsPA) {
                                            AppInPage.payautomaticInit();
                                        }
									}
									
								})
								.catch(function (error) {
									console.log(error);
								}); 
						},

                        payautomaticInit() {

                            axios.post(this.getServiceUrl("Payautomatic.Init"), { })
                                .then(function (response) {
                                    // get body data
                                    var d = response.data.data;

                                    d = d.map((p) => {
                                        return {
                                            ...p,
                                            isLoadingPaymentLink: false
                                        };
                                    });

                                    // anzahlung ausblenden restzahlung wenn überfällig und wenn az nicht bezahlt, wenn amount == null oder error

                                    const overdueRestPayment = d.filter((f) => f.ptype == 'R' && f.isOverDue);

                                    AppInPage.payautomatic.list = d.filter((e) => e.status != 'nothing_to_do' && !(e.ptype == 'A' && overdueRestPayment.length > 0 && e.doneDetails == null) && e.amount != null && e.amount != null);
                                })
                                .catch(function (error) {
                                    console.log(error);
                                });
                        },

                        payautomaticGetTitle(payautomatic) {
                            const title = this.lang == 'de' ? payautomatic.descr_de : payautomatic.descr_en;

                            if (title != null && title.length > 0) return title;

                            return payautomatic.descr;
                        },

                        payautomaticShowPaynowButton(pa) {

                            if(!pa.isPayableNow) {
                                return false;
                            }

                            if(pa.pwhat != '5' && (pa.status == 'waiting' || pa.status == 'error')) {
                                return true;
                            }

                            if(pa.id == this.url_payautomatic && this.url_success == "1") {
                                return false;
                            }
                            return false;
                        },

                        payautomaticPaynow(payautomatic) {

                            payautomatic.isLoadingPaymentLink = true;

                            axios.post(this.getServiceUrl("Payautomatic.Paynow"), { payautomatic: payautomatic.id })
                                .then(function (response) {
                                    // get body data
                                    var d = response.data;

                                    if (d.error == 0) {
                                        if (d.data.redirectUrl != null) {
                                            location.href = d.data.redirectUrl;
                                        }
                                    } else {
                                        payautomatic.isLoadingPaymentLink = false;
                                        AppInPage.payautomaticInit();
                                    }
                                })
                                .catch(function (error) {
                                    console.log(error);
                                });
                        },

						saveUserInput() {
							let nData = this.additionalFields.map(function(d) {
								return {
									id: d.id,
									currentValue: d.currentValue
								}
							});

							let payload = {
								additionalfields: nData,
								customContactFields: this.customContactFields
							};

							axios.post(this.getServiceUrl("additionalFields.save"), payload)
								.then(function (response) { 
									// get body data
									var d = response.data;
									
									if (d.error == 0) {
										AppInPage.showDialog("modalSaved");
									}
									
								})
								.catch(function (error) {
									console.log(error);
								}); 
						},
						loadCCData() {
							axios.post(this.getServiceUrl("loadCCData"), { })
							.then(function (response) { 
								// get body data
								var d = response.data;
								
								if (d.error == 0) {
									AppInPage.creditcards = d.data;
									var allVerified = true;

									for(var i = 0; i < AppInPage.creditcards.length; i++) {
										if (AppInPage.creditcards[i].verified_done == null) {
											allVerified = false;
											break;											
										}
									}

									AppInPage.allCardsVerified = allVerified;
								}
								
							})
							.catch(function (error) {
								console.log(error);
							}); 
						},
						verifyCreditcard(ccid) {
							this.showErrors.verify = false;

							this.pageIsLoading = true;

							axios.post(this.getServiceUrl("verifyCreditcard"), { ccid: ccid })
							.then(function (response) { 
								// get body data
								var d = response.data;
								
								if (d.error == 0) {
									if (d.status == "REDIRECT") {
										top.location.href = d.location;
									}
								} else {
									AppInPage.showErrors.verify = true;
									AppInPage.pageIsLoading = false;
								}	
							})
							.catch(function (error) {
								console.log(error);
							}); 
						},
						getServiceUrl(cmd) {
                            return "bookinginfo-services.php?booking_id=" + this.booking_id + "&pin=" + this.pin + "&cmd=" + cmd + "&isFromHomepage=" + this.isFromHomepage + "&lang=" + this.lang;
                        },
                        getServiceUrlChangeBackend(cmd) {
                            return "/changeBackend/public/api/" + cmd + "?lang=" + this.lang;
                        },
						showDialog(dialogId) {
							$("#" + dialogId).modal('show');
						},
						addCard() {
							this.showErrors.newCardFillAllFields = false;
							this.newCardLoading = true;

							axios.post(this.getServiceUrl("addCard"), this.newCreditcard)
							.then(function (response) {
								AppInPage.newCardLoading = false; 
								// get body data
								var d = response.data;
								
								if (d.error == 0) {
									AppInPage.cancelAddCard();
									AppInPage.loadCCData();
									AppInPage.verifyCreditcard(d.data);
								} else {
									if(d.errcode == 8) {
										AppInPage.showErrors.newCardFillAllFields = true;
									}
								}	
							})
							.catch(function (error) {
								console.log(error);
							}); 
						},
						cancelAddCard() {
							this.newCreditcard = {
								name: "",
								number: "",
								validMonth: "",
								validYear: "",
								cvc: "",
								brand:null
							};
							$("#modalCreditcardVerify").modal('hide');
						},
						checkNumber() {
							this.newCreditcard.brand = this.getCardType(this.newCreditcard.number);
						},
						getCardType(number) {

							var cards = {
								visa: /^4[0-9]{12}(?:[0-9]{3})?$/,
								mastercard: /^5[1-5][0-9]{14}$/,
								amex: /^3[47][0-9]{13}$/,
								diners: /^3(?:0[0-5]|[68][0-9])[0-9]{11}$/,
								discover: /^6(?:011|5[0-9]{2})[0-9]{12}$/,
								jcb: /^(?:2131|1800|35\d{3})\d{11}$/
							};
							for (var card in cards) {
								if (cards[card].test(number)) {
									return card;
								}
							}

							return null;
						},
						changeLang(l) {
							this.lang = l;
                            console.log(location.href.split("?")[0]);
							window.location.href = (location.href.split("?")[0]).replace("#", "") + "?lang=" + this.lang;
						},

						selectCovidTestFiles(evt) {
							var dateien = evt.target.files; // FileList objekt
							
							this.covidTestFiles.currCount = dateien.length;
							this.covidTestFiles.countDone = 0;
							
							this.covidTestFiles.uploadinProgress = true;
							for(var i = 0; i < dateien.length; i++) {
								
								// erste Datei auswählen (wichtig, weil IMMER ein FileList Objekt generiert wird)
								var file = dateien[i];

								// Ein Objekt um Dateien einzulesen
								var reader = new FileReader();

								reader.onload = (function(theFile) {
									return function(e) {

										AppInPage.covidTestFiles.countDone++;

										var fileDataBase64 = e.target.result.split(",")[1];
										
										var payload = {
											mime_type: theFile.type, 
											data: fileDataBase64,
											filename: theFile.name,
											filesize: theFile.size
										}
										
										AppInPage.uploadCovidTestFiles(payload);

									};
								})(file);
								
								if (file) {
									// Die Datei einlesen und in eine Data-URL konvertieren
									reader.readAsDataURL(file);
								} else {
									AppInPage.covidTestFiles.countDone++; //fallback
								}
							}
						},

						uploadCovidTestFiles(data) {

							axios.post(this.getServiceUrl("COVIDTest.addFile"), data)
								.then(function (response) {
								
									// get body data
									var d = response.data;
									
									if (d.error == 0) {
									
									}

									if(AppInPage.covidTestFiles.countDone >= AppInPage.covidTestFiles.currCount) {
										AppInPage.covidTestFiles.uploadinProgress = false;
										AppInPage.getCovidTestFiles();
									}

								})
								.catch(function (error) {
									console.log(error);
								}); 

							
						},

						getCovidTestFiles() {
							
							axios.post(this.getServiceUrl("COVIDTest.getFiles"), {})
								.then(function (response) {
								
									// get body data
									var d = response.data;
									
									if (d.error == 0) {
										AppInPage.covidTestFiles.list = d.data;
									}
								})
								.catch(function (error) {
									console.log(error);
								}); 
						},

						downloadCovidTestFiles(id) {
							
							var url = this.getServiceUrl("COVIDTest.downloadFile") + "&covidtestfile=" + id;

							location.href = url;
						},



						selectPassportFiles(evt) {
							var dateien = evt.target.files; // FileList objekt
							
							this.passportFiles.currCount = dateien.length;
							this.passportFiles.countDone = 0;
							
							this.passportFiles.uploadinProgress = true;
							for(var i = 0; i < dateien.length; i++) {
								
								// erste Datei auswählen (wichtig, weil IMMER ein FileList Objekt generiert wird)
								var file = dateien[i];

								// Ein Objekt um Dateien einzulesen
								var reader = new FileReader();

								reader.onload = (function(theFile) {
									return function(e) {

										AppInPage.passportFiles.countDone++;

										var fileDataBase64 = e.target.result.split(",")[1];
										
										var payload = {
											mime_type: theFile.type, 
											data: fileDataBase64,
											filename: theFile.name,
											filesize: theFile.size
										}
										
										AppInPage.uploadPassportFiles(payload);

									};
								})(file);
								
								if (file) {
									// Die Datei einlesen und in eine Data-URL konvertieren
									reader.readAsDataURL(file);
								} else {
									AppInPage.passportFiles.countDone++; //fallback
								}
							}
						},

						uploadPassportFiles(data) {

							axios.post(this.getServiceUrl("Passports.addFile"), data)
								.then(function (response) {
								
									// get body data
									var d = response.data;
									
									if (d.error == 0) {
									
									}

									if(AppInPage.passportFiles.countDone >= AppInPage.passportFiles.currCount) {
										AppInPage.passportFiles.uploadinProgress = false;
										AppInPage.getPassportFiles();
									}

								})
								.catch(function (error) {
									console.log(error);
								}); 
						},

						getPassportFiles() {
							
							axios.post(this.getServiceUrl("Passports.getFiles"), {})
								.then(function (response) {
								
									// get body data
									var d = response.data;
									
									if (d.error == 0) {
										AppInPage.passportFiles.list = d.data;
									}
								})
								.catch(function (error) {
									console.log(error);
								}); 
						},

						downloadPassportFiles(id) {
							
							var url = this.getServiceUrl("Passports.downloadFile") + "&file=" + id;

							location.href = url;
						},


						getFeratelGuestlist() {
							axios.post(this.getServiceUrl("Feratel.getCountries"), { })
								.then(function (response) { 
									// get body data
									var d = response.data;
									
									if (d.error == 0) {
										AppInPage.feratelCountries = d.data;
									}
									
								})
								.catch(function (error) {
									console.log(error);
								}); 
							
							axios.post(this.getServiceUrl("Feratel.getGuestlist"), { })
							.then(function (response) { 
								// get body data
								var d = response.data;
								
								if (d.error == 0) {
									AppInPage.feratelGuestlist = d.data;
								}
								
							})
							.catch(function (error) {
								console.log(error);
							}); 
						},
						
						saveFeratelGuestlist() {
							axios.post(this.getServiceUrl("Feratel.saveGuestlist"), { people: this.feratelGuestlist.map(e => { 
								e.gaestekarte = this.feratelGuestCard
								return e;
							}) })
							.then(function (response) { 
								// get body data
								var d = response.data;
								
								if (d.error == 0) {
									AppInPage.showDialog("modalSaved");
								} else{
									AppInPage.showDialog("modalCheckFields");								
								}
								
							})
							.catch(function (error) {
								console.log(error);
							}); 
						},

						saveBonuscards() {
							axios.post(this.getServiceUrl("Bonsucards.save"), { cfg: $("#bonuscard_cfg").val(), variant: $('input[name="radioBonuscard"]:checked').val() })
							.then(function (response) { 
								// get body data
								var d = response.data;
								
								if (d.error == 0) {
									AppInPage.showDialog("modalSaved");
								}								
							})
							.catch(function (error) {
								console.log(error);
							}); 
						},

						paymentCheckCCIcon(card) {
							if(this.paymentCCIcons.indexOf(card) != -1) {
								return true;
							}
							return false;
						},

                        formatAmount(amount) {
                            return new Intl.NumberFormat('de-AT', { style: 'currency', currency: 'EUR' }).format(
                                amount,
                            )
                        },

					}
				});

				AppInPage.init();

                if (AppInPage.showPayment) {
                    AppInPage.loadCCData();
                }

                if (AppInPage.showCovid) {
                    AppInPage.getCovidTestFiles();
                }

				if (AppInPage.showPassport) {
                    AppInPage.getPassportFiles();
                }

				if (AppInPage.loadFeratelData) {
					AppInPage.getFeratelGuestlist();
				}
				
			});	
		</script>

    	
</body></html>