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

Form analysis 1 forms found in the DOM

POST /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&nbsp;Zimmer, 1&nbsp;Küche, 1&nbsp;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>Intensiv­reinigung</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>Umzugs­reinigung</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>Fenster­reinigung</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 += "&nbsp;Zimmer, ";
            message += kitchenCount;
            message += ((kitchenCount == 1) ? "&nbsp;Küche, " : "&nbsp;Küchen, ");
            message += bathCount;
            message += ((bathCount == 1) ? "&nbsp;Bad)" : "&nbsp;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
    * Tiefgaragen­reinigung
    * 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
 * Intensiv­reinigung
   Die Power-Reinigung für dein Zuhause
 * Umzugs­reinigung
   Bei Umzug oder Mieterwechsel
 * Fenster­reinigung
   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


KLIMA­BEITRAG FÜR EINEN BESSEREN PLANETEN

Mit jeder Reinigung unterstützt du Klimaprojekte weltweit – für eine bessere
Zukunft und einen sauberen Planeten.


WERT­SCHÄTZUNG FÜR REINIGUNGS­KRÄFTE

ExtraSauber setzt ein klares Zeichen gegen Schwarzarbeit und Dumping-Preise im
Reinigungs­gewerbe.


VER­ANT­WORTUNG FÜR MENSCH & UMWELT

Hinter ExtraSauber stecken Menschen. Deshalb setzen wir uns für gute
Arbeits­bedingungen, Gesundheits­schutz und Nachhaltig­keit ein.


EXTRASAUBER IST EXTRA FAIR

Bei uns werden Reinigungs­kräfte fair bezahlt. Ein gutes Gefühl für dich und
deine Reinigungs­kraft.




> „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
 * Reinigungs­standard
 * Geschenk­gutscheine
 * Magazin
 * FAQ
 * Suchalgorithmus

 * Für Kommunen
 * Infrastrukturelles Gebäudemanagement

 * Für Reinigungs­firmen
 * Vorteile für Reinigungs­firmen
 * Partner werden
 * Online-Support
 * ExtraSauber vor Ort

 * Werte
 * Nachhaltigkeit
 * Umweltschutz
 * Fairness

 * Zahlungs­methoden
 * 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