Lädt …

Fischer Premium Hausbetreuung
Fischer Cockpit

Persönlich betreut.
Digital verbunden.

Ihr Zugang zu Einsätzen, Objekten und Dokumenten. Alles an einem Ort – mit der Sorgfalt, die Fischer ausmacht.

WILDER KAISER · KITZBÜHEL
Fischer Premium Hausbetreuung
Fischer Cockpit

Persönlich betreut.
Digital verbunden.

Ihr Zugang zu Einsätzen, Objekten und Dokumenten. Alles an einem Ort – mit der Sorgfalt, die Fischer ausmacht.

WILDER KAISER · KITZBÜHEL

Lade dein Profil …

Fischer Premium / Ihr CockpitZur Website ↗
Nicht eingestempelt Schicht starten um Arbeitszeit zu erfassen
{{ sessionTypeLabel(activeSession.type) }} läuft seit {{ time(activeSession.started_at) }} · 📍 GPS aktivGPS aus
{{ sessionTimer }}
📍 {{ sessionPings }} Pings 📏 {{ formatDistance(sessionDistanceM) }} ⚠ {{ gpsError }}
⏸ Pause läuft — seit {{ time(activeBreak.started_at) }}
Protokollierte Stopps ({{ sessionWaypoints.length }})
{{ w.objects?.name || 'Ohne Objekt' }} · {{ w.category }} · {{ time(w.visited_at) }}
{{ w.notes }}
Lade Einsätze…
Keine Einsätze {{ staffTab==='jobs' ? 'heute' : 'in den nächsten Tagen' }}.
{{ job.objects.name }}
{{ unitSummary(job.unit_numbers) }}
{{ job.objects.address }}
{{ statusLabel(job.status) }}
📅 {{ formatDate(job.scheduled_date) }} · 🕘 {{ job.scheduled_time.slice(0, 5) }} · ✅ {{ job.task_progress }}
Keine Aufgaben in dieser Ansicht. 🎉
{{ t.title }} {{ priorityLabel(t.priority) }}
📅 {{ formatDate(t.due_date) }} · {{ t.due_time.slice(0,5) }} · 🏢 {{ t.companies.name }} · 🏠 {{ t.objects.name }}

{{ t.description.slice(0, 200) }}…

Einsatz läuft {{ liveTimer }}
Live

Checkliste

{{ checklistDone }}/{{ checklist.length }}
Keine Aufgaben definiert.
{{ task.title }} {{ task.description }}

Fotos

{{ jobPhotos.length }}
{{ p.type }}

Aktionen

Bekannte Auffälligkeiten

{{ i.description }}

{{ pendingObjectChanges.length }} Objektanfrage(n) warten auf Freigabe

Heute geplant
{{ todayPlanned }} Einsätze
{{ todayCompleted }} abgeschlossen, {{ todayInProgress }} in Arbeit
Aktive Objekte
{{ objects.filter(o => o.active).length }}
Offene Meldungen
{{ openIssuesCount }}
Neue Anfragen
{{ newRequestsCount }}

Heute live

Niemand aktiv im Einsatz.
{{ initials(job.profiles?.full_name) }}
{{ job.profiles?.full_name || '—' }} {{ job.objects.name }} · seit {{ time(job.started_at) }}
In Arbeit

Letzte Aktivität

Keine Aktivität.
{{ a.title }} {{ a.subtitle }}

Alle Aufträge

Klick eine Zeile zum Bearbeiten oder Verschieben.

Aufträge per Drag & Drop verschieben. Klick auf einen Auftrag zum Bearbeiten. Farben markieren die Mitarbeiter.

{{ filteredCleaningsList.length }} von {{ cleanings.length }} Aufträgen · Filter gelten für Liste und Kalender.

