Commit Graph

6638 Commits

Author SHA1 Message Date
DanielS
f3b1838402 Add frontdesk: simple "Rezeption" page and staff profile
One large-type page for the front desk (Hotel Reservation System >
Rezeption, first menu entry):
- today's arrivals, departures, guests in house and overdue arrivals,
  each guest as a card with big room number, name, people, nights,
  room type and booking source
- one obvious button per guest: Einchecken / Auschecken (and "Früher
  abreisen"); after each action a big confirmation with "Rückgängig"
  instead of confirm dialogs; Post/Redirect/Get so reload never repeats
- uses HotelBookingDetail::changeStatus(), so status history and hooks
  (casposbridge posts the nights) run as in the order page; check-out
  does not require payment in QloApps because guests pay at the POS
- shows the CASPOS state per guest; other days are read-only
- tiles to Belegungsplan and Neue Reservierung (Book Now)
- employee profile "Rezeption" that only sees Rezeption, Belegungsplan,
  Book Now, orders, customers, carts and guest registration cards
- docker/test-frontdesk.php: 21 checks with throw-away guests

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-12 00:26:13 +01:00
DanielS
f4eb1fbc9d Add docker/renumber-rooms.php: room numbers = CASPOS table numbers
Numbers all rooms consecutively from a start number (dry run by
default, --apply to write) and carries the new number into existing
bookings (htl_booking_detail, htl_cart_booking_data) and queued
casposbridge jobs. Used locally: demo rooms GR/DR/ER/LR-101..105 ->
tables 101-120 of the test POS's "Hotel" area.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-12 00:18:51 +01:00
DanielS
e4db9fae82 Add occupancyplan: Belegungsplan (rooms x days) with click-to-reserve
New back-office page "Hotel Reservation System > Belegungsplan":
- rooms grouped by room type as rows, 14-62 days as columns, weekends
  and today highlighted, sticky room column, daily occupancy footer
- bookings as bars (booked / checked in / checked out / no-show) with
  guest name, guests, tooltip with dates, order reference and price;
  click opens the order; stays outside the view are cut
- booking source badge from orders.id_source (W website, T phone,
  B Booking.com, E Expedia ...; portals highlighted), so channel-manager
  bookings show up with their source
- blocked periods (htl_room_disable_dates) hatched with reason
- CASPOS badge: nights already posted by casposbridge, "!" on failures
- reserve: click a free cell (first night) and a later one (last night)
  in the same row -> action bar -> "Book Now" opens with dates, hotel
  and room type prefilled; keyboard: Enter/Space, Escape
- docker/test-occupancyplan.php: 15 checks with throw-away bookings,
  optional HTML preview

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-12 00:14:14 +01:00
DanielS
f038311614 casposbridge README: results from the CASPOS 4.12.3 test POS
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-11 23:53:46 +01:00
DanielS
b3b79960e7 casposbridge: verified against a real CASPOS 4.12.3
- send User-Agent "OrderApp/1.4.0 (linux) QloApps-CasposBridge/1.0" and
  version 1.4.0: CASPOS classifies non-OrderApp clients as "Orderman",
  which cannot be activated in the Order-App device manager
- fixed prices for open-price articles: ARTICLE@12.50 / @12,50 (cents)
- live test (docker/test-casposbridge-live.php) booked one night on
  table 101: 1 x 301 @ 145.00 + 2 x 101 @ 12.50, bookedAmount 17000,
  lines committed -> enteredPrice is in cents
- README: device activation, waiter key, per-area table number ranges
  ("Ungültige Tischnummer"), results
- docker/reset-admin-password.php: set a back-office password from the
  CLI (asked interactively, not echoed)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-11 23:53:20 +01:00
DanielS
b6eebfcb90 Add casposbridge: post hotel nights to CASPOS tables via OrderApp API
On check-in (actionBookingStatusAfter -> checked in) and hourly via the
QloApps Cron Task Manager or modules/casposbridge/cron.php, every night of
a checked-in stay is posted to the CASPOS table named after the room
number: registerClient -> waiter login -> tables/openByName ->
orderLines/add -> tables/finalizeOrder (API derived from the CASPOS
OrderApp client, lib/api/api.dart).

- one job per booking and night; pending -> added -> done, so a retry
  only commits and never books lines twice; half-added lines are
  cancelled; POS offline keeps jobs queued (max 10 attempts)
- mapping per room type: ARTICLE[*qty|erwachsene|kinder|gaeste][@preis]
- optional HTTPS with pinned SHA1 certificate fingerprint, checked
  before credentials are sent
- undoing a check-in drops unsent nights and logs posted ones for a void
- config page with connection test (lists service areas and articles)
  and the last 50 jobs with retry
- docker/caspos-mock: stand-in POS for the used endpoints and error
  codes; docker/test-casposbridge.php: 23 end-to-end checks

Not yet verified against a real CASPOS: enteredPrice unit, auto-creation
of tables, client activation, finalizeOrder/TSE behaviour.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-11 23:07:28 +01:00
DanielS
43a0b96fdf Test server: code in a Docker volume instead of a C:\ bind mount
With Docker Desktop on Windows the bind-mounted C:\hotel made every page
take ~5-7 s; with the code on the Linux filesystem it takes ~0.1 s.

- docker/Dockerfile.server bakes the repo into the image (.dockerignore
  keeps .env, settings.inc.php and caches out)
- docker/server-entrypoint.sh copies the code into the app_code volume on
  start: pass 1 updates code but skips runtime folders (uploads, generated
  images, caches, downloaded translations, settings.inc.php), pass 2 adds
  missing files without overwriting
- docker/php-server.ini: OPcache without timestamp checks, larger
  realpath cache
- setup script waits for the container and checks the install marker
  inside the volume; .gitattributes keeps *.sh LF on Windows checkouts
- TESTSERVER.md: speed section and one-time switch from the first version

Tested with a fresh stack: full install + demo + hardening, re-run keeps
DB/uploads, rebuilt image delivers code changes.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-11 22:40:07 +01:00
DanielS
26260d0d35 Add set-domain.php; setup applies SHOP_DOMAIN/QLO_SSL on every run
QloApps redirects every request to the domain stored in the DB, so a
wrong domain or HTTPS without TLS in front ends in ERR_SSL_PROTOCOL_ERROR.
docker/set-domain.php updates PS_SHOP_DOMAIN(_SSL), shop_url, SSL flags
and .htaccess; the setup script now calls it with the .env values, so
editing .env and re-running fixes the domain. Troubleshooting table in
docker/TESTSERVER.md.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-11 00:54:00 +01:00
DanielS
1e9daa8858 Add Windows test-server setup behind nginx
- docker-compose.server.yml: app on APP_BIND for an existing nginx proxy,
  QLO_SSL passed to the container
- docker/setup-testserver.ps1: one-shot setup for Docker Desktop/WSL
  (random .env secrets, CLI install that never reinstalls over an
  existing shop, German texts, optional demo content, hardening)
- docker/harden-test-server.php: delete demo customer pub@qloapps.com,
  disable webservice API keys, set SSL mode, deny module log folders
- docker/nginx-qloapps.conf: HTTPS + basic auth + X-Forwarded-Proto
- apache: deny /modules/*/logs/ (qlocmconnector logs API secrets)
- docker/TESTSERVER.md: Windows Server guide (German)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-11 00:45:15 +01:00
DanielS
9b4d6f1037 Wasserrad: German menu and units, inner-page header, cleaner demo data
Seed script renames menu links and "Room/Rooms" unit labels to German,
hides the Properties/Testimonials links, removes demo room features
(King, 600 sq ft) and copies gallery photos unpadded. Skin gets the wine
header on inner pages and object-fit gallery thumbnails.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-11 00:33:33 +01:00
DanielS
8434d950dd Add German front-office translations
The German language pack leaves ~180 shop strings in English (search
bar, cart, room cards, footer, account menu). docker/apply-translations.php
fills only missing keys from docker/translations-de-front.php and fixes
English values in the theme language file; docker/find-missing-translations.php
lists remaining gaps. Module/theme de.php files are git-ignored upstream
(downloaded on install), so the script is re-run after each install.
Also includes the language-pack updates the installer wrote to the
tracked module de.php files.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-11 00:33:32 +01:00
DanielS
c76dd44f16 Add Wasserrad demo content seed script
Replaces the "Hotel Prime" demo data: hotel texts and address, room
types with 2026 prices (gross incl. 7 % VAT), logo, header slides, room
photos and interior gallery; disables auto-added demo service fees and
hides the invented demo testimonials.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-11 00:20:06 +01:00
DanielS
b888634fd7 Add "Zum alten Wasserrad" skin to hotel-reservation-theme
Wine red / terracotta / sand palette, Lora + Open Sans self-hosted
(Google Fonts link removed for GDPR), water-wheel ornament, restyled
hero, booking bar, room cards, gallery and footer.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-11 00:20:04 +01:00
DanielS
e32cd8f6ed Add Docker Compose setup for local development
PHP 8.3/Apache + MariaDB 11.4 with the repo bind-mounted as web root.
Apache denies dotfiles (.env, .git), the docker files and /install-dev
(installation runs via CLI as www-data, see docker-compose.yml).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-11 00:20:03 +01:00
DanielS
ec79686a7d Disable phone-home to api.qloapps.com
Add _QLO_DISABLE_PHONE_HOME_ (default true) and honour it in
Tools::addonsRequest(), Tools::refresh(), the installer notification and
the theme catalog fetch. This stops sending admin name/email, shop domain
and country on install, the daily upgrade check, the admin
"recommendation" HTML and module/theme catalog requests.
Language and localization pack downloads stay available.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-11 00:20:01 +01:00
Rohit Jain
e502b63f83 Merge pull request #2012 from shazar-webkul/gli-google_connector_update
Updated: google hotel connector code for inactive room type query
2026-11-06 13:47:17 +05:30
shazar rahman
d09e3a59a3 Updated: google connector code for inactive room type query
Co-authored-by: Name <azharbhat.qlo098@webkul.in>
2026-11-06 13:45:00 +05:30
Rohit Jain
9658b21331 Merge pull request #2011 from amitsharma322/gli-3355
Fixed: Date validation issue in reports when selecting the same From and To dates in back office
2026-11-06 12:52:59 +05:30
amit sharma
45bf06d253 Fixed: change composer json description 2026-11-06 12:48:14 +05:30
Rohit Jain
3077055139 Merge pull request #2010 from sumitwebkul/gli-3353
Updated: Room bookings terminal status improvements
2026-11-06 12:33:56 +05:30
Rohit Jain
93ce5fe6b7 Merge pull request #2009 from AradhanaSingh63/gli-3354
Updated: Hotel image updated
2026-11-06 12:31:45 +05:30
aradhana kumari
d2861d7190 Update the hotel image 2026-11-06 11:20:34 +05:30
amit sharma
f6db929868 Fixed: review changes 2026-11-06 10:57:22 +05:30
amit sharma
13d729cd93 Issue: Admin Can Select the Same Date for Both the From Date and To Date in Reports 2026-11-06 10:48:22 +05:30
Sumit Panwar
48ba57ade8 Updated: minor code improvements 2026-11-06 10:46:38 +05:30
Sumit Panwar
4c4a0106cd while installation noshow is_terminal will be set as 0 2026-11-06 10:37:00 +05:30
Rohit Jain
2ca12e193b Merge pull request #1985 from shazar-webkul/gli-version_upgrade
Updated: Changelog and Version update for QloApps 1.8.0
2026-11-05 20:20:29 +05:30
Rohit Jain
6370aeaf76 Merge pull request #2007 from amitsharma322/gli-3352
Fixed: Default Installed Cron Tasks and Hotel Report module
2026-11-05 20:15:04 +05:30
Rohit Jain
6d30dbaf00 Merge pull request #2008 from shazar-webkul/gli-translation_update
Updated: default language translation file
2026-11-05 20:13:46 +05:30
Sumit Panwar
ec61f74338 Fixed terminal status issues withNo show room status 2026-11-05 19:54:52 +05:30
Sumit Panwar
4a7750bb53 Fixed terminal status issues withNo show room status 2026-11-05 19:46:39 +05:30
shazar rahman
2e2e02cbe2 Updated: default themes language translation file
Co-authored-by: Name <azharbhat.qlo098@webkul.in>
2026-11-05 19:19:52 +05:30
aradhana kumari
1596cc97a6 Updated: Hotel image updated 2026-11-05 19:12:59 +05:30
shazar rahman
f660ddea7f Updated: default language translation file
Co-authored-by: Name <azharbhat.qlo098@webkul.in>
2026-11-05 18:49:00 +05:30
amit sharma
9f4b81075f Fixed: changes icon color 2026-11-05 17:51:23 +05:30
amit sharma
1b943e65f7 Fixed: default Installed Cron Tasks Module and Hotel Report 2026-11-05 17:40:47 +05:30
Rohit Jain
93de35fb72 Merge pull request #2006 from amitsharma322/gli-3351
Fixed: Optimize performance of Admin Orders and Book Now pages
2026-11-05 16:34:28 +05:30
amit sharma
98c2c21a23 Merge branch 'develop' into gli-3351 2026-11-05 16:29:01 +05:30
Rohit Jain
8c19ff9cae Merge pull request #2005 from shazar-webkul/gli-3350
Updated: Tools correction and admin css
2026-11-05 16:26:16 +05:30
Shazar Rahman
43311ad0f3 Merge branch 'Qloapps:develop' into gli-3350 2026-11-05 16:24:14 +05:30
Rohit Jain
dee4111c64 Merge pull request #2004 from amitsharma322/gli-3349
Fixed: Text-related issues on the invoice and checkout pages
2026-11-05 16:14:08 +05:30
amit sharma
b315b593cb Fixed: typos in translatable strings 2026-11-04 20:12:34 +05:30
shazar rahman
fcbe15f3de Updated: install flow reverted
Co-authored-by: Name <azharbhat.qlo098@webkul.in>
2026-11-04 19:54:33 +05:30
amit sharma
d7d2a76c6b Fixed: added key logic in the admin hotel crontroller 2026-11-04 19:51:07 +05:30
shazar rahman
1e7c90c7b0 Fixed: channel manager connetor installation isssue
Co-authored-by: Name <azharbhat.qlo098@webkul.in>
2026-11-04 19:49:12 +05:30
shazar rahman
0090e20fb4 Updated: googleconnector module 2026-11-04 19:33:33 +05:30
amit sharma
07c2e2c660 Fixed: review changes 2026-11-04 19:32:56 +05:30
amit sharma
ddc8ac5be1 Fixed: Slow loading of Admin Orders and Book Now pages with large order volumes 2026-11-04 19:15:19 +05:30
shazar rahman
c63c8b1ac7 Fixed: code review done 2026-11-04 19:00:22 +05:30
shazar rahman
1004cde25e Fixed: code review changes found for install register
Co-authored-by: Name <azharbhat.qlo098@webkul.in>
2026-11-04 14:14:48 +05:30