tablet-checkin/backend/extension-src/options/options.html
jtricerolph 4d3774ef0d Fix NewBook write mechanism, bundle push extension, remove vestigial hotel_id
- setBookingCustomFields: use bookings_update's own custom_fields array
  (confirmed from the real legacy plugin code) instead of
  instance_custom_fields_set, which was only ever proven for a different,
  unrelated plugin
- online_checkin_complete is now a configurable per-hotel custom field
  (online_checkin_complete_custom_field_id setting), not a bogus top-level
  bookings_update field NewBook would silently ignore
- Fix field-name mismatches vs a real live NewBook booking response:
  booking_arrival/departure/length, guest address (street/city/state/
  postcode/country, not a single field), phone/mobile (in contact_details,
  not top-level), and pickPrimaryGuest now checks primary_client (was
  checking fields that don't exist in the real API)
- Bundle the standalone push extension into backend/extension-src/, add
  GET /api/extension/download (zips on request via archiver) and a
  download button on the Settings page
- Remove newbook_hotel_id — vestigial from the legacy system's multi-hotel
  routing model, never actually reached NewBook's API, this stack is
  single-hotel-per-deployment so there's nothing to route between

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-01 18:11:35 +00:00

33 lines
1.2 KiB
HTML

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>Send to Check-In Tablet — Settings</title>
<link rel="stylesheet" href="options.css" />
</head>
<body>
<h1>Send to Check-In Tablet</h1>
<p class="hint">
Two things needed before this extension can push a booking to a tablet — both come from the
<strong>tablet-checkin</strong> app itself, not from here.
</p>
<label for="baseUrl">Tablet Check-In base URL</label>
<input id="baseUrl" type="text" placeholder="https://<host>/tablet-checkin — not confirmed yet, see TODO in background.js" />
<p class="hint">The app's own address once deployed. Include no trailing slash.</p>
<label for="apiKey">Terminal API key</label>
<input id="apiKey" type="password" placeholder="Paste the key shown once when you created this terminal" />
<p class="hint">
Create one from tablet-checkin's <strong>Terminals</strong> admin page (requires the <code>admin</code>
capability). The raw key is shown exactly once at creation — if you've lost it, revoke it there and
create a new one.
</p>
<button id="save">Save</button>
<button id="test">Test connection</button>
<p id="status"></p>
<script type="module" src="options.js"></script>
</body>
</html>