DatumObjektMitarbeiterDauerAufgabenLeistungskostenEinsatzAbrechnung
{{ formatDate(historyDate(c)) }}bis {{formatDate(c.window_end_date)}}
{{ c.objects?.name || '—' }}{{ c.objects?.address || '' }}
{{ unitSummary(c.unit_numbers) }}
{{ c.job_category === 'Reinigung' ? '🧹' : c.job_category === 'Gartenarbeit' ? '🌿' : c.job_category === 'Reparatur' ? '🔧' : c.job_category === 'Kontrolle' ? '👁' : '📝' }} {{ c.job_category === 'Sonstiges' && c.job_category_custom ? c.job_category_custom : c.job_category }}
{{ cleaningStaffName(c) }} {{ executionDuration(c) }}{{ cleaningWorkLabel(c) }} {{ c.task_progress || '—' }}{{ executionCostLabel(c) }}€ {{ formatMoney(c._cost.gross) }} brutto ({{ c._cost.vat_rate }} % USt)Gesamte Rechnung {{ c._cost.invoice.reference }}: € {{ formatMoney(c._cost.invoice.gross) }} brutto · bezahlt: € {{ formatMoney(c._cost.invoice.paid || 0) }}
Leistungen anzeigen
{{ line.activity || 'Leistung' }}

{{ line.description }}

{{ line.kind === 'material' ? 'Material' : line.flat ? 'Pauschale' : line.minutes+' Min · '+(line.hourly_rate==null ? 'Stundensatz fehlt' : '€ '+formatMoney(line.hourly_rate)+' / Std') }}
{{ line.net==null ? 'Preis noch offen' : '€ '+formatMoney(line.net)+' netto' }}
{{ statusLabel(c.status) }}{{ executionCaptureLabel(c) }} {{ billingLabel(c) }}{{ c._summary.invoice_reference }}
Keine Aufträge für diese Filterauswahl.

Offene Meldungen

Klick auf eine Meldung um Details, Antworten und Status zu bearbeiten.

Keine offenen Meldungen.
{{ i.description }} {{ i.objects?.name }} · {{ i.profiles?.full_name }}
Deine Antwort {{ i.boss_reply }}
{{ relativeTime(i.boss_reply_at) }}

Erledigt & weitergeleitet

Klick auf eine Meldung um Details zu sehen oder wieder zu öffnen.

{{ i.description }} {{ i.objects?.name }} · {{ i.status === 'forwarded' ? 'weitergeleitet' : 'erledigt' }}

Kunden-Anfragen

Klick auf eine Anfrage für Details, Antworten und Auftrag daraus erzeugen.

Keine neuen Anfragen.
{{ r.category }} – {{ r.companies?.name }} {{ r.objects?.name || 'Allgemein' }} · Wunschtermin: {{ r.preferred_date ? formatDate(r.preferred_date) : '—' }} · {{ urgencyLabel(r.urgency) }} {{ unitSummary(r.unit_numbers) }}

{{ r.description }}

In Bearbeitung & abgeschlossen

Klick auf eine Anfrage um Details zu sehen oder zu bearbeiten.

{{ r.category }} {{ r.companies?.name }} · {{ requestStatusLabel(r.status) }} {{ unitSummary(r.unit_numbers) }}

Objektanfragen · {{ pendingObjectChanges.length }} offen

Erst deine ausdrückliche Freigabe übernimmt beantragte Änderungen ins System.

{{ objectChangesError }}

Keine offenen Objektanfragen.

Bereits entschiedene Anfragen

{{ r.companies?.name }} · {{ r.proposed.name || r.previous?.name }} · {{ objectChangeStatus(r.status) }} · {{ r.response }}

Alle Objekte

Klick eine Zeile, um Stammdaten, Checkliste und Einsatz-Historie zu sehen.

ObjektVerwaltungEinheitenStatus
{{ o.name }}{{ o.address }}
{{ o.companies?.name || '—' }} {{ o.units || '—' }} {{ o.active ? 'Aktiv' : 'Inaktiv' }}

Öffentliche Kalkulator-Seite

Jeder kann unverbindlich eine Kostenschätzung anfordern — ohne Login, nur mit Mailadresse.

Kalkulator-Seite öffnen

Link für deine Website: https://www.hausbetreuung-fischer.at/#kalkulator

Eingegangene Online-Anfragen

Noch keine Anfragen über den öffentlichen Kalkulator.
{{ i.contact_name || i.contact_email }}{{ i.company_name ? ' · ' + i.company_name : '' }} 📧 {{ i.contact_email }}{{ i.contact_phone ? ' · 📞 ' + i.contact_phone : '' }} € {{ formatMoney(i.estimated_gross) }} brutto geschätzt · Wunschtermin: {{ formatDate(i.preferred_date) }}
Anfrage-Details ({{ (i.items || []).length }} Position{{ (i.items || []).length === 1 ? '' : 'en' }})
  • {{ it.quantity }} × {{ it.name }} ({{ it.unit }}): € {{ formatMoney(it.net) }}

