www.extrasauber.at
Open in
urlscan Pro
85.13.155.234
Public Scan
URL:
https://www.extrasauber.at/
Submission: On August 08 via automatic, source certstream-suspicious — Scanned from AT
Submission: On August 08 via automatic, source certstream-suspicious — Scanned from AT
Form analysis
1 forms found in the DOMPOST /search/order
<form action="/search/order" class="manual-validation justify-content-center row g-1" id="searchform" method="post" novalidate="">
<input name="v3" type="hidden" value="0">
<input id="product_id" name="product_id" type="hidden" value="1">
<input name="submit" type="hidden" value="1">
<input id="searchdate_temp" type="hidden" value="1">
<input type="hidden" name="order_submit" value="1">
<div class="col-lg-3 col-12 form-floating" style="height: 5em;">
<input class="form-control form-control-lg h-100 bg-light" id="zipcode" maxlength="5" name="zipcode" placeholder="Plz" autocomplete="on" role="textbox" oninput="hideZipcodeHint(this)" value="" required="">
<input name="zipcode_submit" type="hidden" value="1">
<label class="text-center fs-6 w-100 p-3" for="zipcode" id="zipcodeLabel"> Wo soll gereinigt werden?<small id="zipcodeHint"><br>(Postleitzahl)</small>
</label>
</div>
<div class="col-lg-4 col-12 position-relative" style="height: 5em">
<button aria-controls="dropdownObject" aria-expanded="true" class="btn btn-outline-light btn-lg w-100 text-primary fs-6 h-100 d-inline-block bg-light p-3 overflow-hidden" data-bs-auto-close="outside" data-bs-target="#dropdownObject"
data-bs-toggle="dropdown" data-bs-display="static" type="button"> Was soll gereinigt werden? <br><strong class="text-primary" id="wasSummary">60m² (2 Zimmer, 1 Küche, 1 Bad)</strong>
</button>
<div class="dropdown" role="menu" style="position:static !important;z-index:10000 !important;">
<div class=" dropdown-menu dropdown-form p-3 row" role="menu" style="max-width: 100vh; min-width: 25em" id="dropdownObject" data-bs-autoclose="false">
<div class="row align-items-center g-0">
<div class="dropdown text-start ps-0 mb-3">
<button class="btn-lg w-100 btn btn-outline-primary dropdown-toggle text-wrap" type="button" data-bs-toggle="dropdown" aria-expanded="false">
<strong>ExtraSauber Home</strong>
<br><small class="text-wrap">Gönne dir ein glänzendes Zuhause</small>
</button>
<ul class="dropdown-menu list-unstyled w-100 overflow-hidden">
<li class=" w-100"><a class="text-start btn-outline-light text-primary btn w-100" href="/intensivreinigung"><strong>Intensivreinigung</strong><small class="text-wrap mt-0 pt-0"><br>Die Power-Reinigung für dein Zuhause </small></a>
</li>
<li class=" w-100"><a class="text-start btn-outline-light text-primary btn w-100" href="/umzugsreinigung"><strong>Umzugsreinigung</strong><small class="text-wrap mt-0 pt-0"><br>Bei Umzug oder Mieterwechsel </small></a>
</li>
<li class=" w-100"><a class="text-start btn-outline-light text-primary btn w-100" href="/fensterreinigung"><strong>Fensterreinigung</strong><small class="text-wrap mt-0 pt-0"><br>Für den perfekten Ausblick </small></a>
</li>
<li class=" w-100"><a class="text-start btn-outline-light text-primary btn w-100" href="/bueroreinigung"><strong>ExtraSauber Office</strong><small class="text-wrap mt-0 pt-0"><br>Einfach sauber arbeiten </small></a>
</li>
<li class=" w-100">
<a class="text-start btn-outline-light text-primary btn w-100" href="/fewo-reinigung"><strong>FeWo-Reinigung</strong><small class="text-wrap mt-0 pt-0"><br>Reinigung von Fremdenzimmern, Ferienhäusern und Ferienwohnungen </small></a>
</li>
<li class=" w-100"><a class="text-start btn-outline-light text-primary btn w-100" href="/reinigungsarten">Übersicht aller Spezialreinigungen</a>
</li>
</ul>
</div>
</div>
<div class="row g-0">
<label class="col-xl-7 col-lg-6 col-md-7 col-6 d-flex align-items-center" id="v0Label">Fläche in m²</label>
<div class="col-xl-5 col-lg-6 col-md-5 col-6 ">
<div class="input-group flex-nowrap col-6">
<button data-bs-autoclose="false" class="countDown input-group-text btn btn-primary" type="button" area-label="mehr sqmCount" onclick="countUpDown(event,item=this,increment=-5,min=5,max=300)">
<i class="bi bi-dash"></i>
</button>
<input class="countInput form-control text-center" id="sqmCount" type="text" aria-labelledby="sqmCountLabel" value="60" name="v0" onchange="inputHasChanged()">
<button data-bs-autoclose="false" class="countUp input-group-text btn btn-primary" type="button" area-label="weniger Fläche in m²" onclick="countUpDown(event,item=this,increment=5,min=5,max=300)">
<i class="bi bi-plus"></i>
</button>
</div>
</div>
<hr class="my-2">
<label class="col-xl-7 col-lg-6 col-md-7 col-6 d-flex align-items-center" id="v1Label">Zimmer</label>
<div class="col-xl-5 col-lg-6 col-md-5 col-6 ">
<div class="input-group flex-nowrap col-6">
<button data-bs-autoclose="false" class="countDown input-group-text btn btn-primary" type="button" area-label="mehr roomCount" onclick="countUpDown(event,item=this,increment=-1,min=0,max=20)">
<i class="bi bi-dash"></i>
</button>
<input class="countInput form-control text-center" id="roomCount" type="text" aria-labelledby="roomCountLabel" value="2" name="v1" onchange="inputHasChanged()">
<button data-bs-autoclose="false" class="countUp input-group-text btn btn-primary" type="button" area-label="weniger Zimmer" onclick="countUpDown(event,item=this,increment=1,min=0,max=20)">
<i class="bi bi-plus"></i>
</button>
</div>
</div>
<hr class="my-2">
<label class="col-xl-7 col-lg-6 col-md-7 col-6 d-flex align-items-center" id="v4Label">Küchen</label>
<div class="col-xl-5 col-lg-6 col-md-5 col-6 ">
<div class="input-group flex-nowrap col-6">
<button data-bs-autoclose="false" class="countDown input-group-text btn btn-primary" type="button" area-label="mehr kitchenCount" onclick="countUpDown(event,item=this,increment=-1,min=0,max=20)">
<i class="bi bi-dash"></i>
</button>
<input class="countInput form-control text-center" id="kitchenCount" type="text" aria-labelledby="kitchenCountLabel" value="1" name="v4" onchange="inputHasChanged()">
<button data-bs-autoclose="false" class="countUp input-group-text btn btn-primary" type="button" area-label="weniger Küchen" onclick="countUpDown(event,item=this,increment=1,min=0,max=20)">
<i class="bi bi-plus"></i>
</button>
</div>
</div>
<hr class="my-2">
<label class="col-xl-7 col-lg-6 col-md-7 col-6 d-flex align-items-center" id="v2Label">Bäder</label>
<div class="col-xl-5 col-lg-6 col-md-5 col-6 ">
<div class="input-group flex-nowrap col-6">
<button data-bs-autoclose="false" class="countDown input-group-text btn btn-primary" type="button" area-label="mehr bathCount" onclick="countUpDown(event,item=this,increment=-1,min=0,max=20)">
<i class="bi bi-dash"></i>
</button>
<input class="countInput form-control text-center" id="bathCount" type="text" aria-labelledby="bathCountLabel" value="1" name="v2" onchange="inputHasChanged()">
<button data-bs-autoclose="false" class="countUp input-group-text btn btn-primary" type="button" area-label="weniger Bäder" onclick="countUpDown(event,item=this,increment=1,min=0,max=20)">
<i class="bi bi-plus"></i>
</button>
</div>
</div>
<p class="col-xxl-7 col-lg-6 col-md-7 col-6 d-flex align-items-start mt-3"> Hast du Haustiere? </p>
<div class="col-xxl-5 col-lg-6 col-md-5 col-6 mt-3">
<div class="form-check">
<input class="form-check-input" type="checkbox" value="1" name="v13" id="v13">
<label class="form-check-label" for="v13">Hunde</label>
</div>
<div class="form-check">
<input class="form-check-input" type="checkbox" value="1" name="v14" id="v14">
<label class="form-check-label" for="v14">Katzen</label>
</div>
</div>
<button type="button" class="btn btn-primary w-100 mt-3" onclick="inputHasChanged()" aria-expanded="false" data-bs-toggle="collapse" data-bs-target="#dropdownObject">Fertig </button>
</div>
<script>
function inputHasChanged() {
let sqmCount = document.getElementById("sqmCount").value;
let roomCount = document.getElementById("roomCount").value;
let bathCount = document.getElementById("bathCount").value;
let kitchenCount = document.getElementById("kitchenCount").value;
let message = sqmCount
message += "m² (";
message += roomCount;
message += " Zimmer, ";
message += kitchenCount;
message += ((kitchenCount == 1) ? " Küche, " : " Küchen, ");
message += bathCount;
message += ((bathCount == 1) ? " Bad)" : " Bäder)");
document.getElementById("wasSummary").innerHTML = message;
}
function countUpDown(e, item, increment, min, max) {
e = e || window.event;
e.preventDefault();
let counter = item.parentElement.getElementsByClassName("countInput")[0];
let newCounter = parseInt(counter.value) + parseInt(increment);
let lowerLimit = min;
let upperLimit = max;
let minusButton = item.parentElement.getElementsByClassName("countDown")[0];
let plusButton = item.parentElement.getElementsByClassName("countUp")[0];
if (newCounter < upperLimit && newCounter > lowerLimit) {
counter.value = newCounter;
minusButton.classList.add("btn-primary");
minusButton.classList.remove("btn-outline-light");
plusButton.classList.add("btn-primary");
plusButton.classList.remove("btn-outline-light");
} else if (newCounter >= upperLimit) {
counter.value = upperLimit;
minusButton.classList.add("btn-primary");
minusButton.classList.remove("btn-outline-light");
plusButton.classList.add("btn-outline-light");
plusButton.classList.remove("btn-primary");
} else {
counter.value = lowerLimit;
minusButton.classList.add("btn-outline-light");
minusButton.classList.remove("btn-primary");
plusButton.classList.add("btn-primary");
plusButton.classList.remove("btn-outline-light");
}
inputHasChanged()
}
</script>
</div>
</div>
</div>
<div class="col-lg-3 col-12" style="height: 5em">
<input type="hidden" name="date_submit" value="1">
<button class=" btn btn-outline-light btn-lg w-100 h-100 text-primary fs-6 hover bg-light p-3" data-bs-auto-close="outside" type="button" data-bs-toggle="dropdown" data-bs-display="static" aria-expanded="true"> Wunschtermin<br><strong
class="text-primary" id="dateHint">flexibel</strong>
</button>
<div class="dropdown p-0" data-bs-autoclose="true">
<div class="dropdown-menu dropdown-menu-end dropdown-form p-0 m-0 w-100" id="dropdownDate" style="max-width: 100vh; min-width: 33em">
<input id="userHasSelectedDate" name="userHasSelectedDate" type="hidden" value="0">
<input id="userActivelySelectedFlexible" name="userActivelySelectedFlexible" type="hidden" value="0">
<div class="tab-content ">
<div class="col-12 mb-3 row justify-content-center my-3">
<div class="col-auto form-check form-switch my-0">
<input class="form-check-input col" id="flexSwitchCheckDefault" onchange="showHidePan(this)" role="switch" tabindex="-1" type="checkbox">
<label class="form-check-label col-auto" for="flexSwitchCheckDefault">Ich bin flexibel</label>
</div>
</div>
<div class="tab-pane active m-0 p-0" id="datepickerContainer" role="tabpanel" tabindex="0">
<input id="input_01" class="datepicker d-none picker__input" name="date" type="text" value="" data-value="2024-08-09" readonly="" aria-haspopup="true" aria-expanded="false" aria-readonly="false" aria-owns="input_01_root"><input
type="hidden" name="searchdate" value="2024-08-09" id="searchdate">
<div class="picker" id="input_01_root" aria-hidden="true">
<div class="picker__holder" tabindex="-1">
<div class="picker__frame">
<div class="picker__wrap">
<div class="picker__box">
<div class="picker__header">
<div class="picker__month">August</div>
<div class="picker__year">2024</div>
<div class="picker__nav--prev picker__nav--disabled" data-nav="-1" role="button" aria-controls="input_01_table" title="Vorheriger Monat"> </div>
<div class="picker__nav--next" data-nav="1" role="button" aria-controls="input_01_table" title="Nächster Monat"> </div>
</div>
<table class="picker__table" id="input_01_table" role="grid" aria-controls="input_01" aria-readonly="true">
<thead>
<tr>
<th class="picker__weekday" scope="col" title="Montag">Mo</th>
<th class="picker__weekday" scope="col" title="Dienstag">Di</th>
<th class="picker__weekday" scope="col" title="Mittwoch">Mi</th>
<th class="picker__weekday" scope="col" title="Donnerstag">Do</th>
<th class="picker__weekday" scope="col" title="Freitag">Fr</th>
<th class="picker__weekday" scope="col" title="Samstag">Sa</th>
<th class="picker__weekday" scope="col" title="Sonntag">So</th>
</tr>
</thead>
<tbody>
<tr>
<td role="presentation">
<div class="picker__day picker__day--outfocus picker__day--disabled" data-pick="1722204000000" role="gridcell" aria-label="29 Juli, 2024" aria-disabled="true">29</div>
</td>
<td role="presentation">
<div class="picker__day picker__day--outfocus picker__day--disabled" data-pick="1722290400000" role="gridcell" aria-label="30 Juli, 2024" aria-disabled="true">30</div>
</td>
<td role="presentation">
<div class="picker__day picker__day--outfocus picker__day--disabled" data-pick="1722376800000" role="gridcell" aria-label="31 Juli, 2024" aria-disabled="true">31</div>
</td>
<td role="presentation">
<div class="picker__day picker__day--infocus picker__day--disabled" data-pick="1722463200000" role="gridcell" aria-label="1 August, 2024" aria-disabled="true">1</div>
</td>
<td role="presentation">
<div class="picker__day picker__day--infocus picker__day--disabled" data-pick="1722549600000" role="gridcell" aria-label="2 August, 2024" aria-disabled="true">2</div>
</td>
<td role="presentation">
<div class="picker__day picker__day--infocus picker__day--disabled" data-pick="1722636000000" role="gridcell" aria-label="3 August, 2024" aria-disabled="true">3</div>
</td>
<td role="presentation">
<div class="picker__day picker__day--infocus picker__day--disabled" data-pick="1722722400000" role="gridcell" aria-label="4 August, 2024" aria-disabled="true">4</div>
</td>
</tr>
<tr>
<td role="presentation">
<div class="picker__day picker__day--infocus picker__day--disabled" data-pick="1722808800000" role="gridcell" aria-label="5 August, 2024" aria-disabled="true">5</div>
</td>
<td role="presentation">
<div class="picker__day picker__day--infocus picker__day--disabled" data-pick="1722895200000" role="gridcell" aria-label="6 August, 2024" aria-disabled="true">6</div>
</td>
<td role="presentation">
<div class="picker__day picker__day--infocus picker__day--disabled" data-pick="1722981600000" role="gridcell" aria-label="7 August, 2024" aria-disabled="true">7</div>
</td>
<td role="presentation">
<div class="picker__day picker__day--infocus picker__day--today picker__day--disabled" data-pick="1723068000000" role="gridcell" aria-label="8 August, 2024" aria-disabled="true">8</div>
</td>
<td role="presentation">
<div class="picker__day picker__day--infocus picker__day--selected picker__day--highlighted" data-pick="1723154400000" role="gridcell" aria-label="9 August, 2024" aria-activedescendant="true">9</div>
</td>
<td role="presentation">
<div class="picker__day picker__day--infocus" data-pick="1723240800000" role="gridcell" aria-label="10 August, 2024">10</div>
</td>
<td role="presentation">
<div class="picker__day picker__day--infocus" data-pick="1723327200000" role="gridcell" aria-label="11 August, 2024">11</div>
</td>
</tr>
<tr>
<td role="presentation">
<div class="picker__day picker__day--infocus" data-pick="1723413600000" role="gridcell" aria-label="12 August, 2024">12</div>
</td>
<td role="presentation">
<div class="picker__day picker__day--infocus" data-pick="1723500000000" role="gridcell" aria-label="13 August, 2024">13</div>
</td>
<td role="presentation">
<div class="picker__day picker__day--infocus" data-pick="1723586400000" role="gridcell" aria-label="14 August, 2024">14</div>
</td>
<td role="presentation">
<div class="picker__day picker__day--infocus" data-pick="1723672800000" role="gridcell" aria-label="15 August, 2024">15</div>
</td>
<td role="presentation">
<div class="picker__day picker__day--infocus" data-pick="1723759200000" role="gridcell" aria-label="16 August, 2024">16</div>
</td>
<td role="presentation">
<div class="picker__day picker__day--infocus" data-pick="1723845600000" role="gridcell" aria-label="17 August, 2024">17</div>
</td>
<td role="presentation">
<div class="picker__day picker__day--infocus" data-pick="1723932000000" role="gridcell" aria-label="18 August, 2024">18</div>
</td>
</tr>
<tr>
<td role="presentation">
<div class="picker__day picker__day--infocus" data-pick="1724018400000" role="gridcell" aria-label="19 August, 2024">19</div>
</td>
<td role="presentation">
<div class="picker__day picker__day--infocus" data-pick="1724104800000" role="gridcell" aria-label="20 August, 2024">20</div>
</td>
<td role="presentation">
<div class="picker__day picker__day--infocus" data-pick="1724191200000" role="gridcell" aria-label="21 August, 2024">21</div>
</td>
<td role="presentation">
<div class="picker__day picker__day--infocus" data-pick="1724277600000" role="gridcell" aria-label="22 August, 2024">22</div>
</td>
<td role="presentation">
<div class="picker__day picker__day--infocus" data-pick="1724364000000" role="gridcell" aria-label="23 August, 2024">23</div>
</td>
<td role="presentation">
<div class="picker__day picker__day--infocus" data-pick="1724450400000" role="gridcell" aria-label="24 August, 2024">24</div>
</td>
<td role="presentation">
<div class="picker__day picker__day--infocus" data-pick="1724536800000" role="gridcell" aria-label="25 August, 2024">25</div>
</td>
</tr>
<tr>
<td role="presentation">
<div class="picker__day picker__day--infocus" data-pick="1724623200000" role="gridcell" aria-label="26 August, 2024">26</div>
</td>
<td role="presentation">
<div class="picker__day picker__day--infocus" data-pick="1724709600000" role="gridcell" aria-label="27 August, 2024">27</div>
</td>
<td role="presentation">
<div class="picker__day picker__day--infocus" data-pick="1724796000000" role="gridcell" aria-label="28 August, 2024">28</div>
</td>
<td role="presentation">
<div class="picker__day picker__day--infocus" data-pick="1724882400000" role="gridcell" aria-label="29 August, 2024">29</div>
</td>
<td role="presentation">
<div class="picker__day picker__day--infocus" data-pick="1724968800000" role="gridcell" aria-label="30 August, 2024">30</div>
</td>
<td role="presentation">
<div class="picker__day picker__day--infocus" data-pick="1725055200000" role="gridcell" aria-label="31 August, 2024">31</div>
</td>
<td role="presentation">
<div class="picker__day picker__day--outfocus" data-pick="1725141600000" role="gridcell" aria-label="1 September, 2024">1</div>
</td>
</tr>
<tr>
<td role="presentation">
<div class="picker__day picker__day--outfocus" data-pick="1725228000000" role="gridcell" aria-label="2 September, 2024">2</div>
</td>
<td role="presentation">
<div class="picker__day picker__day--outfocus" data-pick="1725314400000" role="gridcell" aria-label="3 September, 2024">3</div>
</td>
<td role="presentation">
<div class="picker__day picker__day--outfocus" data-pick="1725400800000" role="gridcell" aria-label="4 September, 2024">4</div>
</td>
<td role="presentation">
<div class="picker__day picker__day--outfocus" data-pick="1725487200000" role="gridcell" aria-label="5 September, 2024">5</div>
</td>
<td role="presentation">
<div class="picker__day picker__day--outfocus" data-pick="1725573600000" role="gridcell" aria-label="6 September, 2024">6</div>
</td>
<td role="presentation">
<div class="picker__day picker__day--outfocus" data-pick="1725660000000" role="gridcell" aria-label="7 September, 2024">7</div>
</td>
<td role="presentation">
<div class="picker__day picker__day--outfocus" data-pick="1725746400000" role="gridcell" aria-label="8 September, 2024">8</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="tab-pane alert p-1 pt-3 m-3" id="profile-tab-pane" role="tabpanel" tabindex="0">
<h5 class="text-muted text-center"> Mit der flexiblen Suche hast du die größtmögliche Auswahl an Reinigungskräften </h5>
</div>
</div>
<div class="row align-items-stretch align-items-center d-flex g-1 pb-0 mb-0 align-text-bottom p-3">
<div class="col-6 col-lg-3">
<input type="radio" class="btn-check" name="repeat_every_x_weeks" value="0" onclick="dateHasChanged()" id="option1" checked="">
<label class="btn btn-sm btn-outline-primary rounded-pill h-100 d-flex flex-column text-center" for="option1">Einmalig</label>
</div>
<div class="col-6 col-lg-3">
<input type="radio" class="btn-check btn-outline-check " value="1" onclick="dateHasChanged()" name="repeat_every_x_weeks" id="option2">
<label class="btn btn-sm btn-outline-primary rounded-pill h-100 d-flex flex-column" for="option2">Wöchentlich</label>
</div>
<div class="col-6 col-lg-3">
<input type="radio" class="btn-check btn-outline-check" onclick="dateHasChanged()" value="2" name="repeat_every_x_weeks" id="option3">
<label class="btn btn-sm btn-outline-primary rounded-pill h-100 d-flex flex-column text-center" for="option3">Alle 2 Wochen</label>
</div>
<div class="col-6 col-lg-3">
<input type="radio" class="btn-check m-1 p-1" name="repeat_every_x_weeks" onclick="dateHasChanged()" value="4" id="option4">
<label class="btn btn-sm btn-outline-primary rounded-pill h-100 d-flex flex-column text-center" for="option4">Alle 4 Wochen</label>
</div>
</div>
<div class="row g-1 mt-0 p-3">
<button type="button" class="btn btn-primary w-100" onclick="inputHasChanged()" aria-expanded="false" data-bs-toggle="collapse" data-bs-auto-close="outside" data-bs-target="#dropdownDate">Fertig </button>
</div>
<link href="/assets/css/A.default.date.css.pagespeed.cf.A-reLm1IO7.css" rel="stylesheet">
<style>
div.picker__holder {
outline: none
}
</style>
<script>
document.addEventListener('DOMContentLoaded', function() {
var today = new Date();
var dd = today.getDate();
var mm = today.getMonth() + 1;
var yyyy = today.getFullYear();
if (dd < 10) {
dd = '0' + dd;
}
if (mm < 10) {
mm = '0' + mm;
}
today = dd + '/' + mm + '/' + yyyy;
var $input = $('.datepicker').pickadate({
formatSubmit: 'yyyy-mm-dd',
container: '#datepickerContainer',
closeOnSelect: false,
closeOnClear: false,
firstDay: 1,
monthsFull: ['Januar', 'Februar', 'März', 'April', 'Mai', 'Juni', 'Juli', 'August', 'September', 'Oktober', 'November', 'Dezember'],
monthsShort: ['Jan', 'Feb', 'Mär', 'Apr', 'Mai', 'Jun', 'Jul', 'Aug', 'Sep', 'Okt', 'Nov', 'Dez'],
weekdaysFull: ['Sonntag', 'Montag', 'Dienstag', 'Mittwoch', 'Donnerstag', 'Freitag', 'Samstag'],
weekdaysShort: ['So', 'Mo', 'Di', 'Mi', 'Do', 'Fr', 'Sa'],
today: false,
clear: false,
close: false,
min: [2024, 7, 09],
max: +90,
hiddenName: "",
hiddenPrefix: "search",
hiddenSuffix: "",
containerHidden: undefined,
labelMonthNext: 'Nächster Monat',
labelMonthPrev: 'Vorheriger Monat',
labelMonthSelect: 'Monat auswählen',
labelYearSelect: 'Jahr auswählen',
onSet: function() {
$('#userHasSelectedDate')[0].value = "1";
dateHasChanged();
},
})
document.getElementsByName('searchdate')[0].id = 'searchdate';
});
inputHasChanged();
</script>
<script type="text/javascript"></script>
<script>
function humanReadableDate(dateString) {
// Map of German month names to English
const germanToEnglishMonths = {
'Januar': 'January',
'Februar': 'February',
'März': 'March',
'April': 'April',
'Mai': 'May',
'Juni': 'June',
'Juli': 'July',
'August': 'August',
'September': 'September',
'Oktober': 'October',
'November': 'November',
'Dezember': 'December'
};
// Replace German month name with English equivalent
Object.keys(germanToEnglishMonths).forEach(month => {
if (dateString.includes(month)) {
dateString = dateString.replace(month, germanToEnglishMonths[month]);
}
});
// Create a Date object from the date string.
let date = new Date(dateString);
let freq = $("input[name='repeat_every_x_weeks']:radio:checked")[0].value;
// Get the date in a human-readable format.
if (freq == "0") {
let formattedDate = date.toLocaleDateString("de-DE", {
weekday: "long",
day: "numeric",
month: "short",
})
return formattedDate;
}
if (freq == "1") {
let formattedDate = date.toLocaleDateString("de-DE", {
day: "numeric",
month: "numeric",
});
let formattedDay = date.toLocaleDateString("de-DE", {
weekday: "long",
});
return "jeden " + formattedDay + " ab " + formattedDate;
}
if (freq == "2") {
let formattedDate = date.toLocaleDateString("de-DE", {
day: "numeric",
month: "numeric",
});
let formattedDay = date.toLocaleDateString("de-DE", {
weekday: "long",
});
return "jeden 2. " + formattedDay + " ab " + formattedDate;
}
if (freq == "4") {
let formattedDate = date.toLocaleDateString("de-DE", {
day: "numeric",
month: "numeric",
});
let formattedDay = date.toLocaleDateString("de-DE", {
weekday: "long",
});
return "jeden 4. " + formattedDay + " ab " + formattedDate;
}
//formattedDate = formattedDate.replace(",", "");
// Return the day of the week and date string.
return dateString;
} //frontend
function dateHasChanged() {
if ($('#userHasSelectedDate')[0].value === "0" || $('#userHasSelectedDate')[0].value === null || $('#searchdate')[0].value === "") {
var searchdate = flexibleMessage();
} else {
var searchdate = humanReadableDate($('#searchdate')[0].value);
}
if ($('#dateHint')[0].innerHTML != searchdate) $('#dateHint')[0].innerHTML = searchdate;
//updates date string that is shown to user
} //frontend
function flexibleMessage() {
var freq = $("input[name='repeat_every_x_weeks']:radio:checked")[0].value;
if (freq == "1") {
return "wöchentlich";
} else if (freq == "2") {
return "alle 2 Wochen";
} else if (freq == "4") {
return "alle 4 Wochen";
} else {
return "flexibel";
}
} //frontend
function isValidDateFormat(value) {
const regex = /^\d{4}-\d{2}-\d{2}$/;
return regex.test(value);
}
function showHidePan(checkbox) {
let firstPane = document.getElementById('profile-tab-pane');
let secondPane = document.getElementById('datepickerContainer');
if (checkbox.checked) {
firstPane.style.display = "block";
secondPane.style.display = "none";
//$('#searchdate')[0].value = 0;// => flexible date by user selection
$('#dateHint')[0].innerHTML = flexibleMessage();
$('#userHasSelectedDate')[0].value = "0";
$('#userActivelySelectedFlexible')[0].value = "1";
} else {
firstPane.style.display = "none";
secondPane.style.display = "block";
$('#dateHint')[0].innerHTML = humanReadableDate($('#searchdate')[0].value);
$('#userHasSelectedDate')[0].value = "1";
$('#userActivelySelectedFlexible')[0].value = "0";
}
} //backend
</script>
</div>
</div>
</div>
<div class="col-lg-2 col-12" style="height: 5em">
<button class="fs-6 h-100 w-100 fw-bold btn btn-secondary rounded-pill text-light" id="callToAction" onclick="" type="submit"> Los geht's </button>
</div>
</form>
Text Content
* Magazin * FAQ * Über uns * Kontakt * Zuhause * Büro * Reinigungen ▾ * Häufig gebucht * Intensivreinigung * Umzugsreinigung * Fensterreinigung * Büroreinigung * FeWo-Reinigung * ExtraSauber Home * -------------------------------------------------------------------------------- * Weitere Spezialreinigungen * Angebot für Betreuungsdienste * Baureinigung * Brandreinigung * Dachreinigung * Desinfektionsreinigung * Entkalkung * Ersatzpersonal * Fahrzeugreinigung * Fassadenreinigung * Frühjahrsputz * Gartenarbeiten * Gehwegreinigung und Winterdienst * Graffitientfernung * Haushaltsauflösung und Entrümpelung * Industriereinigung * Jalousienreinigung * Kita-Reinigung * Küchenhilfe * Lüftungsreinigung * Messestand-Reinigung * Messie-Reinigung * Multi-Reinigung * Ordinations-Reinigung * Polsterreinigung * Poolreinigung * Rolltreppen-Reinigung * Rohrreinigung * Saunareinigung * Schädlingsbekämpfung * Schimmelentfernung * Schwimmbad-Reinigung * Servicekräfte * Solarreinigung * Spülkräfte * Steinreinigung * Stiegenhaus-Reinigung * Tatortreinigung * Teppichreinigung * Tiefgaragenreinigung * Tierhaarentfernung * Winter- und Sommergärten * -------------------------------------------------------------------------------- * Übersicht aller Spezialreinigungen Partner werden Login * Deutschland * Schweiz REINIGUNGEN EINFACH ONLINE BUCHEN * Haftpflichtversichert und auf Rechnung * Einfacher Buchungsprozess * Spontane Verfügbarkeit Wo soll gereinigt werden? (Postleitzahl) Was soll gereinigt werden? 60m² (2 Zimmer, 1 Küche, 1 Bad) ExtraSauber Home Gönne dir ein glänzendes Zuhause * Intensivreinigung Die Power-Reinigung für dein Zuhause * Umzugsreinigung Bei Umzug oder Mieterwechsel * Fensterreinigung Für den perfekten Ausblick * ExtraSauber Office Einfach sauber arbeiten * FeWo-Reinigung Reinigung von Fremdenzimmern, Ferienhäusern und Ferienwohnungen * Übersicht aller Spezialreinigungen Fläche in m² -------------------------------------------------------------------------------- Zimmer -------------------------------------------------------------------------------- Küchen -------------------------------------------------------------------------------- Bäder Hast du Haustiere? Hunde Katzen Fertig Wunschtermin flexibel Ich bin flexibel August 2024 MoDiMiDoFrSaSo 29 30 31 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 1 2 3 4 5 6 7 8 MIT DER FLEXIBLEN SUCHE HAST DU DIE GRÖSSTMÖGLICHE AUSWAHL AN REINIGUNGSKRÄFTEN Einmalig Wöchentlich Alle 2 Wochen Alle 4 Wochen Fertig Los geht's ODER WÄHLE EINE SPEZIALREINIGUNG: Büroreinigung Umzugsreinigung Fensterreinigung Intensivreinigung FeWo-Reinigung alle Spezialreinigungen DIESE UNTERNEHMEN BUCHEN BEI UNS: EXTRASAUBER HOME Jeder hat Besseres zu tun als Putzen – wissen wir! Lehne dich entspannt zurück, während unsere Putzprofis deine Wohnung in ein Zuhause zum Wohlfühlen verwandeln. Mehr erfahren EXTRASAUBER OFFICE Deine persönliche Reinigungscrew sorgt für einen sauberen Start in den Arbeitstag. Damit du und dein Team jeden Morgen wieder voll auf Erfolgskurs sein könnt. Mehr erfahren MACH SAUBER WAS DU WILLST Wähle aus über 40 Spezialreinigungen die richtige für dich aus - vom Keller bis zum Dach, von Privat bis Industrie. Mehr erfahren DEINE VORTEILE MIT EXTRASAUBER * Angemeldete Reinigungskräfte – schnell und spontan verfügbar * Unkomplizierter Buchungsprozess * Reinigungstermine jederzeit verschieben oder stornieren * Jede Reinigungskraft mit Foto und Profil – vergleiche Sterne - und Kundenbewertungen, Zuverlässigkeit, Pünktlichkeit und Qualität * Haftpflichtversicherung bis 5 Millionen Euro Jetzt buchen UNSERE WERTE KLIMABEITRAG FÜR EINEN BESSEREN PLANETEN Mit jeder Reinigung unterstützt du Klimaprojekte weltweit – für eine bessere Zukunft und einen sauberen Planeten. WERTSCHÄTZUNG FÜR REINIGUNGSKRÄFTE ExtraSauber setzt ein klares Zeichen gegen Schwarzarbeit und Dumping-Preise im Reinigungsgewerbe. VERANTWORTUNG FÜR MENSCH & UMWELT Hinter ExtraSauber stecken Menschen. Deshalb setzen wir uns für gute Arbeitsbedingungen, Gesundheitsschutz und Nachhaltigkeit ein. EXTRASAUBER IST EXTRA FAIR Bei uns werden Reinigungskräfte fair bezahlt. Ein gutes Gefühl für dich und deine Reinigungskraft. > „Reinigen ist ein Knochenjob, der in unserer Gesellschaft kaum Anerkennung > bekommt – sowohl finanziell als auch immateriell. Durch ExtraSauber sollen > Reinigungskräfte mehr Wertschätzung erfahren und unter guten > Arbeitsbedingungen ein Einkommen nach ihren Vorstellungen erwirtschaften > können. Dafür setzen wir uns ein.“ Christian Pauls & Dr. Sebastian Schneider Gründer von ExtraSauber Mehr erfahren UNSERE SPEZIALGEBIETE Für dein Zuhause * Intensivreinigung * Fensterreinigung * Wintergartenreinigung * Stiegenhausreinigung * Poolreinigung Für dein Unternehmen * Büroreinigung * Industriereinigung * Ordinationsreinigung * FeWo-Reinigung * Messestand-Reinigung Fürs Grobe * Baureinigung * Messie-Reinigung * Entrümpelung * Steinreinigung * Schimmelentfernung Fürs Feine * Polsterreinigung * Teppichreinigung * Tierhaarentfernung SAUBERMACHEN VON UNTERWEGS: DIE EXTRASAUBER-APP! Mit der kostenlosen ExtraSauber-App kannst du schnell und einfach deine Reinigungen auf dem Tablet oder Smartphone organisieren. KOSTENLOS FÜR IOS UND ANDROID. EXTRASAUBER IN DEN MEDIEN * Buchen und mehr * Reinigung buchen * Reinigungsarten * Reinigungsstandard * Geschenkgutscheine * Magazin * FAQ * Suchalgorithmus * Für Kommunen * Infrastrukturelles Gebäudemanagement * Für Reinigungsfirmen * Vorteile für Reinigungsfirmen * Partner werden * Online-Support * ExtraSauber vor Ort * Werte * Nachhaltigkeit * Umweltschutz * Fairness * Zahlungsmethoden * Rechnung * Lastschrift * Kreditkarte image/svg+xml * Über Extrasauber * Kontakt * Über uns * Karriere * Presse * Affiliate-Partnerprogramm Du kannst in folgenden Städten und Umgebung Reinigungskräfte buchen: Bregenz und Dornbirn Graz Innsbruck Linz Salzburg Wien Augsburg Berlin Düsseldorf Frankfurt am Main Hamburg Heidelberg Köln Ludwigshafen Mannheim München Nürnberg Stuttgart Basel Bern Zürich Diese Reinigungsarten kannst du buchen: Reinigung für zu Hause Reinigung von Büros Fensterreinigung Reinigung von Stiegenhäusern Industriereinigung Intensivreinigung Lüftungsreinigung Desinfektionsreinigung Umzugsreinigung Baureinigung Betreuungsreinigung Messestand-Reinigung Messiereinigung Multireinigung Poolreinigung Tierhaarentfernung Tiefgaragenreinigung Fahrzeugreinigung FeWo-Reinigung Glasreinigung für Winter/Sommergärten Gartenarbeiten Ordinationsreinigung Steinreinigung Rohrreinigung Graffiti-Entfernung Dachreinigung Haushaltsauflösung und Entrümpelung Schimmelentfernung Fassadenreinigung Kita-Reinigung Teppichreinigung Polsterreinigung Gehwegreinigung und Winterdienst Tatortreinigung Ersatzpersonal ExtraSauber AGB | Mangopay AGB | Datenschutz | Widerrufsrecht | Impressum