diff --git a/web/modules/custom/riverside_pt/js/components/rpt-booking.js b/web/modules/custom/riverside_pt/js/components/rpt-booking.js
index 63d8418..411b9c3 100644
--- a/web/modules/custom/riverside_pt/js/components/rpt-booking.js
+++ b/web/modules/custom/riverside_pt/js/components/rpt-booking.js
@@ -100,7 +100,7 @@ function formatAppointmentDate(startStr) {
// Keyed by service in the parent, so it always mounts fresh for each service.
// service is a prop here — it never changes within an instance's lifetime,
// which means the fetch effect can depend only on dateRange (no stale-service risk).
-function BookingPanel({ service, settings, onServiceChange }) {
+function BookingPanel({ service, settings }) {
const [dateRange, setDateRange] = useState(null);
const [fetchedEvents, setFetchedEvents] = useState(null);
const [fetchLoading, setFetchLoading] = useState(false);
@@ -339,33 +339,6 @@ function BookingPanel({ service, settings, onServiceChange }) {
return html`
${!success ? html`
-
Select Appointment Type
-
- ${TYPES.map(function (t) {
- var active = service === t.id;
- return html`
-
- `;
- })}
-
-
@@ -504,19 +477,43 @@ function BookingPanel({ service, settings, onServiceChange }) {
}
// ── Booking ───────────────────────────────────────────────────────────────
-// Thin outer shell: owns service selection, keys BookingPanel by service so
-// it mounts fresh on every service change — no reset effects, no race conditions.
+// Owns service selection and the type selector UI. Keys BookingPanel by
+// service so it mounts fresh on every change — no reset effects, no races.
+// Starts with null so no service is pre-selected.
function Booking({ settings }) {
- const [service, setService] = useState("diagnostic");
+ const [service, setService] = useState(null);
return html`