Anmerkung: {{ i.notes }}

Deine Antwort: {{ i.boss_reply }}

Aufgaben & ToDos

Keine Aufgaben in dieser Ansicht.
{{ t.title }} {{ priorityLabel(t.priority) }}
📅 {{ formatDate(t.due_date) }} · {{ t.due_time.slice(0,5) }} · 🏢 {{ t.companies.name }} · 🏠 {{ t.objects.name }} · 👤 {{ t.assignees.map(a => a.name).join(', ') }} In Arbeit

{{ t.description.slice(0, 200) }}…

Dokumentierte Einzelzeiten

Exakte Arbeitszeiten je Einsatz, einschließlich historischer Mitarbeiter ohne Cockpit-Zugang. Die Datums- und Mitarbeiterfilter unten gelten auch hier.

DatumKunde / ObjektMitarbeiterTätigkeitVon – BisArbeitszeit
{{ formatDate(t.entry_date) }}{{ t.objects?.companies?.name }}
{{ t.objects?.name || '—' }}
{{ t.staff_name || t.profiles?.full_name || '—' }}{{ t.activity }} {{ t.start_time?.slice(0,5) || '—' }} – {{ t.end_time?.slice(0,5) || '—' }}{{ formatDuration(Number(t.duration_minutes || 0) * 60) }}

Keine dokumentierten Einzelzeiten für diese Auswahl.

Summe: {{ formatDuration(filteredRecordedTimes.reduce((n,t) => n + Number(t.duration_minutes || 0) * 60, 0)) }}

Arbeitszeiten & GPS-Touren

Keine Sessions im gewählten Zeitraum.
DatumMitarbeiterTypStartEndeDauerPauseStoppsGPS
{{ formatDate(s.started_at) }} {{ s.staff_name }} {{ sessionTypeLabel(s.type) }} {{ time(s.started_at) }} {{ s.ended_at ? time(s.ended_at) : '— läuft' }} {{ formatDuration(s.duration_seconds - s.break_seconds) }} {{ formatDuration(s.break_seconds) }} — {{ s.waypoint_count }} 📍 {{ formatDistance(s.total_distance_m) }} —

Kunden & Hausverwaltungen

Klick eine Zeile zum Bearbeiten. Die Mailadresse wird für den Rechnungs-Versand verwendet.

NameAnsprechpartnerE-MailTelefonUIDObjekte
{{ c.name }} {{ c.contact_name || '—' }} {{ c.contact_email }} fehlt {{ c.contact_phone || '—' }} {{ c.uid_number || '—' }} {{ objects.filter(o => o.company_id === c.id).length }}
Kein Kunde für „{{ searchCompanies }}" gefunden.
Noch keine Kunden angelegt.

Team und Kundenzugänge

Klick eine Zeile zum Bearbeiten (Name, Rolle, Telefon, aktiv/inaktiv).

Kundenzugänge sehen die Objekte ihrer zugeordneten Verwaltung. Sie müssen nicht als Mitarbeiter angelegt werden.

NameE-MailRolleTelefonStatus
{{ p.full_name }} {{ p.email || '—' }} {{ roleLabel(p.role) }} {{ p.phone || '—' }} {{ p.active ? 'Aktiv' : 'Inaktiv' }}

Gelöschte Zugänge

Wiederherstellen aktiviert das bestehende Konto mit seiner bisherigen Rolle und Verwaltung. Es wird keine Einladung versendet.

Keine gelöschten Zugänge.

Name / E-MailRolleVerwaltung
{{ p.full_name }}
{{ p.email || '—' }}
{{ roleLabel(p.role) }} {{ companies.find(c => c.id === p.company_id)?.name || (p.company_id ? 'Verwaltung nicht verfügbar' : '—') }}

{{ restoreCandidate.full_name }} wieder aktivieren?

