# Clientavo ad set: product facts (M0), 2026-10-23 These facts come from the product code (HVACFlow main) and from the homepage film the owner approved on 2026-10-23. Each ad uses only these facts. | Fact | Status | Source | |---|---|---| | BOOKING_MODE | **confirmed**. In calendar mode the chat shows real open times from Clientavo Custom Calendar. The visitor reviews and confirms, and the chat replies "Your appointment is confirmed in the company calendar." | `packages/scheduling/src/booking.ts`; the homepage film's booking steps | | Callback mode | Companies with online booking off get a callback request instead. The ads show the main flow: booking in the calendar. | Status model v2 | | AFTER_HOURS | **allowed**. The website assistant works around the clock, and the homepage film opens with "9:47 PM. Your office is closed." | Owner-approved film, "24/7 AI booking assistant" | | Service-area check | **verified**. The chat checks the ZIP code ("We cover 30309.") and refuses ZIPs outside the area. | Chat intake and the out-of-area reply | | Interactive demo | **exists**. The public site has a working demo chat. | `apps/web/src/demo` (experience, chat-turn) | | Dashboard | Overview, Conversations, Appointments, Waiting for a callback, My assistant, Settings. The record shows problem, appointment, contact, service ZIP and conversation. | Homepage film (faithful copy of the dashboard) | | Not used | SMS (turned off), phone calls or answering, payments, outside calendars, prices, trial length, numbers, reviews | M0: do not invent | ## Wording for confirmed mode (M0: "use consistent verified booking language") - S02: the visitor writes "Can I book a visit for tomorrow?" - S03: A becomes "From first message to booked visit." - The subhead becomes "Let visitors book an HVAC visit in chat." - The card reads "Appointment confirmed". - The caption and the platform headline use booking language. - S04: the record shows "Appointment: Tomorrow · 10:00 AM" with the status "Booked". - S05: the ZIP is checked, so the chip "30309 · in service area" is allowed. - S07: B "Try the conversation before you decide." is allowed, because a demo exists. - The visitor writes "Hi, can I book an AC service visit?" - V01–V04: "request a visit" or "appointment request" becomes "book" or "booking" throughout: in the narration, the captions and the cards. ## Sample data (the same in every frame) - Alex Morgan, ZIP 30309 - alex@example.com, (404) 555-0142 (a fictional 555 number) - "My AC isn't cooling.", Tomorrow · 10:00 AM - Fictional company: Cedar Air Heating & Cooling. The same company appears in the homepage film, marked "Product demonstration · Fictional details". ## Brand - Real logo: the Clientavo mark plus "clientavo." (from the homepage film). - Colors: ink #12273f, blue #165ecc, confirmation green #12805c, background #fafbfd. - Font: Manrope only. - The draft palette in the PDF (teal and orange) is not used, because the real brand is available. - Following the owner's rules: no pills, no icons in circles, no dot textures, no glow effects. ## Tools (owner, 2026-10-23: "continue without Magnific") - Higgsfield has no generation tool here, and Magnific refused every generation ("Not enough credits" with 19,645 credits showing). By the owner's decision, nothing is generated with AI images or footage. - **Photo concepts** are drawn as editorial product compositions, following the owner's rule for working without Magnific: - S01: a technician's job card and a tablet work order; - S02: the real demo page at night, a 9:47 PM label, and an "Office: closed now" card; - S04-C: a laptop showing the record. - **Video openings** follow the same approach: - V01 opens on the job card; - V02 on the real demo page at night; - V04 on the real demo page, with the cursor tapping the real chat launcher. - **V04 is the playbook's fallback version:** there is no presenter. The same script plays as voiceover over product footage. - **Voice:** Microsoft neural voice en-US-AndrewMultilingualNeural via edge-tts, chosen by the owner. The captions follow the voice's own word timings. - **Music and interface sounds** are original, synthesized locally (source/synth.mjs). There is no third-party audio. - **Mix:** about -15 LUFS, true peak at or below -1.5 dBTP. The music ducks under the voice. - **Rendering:** text and UI are HTML layers rendered with Playwright frame by frame. Video is encoded with ffmpeg 9.0.2: H.264 high, 30 fps, AAC 192k at 48 kHz.