← back to Designer Wallcoverings
appointments: same-origin relative API base (matches /api/koroseal-quote proxy) + Sherman Oaks showroom address
d4a84f3f0a076eea608037fb82e5eac342f8514a · 2026-06-29 09:54:26 -0700 · Steve Abrams
Files touched
M shopify/quote-api/appointments/router.jsM shopify/sections/appointment-booking.liquid
Diff
commit d4a84f3f0a076eea608037fb82e5eac342f8514a
Author: Steve Abrams <steve@designerwallcoverings.com>
Date: Mon Jun 29 09:54:26 2026 -0700
appointments: same-origin relative API base (matches /api/koroseal-quote proxy) + Sherman Oaks showroom address
---
shopify/quote-api/appointments/router.js | 2 +-
shopify/sections/appointment-booking.liquid | 9 +++++----
2 files changed, 6 insertions(+), 5 deletions(-)
diff --git a/shopify/quote-api/appointments/router.js b/shopify/quote-api/appointments/router.js
index 0a834f2e..4d8abf8b 100644
--- a/shopify/quote-api/appointments/router.js
+++ b/shopify/quote-api/appointments/router.js
@@ -26,7 +26,7 @@ router.use(express.json({ limit: '64kb' }));
const DEFAULT_OWNER = (process.env.APPT_OWNER_EMAIL || 'info@designerwallcoverings.com').toLowerCase();
const IN_PERSON_LOCATION =
process.env.DW_SHOWROOM_LOCATION ||
- 'Designer Wallcoverings Showroom — exact address sent with your confirmation.';
+ 'Designer Wallcoverings Showroom · 15442 Ventura Blvd #102, Sherman Oaks, CA 91403';
const PUBLIC_BASE = process.env.APPT_PUBLIC_BASE || 'https://www.designerwallcoverings.com';
const VALID_TYPES = new Set(['phone', 'in_person']);
diff --git a/shopify/sections/appointment-booking.liquid b/shopify/sections/appointment-booking.liquid
index 22952b95..9e0f45ab 100644
--- a/shopify/sections/appointment-booking.liquid
+++ b/shopify/sections/appointment-booking.liquid
@@ -13,7 +13,8 @@
days_ahead how many days forward to offer
{%- endcomment -%}
-{%- assign api_base = section.settings.api_base | default: 'https://www.designerwallcoverings.com' | strip -%}
+{%- comment -%} api_base blank = same-origin relative /api/appointments (matches /api/koroseal-quote proxy). {%- endcomment -%}
+{%- assign api_base = section.settings.api_base | strip -%}
{%- assign owner_email = section.settings.owner_email | default: 'info@designerwallcoverings.com' | strip -%}
{%- assign days_ahead = section.settings.days_ahead | default: 21 -%}
@@ -36,7 +37,7 @@
<button type="button" class="appt-type" data-type="in_person" role="radio" aria-checked="false">
<span class="appt-type-ic" aria-hidden="true">⌖</span>
<span class="appt-type-l">In person at DW</span>
- <span class="appt-type-s">{{ section.settings.in_person_note | default: 'At our showroom · 1 hour' }}</span>
+ <span class="appt-type-s">{{ section.settings.in_person_note | default: 'At our Sherman Oaks showroom · 1 hour' }}</span>
</button>
</div>
</div>
@@ -285,14 +286,14 @@
"class": "section-appointment-booking",
"settings": [
{ "type": "header", "content": "Backend" },
- { "type": "text", "id": "api_base", "label": "Appointments API base URL", "default": "https://www.designerwallcoverings.com", "info": "Origin of the DW appointments service (the mounted /api/appointments routes)." },
+ { "type": "text", "id": "api_base", "label": "Appointments API base URL", "default": "", "info": "Leave blank for same-origin /api/appointments (matches the /api/koroseal-quote proxy). Only set an absolute origin if the API is on a different host." },
{ "type": "text", "id": "owner_email", "label": "Calendar owner email", "default": "info@designerwallcoverings.com" },
{ "type": "range", "id": "days_ahead", "min": 7, "max": 63, "step": 7, "unit": "d", "label": "Days bookable ahead", "default": 21 },
{ "type": "header", "content": "Copy" },
{ "type": "text", "id": "kicker", "label": "Kicker", "default": "Designer Wallcoverings" },
{ "type": "text", "id": "heading", "label": "Heading", "default": "Book an appointment" },
{ "type": "richtext", "id": "intro", "label": "Intro", "default": "<p>Speak with a Designer Wallcoverings consultant by phone, or visit us in person. Appointments run one hour, weekdays 9 AM–4 PM Pacific.</p>" },
- { "type": "text", "id": "in_person_note", "label": "In-person sub-label", "default": "At our showroom · 1 hour" }
+ { "type": "text", "id": "in_person_note", "label": "In-person sub-label", "default": "At our Sherman Oaks showroom · 1 hour" }
],
"presets": [{ "name": "Appointment Booking" }]
}
← cae107be auto-save: 2026-06-29T09:48:16 (5 files) — pending-approval/
·
back to Designer Wallcoverings
·
appointments: omit blank api_base default (Shopify schema re 991e88d0 →