{{ restoreCandidate.email }} · {{ roleLabel(restoreCandidate.role) }} · {{ companies.find(c => c.id === restoreCandidate.company_id)?.name || 'Keine Verwaltung' }}

Dieses Konto erhält wieder Zugriff im Umfang der angezeigten Rolle und Verwaltung. Bestehende Objekte und Historie bleiben erhalten.

Offen
€ {{ formatMoney(outstandingTotal) }}
{{ openInvoicesCount }} Rechnungen
Überfällig
€ {{ formatMoney(overdueTotal) }}
{{ overdueInvoicesCount }} Rechnungen
Umsatz dieses Jahr
€ {{ formatMoney(yearRevenue) }}
Bezahlt dieses Jahr
€ {{ formatMoney(yearPaid) }}

Rechnungen

Nr.DatumKundeBetragFälligStatus
{{ inv.invoice_number }} {{ formatDate(inv.issue_date) }}
{{ inv.companies?.name }}{{ inv.objects?.name || '' }}
€ {{ formatMoney(inv.total_gross) }} {{ formatDate(inv.due_date) }}+{{ daysOverdue(inv) }} Tage {{ invoiceStatusLabel(inv) }}
Keine Rechnungen.

Angebote

Nr.DatumKundeBetreffBetragGültig bisStatus
{{ q.quote_number }} {{ formatDate(q.issue_date) }} {{ q.companies?.name }} {{ q.subject || '—' }} € {{ formatMoney(q.total_gross) }} {{ q.valid_until ? formatDate(q.valid_until) : '—' }} {{ quoteStatusLabel(q.status) }}
Keine Angebote.

Verträge & wiederkehrende Rechnungen

VertragKunde / ObjektFrequenzBetrag (netto)Nächste RechnungStatus
{{ c.name }}
{{ c.companies?.name }}{{ c.objects?.name || '' }}
{{ frequencyLabel(c.billing_frequency) }} € {{ formatMoney(c.monthly_amount_net) }} {{ formatDate(c.next_invoice_date) }}jetzt fällig {{ c.active ? 'Aktiv' : 'Pausiert' }}
Keine Verträge angelegt.

Leistungskatalog

CodeLeistungEinheitPreisUStFür Kunde sichtbar
{{ s.code || '—' }} {{ s.name }}{{ s.description }} {{ s.unit }} {{ servicePriceLabel(s) }} {{ s.vat_rate }} % {{ s.is_public ? 'Sichtbar' : 'Intern' }}
Noch keine Leistungen vorhanden.

Eingangsrechnungen

Foto oder PDF einer Eingangsrechnung hochladen — die KI liest Lieferant, Datum, Beträge und Konto automatisch aus.

Lade …
Keine Eingangsrechnungen in dieser Auswahl.
DatumLieferantRechnungs-NrKategorieBruttoUSt-SatzKontoStatusBeleg
{{ e.invoice_date ? formatDate(e.invoice_date) : '—' }} {{ e.vendor_name }}
{{ e.description.slice(0,80) }}
{{ e.invoice_number || '—' }} {{ e.category }} € {{ formatMoney(e.amount_gross) }} {{ e.vat_rate ? e.vat_rate + ' %' : '—' }} {{ e.bmd_account || '—' }} {{ e.status === 'paid' ? 'Bezahlt' : e.status === 'open' ? 'Offen' : e.status }} 📎 🤖
Summe € {{ formatMoney(expenses.reduce((s, e) => s + Number(e.amount_gross || 0), 0)) }}

Firmen-Stammdaten

Diese Daten erscheinen auf jedem Angebot und jeder Rechnung.

kein Logo

PNG, JPG oder SVG. Max 2 MB. Quadratisches oder rechteckiges Logo empfohlen.

Bankverbindung & Texte

Ihre Objekte

Neuanlagen, Änderungen und Löschungen werden erst nach Freigabe durch Hausbetreuung Fischer übernommen.

{{ objectChangesError }}

Ihre Objektanfragen ({{ pendingObjectChanges.length }} offen)
{{ objectChangeKind(r.kind) }} · {{ r.proposed.name || r.previous?.name }}{{ objectChangeStatus(r.status) }} · {{ formatDate(r.created_at) }}{{ r.response }}
Lade Ihre Objekte …

🏢 Ihr Zugang ist noch nicht mit einer Hausverwaltung verknüpft.

