Skip to content

Accommodation rental and stays

This article complements Services, availability, and bookings and Guest booking and payments. It covers the Accommodation rental service type — stays from check-in to check-out, nights and guests, without hourly slots like 1:1 appointments.

Plan: Accommodation rental is available on every plan (Free, Starter, Growth, Pro) and during the free trial.


Accommodation rental fits:

  • guesthouses, boutique hotels, cabins, and short-term apartments,
  • offers where the guest books a date range (check-in → check-out), not an appointment time,
  • many identical rooms on one catalog service (shared pricing) or separate services per class (Standard / Apartment / Cabin).

Unlike 1:1 services: weekly staff Availability does not drive open dates. Occupancy uses the accommodation engine — date collisions per unit, blocked dates, and minimum check-in lead time.


PieceWhere in the app
Accommodation unitsAccommodations in the business menu — CRUD for rooms / cabins (address, max guests, photo).
Catalog serviceServices → type Accommodation rental — guest-facing offer name (e.g. “Guesthouse stay”).
LinkingAttach one or many units to the same service.
Pricing, messages, blocksAccommodation service editor → General, Pricing, Guest messages, Availability (blocked dates and price overrides).

After creating an accommodation service, the app opens this dedicated editor — the generic 1:1 service editor does not include stay-specific fields.


Pricing lives on the service, not on each room:

  • Nightly rate (base),
  • Guests included (included_guests_count, default 2) + extra guest fee per night,
  • Cleaning fee (once per stay),
  • Weekends — separate nightly rate Fri–Sun when enabled,
  • Date overrides — one amount for a specific night (e.g. holidays); override wins over weekend rules.

Different room classes in MVP = separate services with their own pricing; many rooms of the same class = many units on one service.


  • Blocked dates — renovation, owner stay, closed season (end date behaves like check-out, exclusive).
  • Turnover — optional gap days between stays on a unit.
  • Minimum check-in lead time — per-service field (fallback: business guest rules).
  • Occupancy calendar — month view per unit (bookings + occupancy).
  • OTA channels (iCal) — sync occupancy with Airbnb / Booking.com per unit. Details: OTA channels.

Pending and confirmed bookings block dates — same idea as group sessions.


Under Guest messages you can enable a confirmation template (placeholders: guest name, unit name, dates, nights, price, business name). Content appears in:

  • the confirmation email (“Message from your host”),
  • the guest thank-you page (B2).

  1. Choose the accommodation service (or a direct link).
  2. Unit — when more than one is linked; hidden when there is only one.
  3. Check-in and check-out (date range), guest count — live price quote.
  4. Contact details — phone required by default; correspondence address mandatory (snapshot on the booking).
  5. Consents, optional online payment / deposit — same as other types.

Guests may reschedule the stay (new date range, same unit) from the email link — within the business self-service window. Changing guest count after booking is not in MVP.


  • List / schedule — stay dates, nights and guests, unit address (instead of assignee).
  • Booking detail — stay price breakdown, correspondence address, host messages.
  • Create booking (staff) — unit, dates, guests; no performer slot.
  • Reschedule (staff) — new date range; guest gets the standard reschedule notification.

For testing you can seed a sample guesthouse:

Okno terminala
php artisan db:seed --class=AccommodationRentalDemoSeeder

Account: demo-pensjonat@example.test / password, public slug: demo-pensjonat.