Skip to content

Platby

Přehled plateb

Cesta: /PaymentLogs
Komponenta: src/pages/PaymentLogs.jsx

Přehled všech platebních záznamů v systému.

Funkce:

  • Filtrování podle klienta, platební metody a stavu
  • Výběr období — týden / měsíc / rok / vlastní rozsah, s posunem šipkami (nové)
  • Statistiky: celkové tržby, průměrná platba, počet transakcí
  • CSV export přehledu plateb (Excel-friendly, UTF-8 BOM) (nové)
  • Záznamy ze všech platebních metod

Změna logiky: metody card, demo a gateway se ve výpisu i ve filtru sjednocují pod jedinou položku „Platební brána" (normalizeMethod). Historicky vznikaly záznamy card / demo, budoucí reálná integrace povede vše pod gateway.

Platební metody

Metoda Popis
credit Odečtení z kreditního účtu klienta
package Čerpání ze zakoupeného balíčku sezení
card Platba kartou — manuální záznam adminem
cash Hotovost — manuální záznam
transfer Bankovní převod — manuální záznam
gateway Platební brána (Stripe — připraveno, stav integrace nezjištěn)
demo Demo / testovací platba
voucher Uplatnění dárkového voucheru
cashdesk_cash Hotovost na recepci — doklad vzniká v pokladním systému
cashdesk_card Karta na recepci — doklad vzniká v pokladním systému
insurance Výkon hradí pojišťovna, klient neplatí

Změna logiky (export 19. 8. 2026): k metodě platby přibyl kanál platby (payment_channel) a zdroj dokladu (document_source). U plateb na recepci (POKLADNA) NEO doklad nevystavuje ani neexportuje do Pohody — eviduje jen číslo dokladu z pokladního systému (cashdesk_document_number).

Platební flow

Platba přes klientský portál

flowchart TD
    A[Rezervace vytvořena] --> B[E-mail s platebním odkazem]
    B --> C[Klient otevře odkaz]
    C --> D[OTP přihlášení]
    D --> E{Způsob platby}
    E -- kredit --> F[Odečtení z kreditu]
    E -- balíček --> G[Odečtení sezení]
    E -- brána --> H[Stripe / gateway]
    F & G & H --> I[payment_status: paid]
    I --> J[E-mail: potvrzení platby + rezervace]

Platební odkaz

Generuje se jako URL:

/client?payment=1&booking_id=...&date=...&start=...&end=...&service=...

Admin může odkaz zkopírovat nebo odeslat e-mailem přímo z EventDialog.

Storno a vrácení

Storno logika závisí na konfiguraci PaymentSettings:

  • Bezplatné storno — pokud do termínu zbývá více hodin než cancellation_free_hours
  • Pozdní storno — bez vrácení peněz, nově vzniká doklad typu penalty (storno poplatek)
  • Vynucené storno adminem — vrácení vždy, bez ohledu na lhůtu

Vratky a dobropisy (nové)

Změna logiky: vratky řeší centralizovaná funkce processRefund a v UI dialog RefundDialog (admin / role finance). Vratka má čtyři podoby:

Způsob Co se stane Doklad
credit peníze zpět na kredit klienta bez dobropisu (nejde o daňovou změnu)
package sezení zpět do balíčku (LIFO) bez dobropisu
cash hotovost mimo NEO — vyžaduje ID platby dobropis (credit_note)
gateway zpět na kartu / přes bránu — vyžaduje ID platby dobropis

Dobropis je vázán na původní daňový doklad (original_document_ref) a klientovi odchází e-mail (volitelně SMS) s odkazem na doklad.

Nákupy mimo rezervaci (nové)

Změna logiky: kredit, balíčky a vouchery lze prodat samostatně, bez vazby na termín. Backend (clientBooking) k tomu má akce topup_credit, purchase_package a purchase_voucher; doklad k nákupu vystaví generatePurchaseDocument:

Nákup Typ dokladu
Dobití kreditu nedaňové potvrzení o přijetí platby (non_tax_confirmation) — výnos vzniká až čerpáním
Balíček daňový doklad (tax_invoice)
Voucher daňový doklad; u kampaňového voucheru marketingový náklad

Nákupy sdílejí purchase_id, kterým se propojí platba, doklad a zakoupená položka.