Bitte melden Sie sich beim Cockpit-Betreiber, damit Ihr Account einer Firma zugeordnet wird.

Es sind noch keine Objekte für {{ company?.name || 'Ihre Firma' }} hinterlegt.

Über „Neues Objekt anfragen“ können Sie ein Objekt zur Freigabe einreichen.

Aktiv

{{ o.address }}

Letzter Einsatz{{ o.lastCleaning || '—' }}
Nächster Einsatz{{ o.nextCleaning || '—' }}
Diesen Monat abgeschlossen{{ o.cleaningsThisMonth || 0 }} {{ o.cleaningsThisMonth === 1 ? 'Einsatz' : 'Einsätze' }}

Belegungen & Termine

Ihre Objekte: feste Aufenthalte und ausführbare Termine im gemeinsamen Kalender.

Kalender wird geladen …

{{customerCalendarError}}

{{ customerSelectedObject?.name || 'Termine & Einsätze' }}

{{ customerSelectedObject.address }}

{{ customerHistoryView==='upcoming' ? 'Heute und kommende Termine – der nächste zuerst. Stornierte Termine können über den Statusfilter eingeblendet werden.' : 'Vergangene und abgeschlossene Einsätze – der jüngste zuerst. Noch offene vergangene Termine sind am Status erkennbar.' }}

{{ customerHistoryView==='past' ? 'Bei abgeschlossenen Einsätzen zählt das Abschlussdatum, sonst der geplante Termin.' : 'Termine ohne feste Uhrzeit sind entsprechend gekennzeichnet.' }}

Einsätze werden geladen …

{{ customerDayGroups.length }} {{ customerDayGroups.length === 1 ? 'Position' : 'Positionen' }} gefunden · Arbeitszeiten je Objekt, Tag und Auftragsart summiert

{{ executionCostTotal(customerHistoryRows) }} · Kosten netto, zzgl. hinterlegter USt.

Keine geplanten Termine für diese Filter.

{{ c.scheduled_date < customerHistoryToday ? 'Laufendes Terminfenster' : 'Nächster Termin' }}{{ formatDate(c.scheduled_date) }}bis {{ formatDate(c.window_end_date) }}{{ c.scheduled_time ? c.scheduled_time.slice(0,5)+' Uhr' : 'Uhrzeit noch offen' }}

{{ c.objects?.name || 'Objekt' }}

{{ c.objects?.address }}

{{ c.job_category==='Sonstiges' ? c.job_category_custom || 'Sonstiges' : c.job_category || 'Reinigung' }}

{{ unitSummary(c.unit_numbers) }}

{{ statusLabel(c.status) }}
DatumObjektAuftragsartGesamtarbeitszeitAufgabenLeistungskostenEinsatzAbrechnung
{{ formatDate(c.date) }}Abgeschlossen
{{ c.objects?.name }}{{ c.objects?.address }}{{ unitSummary(c.unit_numbers) }}
{{ c.category }} {{ customerDayDuration(c) }} {{ c.task_progress }} {{ c.cost.complete ? '€ '+formatMoney(c.cost.net)+' netto' : 'Preis noch offen' }}
Leistungen anzeigen
{{ line.activity || 'Leistung' }}

{{ line.description }}

{{ line.kind === 'material' ? 'Material' : line.flat ? 'Pauschale' : line.minutes+' Min · '+(line.hourly_rate==null ? 'Stundensatz fehlt' : '€ '+formatMoney(line.hourly_rate)+' / Std') }}
{{ line.net==null ? 'Preis noch offen' : '€ '+formatMoney(line.net)+' netto' }}
{{ statusLabel(status) }}
{{ billingLabel(billing) }}{{ billing._summary.invoice_reference }}Gesamte Rechnung: € {{ formatMoney(billing._cost.invoice.gross) }} brutto · bezahlt: € {{ formatMoney(billing._cost.invoice.paid || 0) }}
Keine Einsätze für diese Filter gefunden.

Meldungen aus Ihren Objekten

Keine offenen Meldungen.
{{ i.description }} {{ i.objects?.name }} · {{ relativeTime(i.created_at) }}

Auftrag oder Auftrag mitteilen

Ihre letzten Anfragen

