From 6b8bf32c3bea2a7925db3806cbf8e549e0397f76 Mon Sep 17 00:00:00 2001 From: Jeff Emmett Date: Tue, 14 Apr 2026 15:14:54 -0400 Subject: [PATCH] fix: quote sheet name in Google Sheets API ranges Sheet names with spaces need single-quoting in range strings, otherwise 'Booking Sheet!A:J' fails to parse. Co-Authored-By: Claude Opus 4.6 --- api/booking-sheet.js | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/api/booking-sheet.js b/api/booking-sheet.js index 9b75ce5..eedb18c 100644 --- a/api/booking-sheet.js +++ b/api/booking-sheet.js @@ -113,10 +113,11 @@ async function parseBookingSheet() { return null; } const sheetName = process.env.BOOKING_SHEET_TAB || 'Booking Sheet'; + const quotedName = `'${sheetName}'`; const response = await sheets.spreadsheets.values.get({ spreadsheetId: sheetId, - range: `${sheetName}!A:J`, + range: `${quotedName}!A:J`, }); const rows = response.data.values || []; @@ -249,6 +250,7 @@ async function assignBooking(guestName, accommodationType, selectedDays) { const sheets = await getSheetsClient(); const sheetId = process.env.BOOKING_SHEET_ID; const sheetName = process.env.BOOKING_SHEET_TAB || 'Booking Sheet'; + const quotedName = `'${sheetName}'`; const rowNum = bed.rowIndex + 1; // Sheets is 1-indexed // Build batch update data for each selected day column @@ -258,7 +260,7 @@ async function assignBooking(guestName, accommodationType, selectedDays) { if (colIdx === undefined) continue; const colLetter = colIdxToLetter(colIdx); data.push({ - range: `${sheetName}!${colLetter}${rowNum}`, + range: `${quotedName}!${colLetter}${rowNum}`, values: [[guestName]], }); }