Noch keine Anfragen.
{{ r.category }} {{ relativeTime(r.created_at) }} · {{ requestStatusLabel(r.status) }} {{ unitSummary(r.unit_numbers) }}

{{ r.response }}

Notfall?

Bei Wasser-, Brand- oder Sicherheitsnotfällen rufen Sie direkt an.

+43 660 214 3801

Unsere Leistungen mit Preisen

Alle Preise zzgl. gesetzlicher Umsatzsteuer. Für Pauschal- und Vertragspreise gerne individuelles Angebot anfragen.

{{ s.name }}

{{ s.category }}

{{ s.description }}

{{ servicePriceLabel(s) }}
{{ s.pricing_type === 'percentage' ? 'USt entsprechend den Leistungen' : 'zzgl. ' + s.vat_rate + ' % USt' }}
Noch keine Leistungen veröffentlicht.

Kostenrechner

Wählen Sie aus, welche Leistungen Sie schätzen lassen möchten, geben Sie die Mengen ein und schicken Sie uns die Anfrage. Wir bestätigen oder schlagen einen Auftrag vor.

Leistungen auswählen

Aktuell sind keine Leistungen für die Selbstkalkulation freigeschaltet. Bitte verwenden Sie das Anfrage-Formular.
{{ s.name }} € {{ formatMoney(s.default_price) }} / {{ s.unit }} · zzgl. {{ s.vat_rate }} % USt

Ihre Schätzung

Noch keine Leistung ausgewählt.
{{ l.quantity }} × {{ l.name }} € {{ formatMoney(l.net) }}
+{{ calcSurcharge.percent }} % Aufschlag: € {{ formatMoney(calcSurcharge.net) }} netto
{{ calcSurcharge.reason }}
Netto€ {{ formatMoney(calcSubtotal) }}
USt€ {{ formatMoney(calcVat) }}
Gesamt brutto € {{ formatMoney(calcTotal) }}

Für die Prüfung des 24-Stunden-Vorlaufs erforderlich.

Weniger als 24 Stunden Vorlauf: +30 %. Samstag/Sonntag: +30 %. Treffen beide Gründe zu: zusammen +60 % auf den Grundpreis. Ohne konkreten Termin wird ein möglicher Aufschlag erst nach Klärung berücksichtigt.

💡 Hinweis

Die hier angezeigte Summe ist eine Schätzung. Nach Eingang Ihrer Anfrage prüfen wir die tatsächlichen Gegebenheiten vor Ort und senden Ihnen ggf. ein verbindliches Angebot zu.

Ihre Rechnungen

Klicken Sie auf eine Zeile, um die Rechnung als PDF herunterzuladen.

Nr.DatumBetreffBetragFälligStatus
{{ inv.invoice_number }} {{ formatDate(inv.issue_date) }} {{ inv.subject || inv.objects?.name || '—' }} € {{ formatMoney(inv.total_gross) }} {{ formatDate(inv.due_date) }} {{ invoiceStatusLabel(inv) }}
Noch keine Rechnungen vorhanden.

Winterdienst-Protokoll

Alle dokumentierten Räum-/Streueinsätze auf Ihren Objekten. Jeder Einsatz mit Mitarbeiter, Uhrzeit, GPS-Position und Foto-Nachweis — wichtig für Versicherung bei Sturzschäden.

Lade Einsätze …
Im gewählten Zeitraum wurden keine Winterdienst-Einsätze dokumentiert.
{{ wp.object_name }} {{ wp.category || 'Einsatz' }}
👤 {{ wp.staff_name || '—' }} · 📅 {{ formatDate(wp.visited_at) }} um {{ time(wp.visited_at) }} · 📍 {{ Number(wp.lat).toFixed(5) }}, {{ Number(wp.lng).toFixed(5) }}

{{ wp.notes }}

Aufgaben rund um Ihre Objekte

Übersicht aller geplanten und laufenden Arbeiten zu Ihrer Liegenschaft.

Keine Aufgaben in dieser Ansicht.
●
{{ t.title }} {{ taskStatusLabel(t.status) }}
📅 Fällig: {{ formatDate(t.due_date) }} · 🏠 {{ t.objects.name }}

{{ t.description }}

{{ toast.text }}