← Back to all scenarios
LINETHbooking_inquiry

Direct booking inquiry, Thai.

A guest asks in Thai about sea-view availability for three nights in July. The AI checks rates, retrieves Thai-language honorific conventions and VAT-disclosure rules, drafts a reply, and the receptionist approves.

conversation_id scenario-a-001·8 events·pipeline runtime 37s·model claude-sonnet-4-6

Watch the AI handle this inquiry step by step, narrated at reading pace.

Event 1 of 8 — INBOUND_RECEIVED
A guest messages the resort on LINE, in Thai, asking about a room for an upcoming stay.
1
INBOUND_RECEIVED
12:38:52 UTC · 2026-05-14
INBOUND · LINE · U-fixture-thai-guest
สวัสดีครับ พอมีห้องวิวทะเลสำหรับ 2 คน วันที่ 12-15 ก.ค. ไหมครับ ราคาเท่าไหร่
2
CLASSIFY_INTENT
+6.7s
Intent
booking_inquiry · Confidence 0.98
Language
th · Register krap
Rationale
Guest asks about sea-view room availability for 2 persons on specific dates and inquires about the rate.
3
RETRIEVE_CULTURAL
+0.5s
4 cultural notes retrieved  ·  k=4
thai-greeting-conventionsThai greeting and reply conventions for hotel messaging
score 1.00

Thai greeting and reply conventions

A Thai-language reply from a hotel should follow a predictable opening-body-closing shape. Skipping the opening or closing reads as curt; over-decorating it reads as machine-translated.

Opening line

Standard openers, in order of warmth:

  • สวัสดีค่ะ คุณ[Name] — "Hello, [Name]." Neutral, works for any first contact.
  • ขอบคุณที่ติดต่อ[Hotel Name]ค่ะ — "Thank you for contacting [Hotel]." Use when the guest has just initiated the inquiry; pairs naturally with สวัสดีค่ะ on its own line.
  • ขอบคุณสำหรับข้อความค่ะ — "Thank you for your message." Lighter version, good for follow-up replies in a thread.

For LINE, a single opener line is enough. For WhatsApp or email, the two-line variant (greeting + thank-you) feels more appropriate.

Body

Keep paragraphs short — 1–3 sentences each, separated by blank lines. Thai script without line breaks becomes a wall of text very quickly because there are no inter-word spaces. Blank lines between thoughts are not optional; they are the only visual structure.

When listing things (rates, room types, dates), use bullet points or numbered lines. Do not run them into a sentence.

Example structure:

```
สวัสดีค่ะ คุณสมชาย

ขอบคุณที่ติดต่อ[Hotel] ค่ะ ทางโรงแรมยังมีห้องว่างสำหรับวันที่ 12-15 ก.ค. ค่ะ

  • Deluxe Sea View: 4,800 บาท/คืน (รวมอาหารเช้า, รวม VAT)
  • Junior Suite: 7,200 บาท/คืน (รวมอาหารเช้า, รวม VAT)

หากสนใจสำรองห้อง รบกวนแจ้งจำนวนผู้เข้าพักและประเภทห้องที่ต้องการนะคะ
```

Closing line

Standard closers:

  • ขอบคุณค่ะ — "Thank you." The minimum.
  • หากมีข้อสงสัยเพิ่มเติม สามารถสอบถามได้ตลอดเวลานะคะ — "If you have further questions, please feel free to ask at any time." Warm, appropriate when the inquiry isn't fully resolved.
  • ขอบคุณค่ะ / [Hotel Name] — sign-off with the hotel name on its own line for formal threads.

Avoid signing replies with a personal name unless the conversation has already become personal. The reply should feel like it comes from "the hotel," not from a specific staff member, until the guest establishes a relationship.

What to avoid

  • Excessive emoji and stickers in the first reply. LINE supports them, but the opening message should establish professionalism first.
  • Mixing English mid-sentence ("ขอบคุณ for your inquiry ค่ะ") — pick a language and stay in it.
  • Pasting prices without baht symbol or currency. Always: 4,800 บาท/คืน or THB 4,800/night, never bare numbers.
corpus/thai-greeting-conventions.md
thai-honorificsThai honorifics and politeness particles (ค่ะ/ครับ, ท่าน, คุณ)
score 0.75

Thai honorifics and politeness particles

Thai politeness in written guest communication is carried mostly by sentence-final particles and by the form of address used for the guest. Get these wrong and the message reads as either rude or robotic.

Sentence-final particles (ค่ะ / ครับ)

  • ค่ะ (khâ) — used by a female speaker to end a polite statement. Use when the responding agent persona is female.
  • คะ (khá, rising tone) — female form for questions only. "ขอทราบจำนวนผู้เข้าพักด้วยคะ" (May I know the number of guests?)
  • ครับ (kráp) — used by a male speaker for both statements and questions.

For the hotel persona, pick one and stay consistent within a thread. Switching mid-conversation reads as either two staff members handling the same chat (unprofessional for a boutique) or a script error. Default to ค่ะ for the front-desk voice unless the property has explicitly chosen a male front-desk persona.

Every outbound message should end its main sentences with the particle. Bullet lists and prices can omit it; prose sentences should not.

Forms of address

  • คุณ (khun) + first name — the universal polite default. "คุณสมชาย" works for almost every guest. Use the guest's first name, not surname (Thai convention).
  • ท่าน (thân) — significantly more elevated. Use for: visibly senior guests, government officials, monks, or when the property's brand voice is explicitly luxury-formal. For a 4-star boutique resort, คุณ is right; ท่าน sounds stiff.
  • No honorific + name — too casual for a first contact. Never start a reply with just the bare name.

Reading the inbound message

If the guest opens with ครับ, they identify as male; if ค่ะ, female. This does not change how you address them (still คุณ + name) but it does signal register — a guest writing in fully-formed polite Thai expects the same back; a guest writing in clipped LINE-style Thai (no particles, abbreviated) is comfortable with a slightly lighter register, though the hotel reply should still be polite.

When the guest uses no particle, default to the polite form regardless.

corpus/thai-honorifics.md
pricing-disclosure-rulesPricing disclosure rules — what AI may quote vs. what must wait for human
score 0.50

Pricing disclosure rules

The AI's biggest risk is mis-quoting price — it creates legal exposure (Thai consumer-protection rules), revenue leakage (under-quoting), and erosion of trust (over-quoting). This entry defines the boundary clearly.

What the AI MAY quote autonomously

These items are derived from structured data that is reliably available and unambiguous:

  1. Published BAR (Best Available Rate) for a specific date range and room category, when:
  • The PMS / rate system returns a single canonical number for that date+category
  • VAT and service-charge inclusivity are recorded in the rate record
  • The rate is not flagged as "promotional" or "do-not-quote-without-approval"
  1. Standard published add-ons with fixed pricing:
  • Airport transfer (one-way, by vehicle type)
  • Standard breakfast (if not included in rate)
  • Late checkout (if a published flat fee exists)
  • Extra bed / rollaway (if published)
  1. Policy-derived totals that are arithmetic:
  • Multi-night totals at quoted nightly rate (3 nights × THB X = THB 3X)
  • Two-room bookings at the same rate
  1. Cancellation / deposit policy disclosure when stored as policy text — quote verbatim, do not paraphrase.
  1. Tax breakdown when the inclusive total is quoted — "X total, of which 7% VAT, 10% service charge."

What the AI MUST escalate to human

Any of the following triggers escalation:

  1. Custom packages — wedding inquiries, anniversary stays with add-ons, "we want a special arrangement"
  2. Group bookings of 5+ rooms — even if the published rate technically returns; group rates are often negotiated below BAR
  3. MICE / corporate RFPs — see mice-english-register for the full template; these never auto-quote
  4. Rate parity questions — "Booking.com is showing X, can you match?" Always human.
  5. Loyalty / repeat-guest discounts — these are relationship calls, not algorithmic
  6. Long-stay rates (7+ nights, 14+ nights) — many properties have unpublished long-stay pricing
  7. Negotiated discounts of any kind — "We're a large company, do you have a corporate rate?"
  8. Anything during peak periods (Songkran, Christmas-NY, Chinese New Year) where the system returns a non-peak rate — likely data error; do not quote
  9. Currency conversion to non-THB — quote in THB, let the human or the OTA handle conversion
  10. Refund inquiries — policy-derived but emotionally charged; safer to route to human
  11. Visa-related questions that intersect with stay duration — escalate; immigration is not a thing the AI should comment on

What the AI MUST disclose every time it quotes

  • The dates the rate applies to
  • The room category
  • VAT and service-charge inclusivity (see thai-vat-conventions)
  • Whether breakfast is included
  • The cancellation policy (one line is sufficient: "Free cancellation up to 7 days before arrival")
  • A clear next step (book direct link, or "would you like me to hold this rate for 24 hours?")

What "escalate to human" means operationally

It does not mean "refuse to respond." It means:

  • Send a holding reply: "Thank you for your inquiry. I'm passing this to our reservations team who will reply within [X] hours with a tailored response."
  • Tag the conversation for the human queue with the reason (escalation: group-booking-5-rooms or escalation: wedding-package)
  • Summarize the inquiry in the human-queue notes so the human doesn't re-read the full thread

The cost of getting this wrong

A wrongly quoted rate that the guest then books and shows up to honor is, in Thailand, often legally enforceable as the rate the hotel must accept (Thai consumer protection precedent leans toward the consumer on advertised price). The cost of a single mis-quote can be a several-thousand-baht concession. The cost of a correctly escalated inquiry is a 2-hour response delay. The math always favors escalation when in doubt.

corpus/pricing-disclosure-rules.md
thai-vat-conventionsThai VAT and service charge disclosure in rate quotes
score 0.25

Thai VAT and service charge disclosure in rate quotes

Thai consumer expectation is that the price you quote is the price they pay. Surprise tax-on-top quoting is a common cause of negative reviews and OTA-vs-direct rate disputes.

VAT (Value Added Tax)

  • Thai VAT is 7% as of 2026 (this rate has been stable for many years and is currently legislated to remain at 7% through 2026; the standard statutory rate is 10% but the reduced 7% is what the market sees).
  • Always quote rates VAT-inclusive to consumer guests. Phrasing: "รวม VAT 7%" / "VAT inclusive" / "รวมภาษีแล้ว."
  • For corporate / MICE quotes, it is standard practice to break out VAT as a line item because the corporate buyer may need it on the invoice for tax-credit purposes. In that context, quote subtotal + VAT line + total. Always show the total.

Service charge

  • Hotels and restaurants typically add a 10% service charge on top of the room rate or F&B bill before VAT.
  • The order of calculation matters: Subtotal × 1.10 (service) × 1.07 (VAT) = Total. The compound effect is 17.7%, not 17%.
  • For boutique direct bookings, many properties absorb the service charge and quote a single inclusive rate ("net rate" or "ราคาสุทธิ"). Confirm with the property's pricing policy before quoting.
  • For F&B, MICE banquets, and weddings, service charge is almost always added — quote both line items.

How to phrase it

To consumers (EN): "THB 4,800 per night, inclusive of VAT and service charge. Breakfast for two included."

To consumers (TH): "4,800 บาท/คืน รวมภาษีและค่าบริการแล้ว รวมอาหารเช้าสำหรับ 2 ท่าน"

To MICE/corporate (EN): "Room: THB 4,000 net. Plus 10% service charge. Plus 7% VAT. Total: THB 4,708 per room per night."

Rules for the AI

  1. Never quote a rate without disclosing whether VAT and service are included.
  2. If the property data does not clearly state inclusivity, escalate to human rather than guess. A wrong tax disclosure can become a legal complaint at check-out.
  3. For OTA rate parity reasons, the direct-booking quote should not be lower than the prevailing OTA rate after taxes — phrasing like "best rate guarantee" requires human confirmation.
  4. For Thai-language replies, always use บาท (not the ฿ symbol, which renders inconsistently across devices). For English, use THB or B before the number ("THB 4,800").
corpus/thai-vat-conventions.md
4
RETRIEVE_PROPERTY
+23s
getAvailability{ category: sea_view, from: 2026-07-12, to: 2026-07-15, ratePlanCode: BAR } 3 rows
getRate{ date: 2026-07-12, category: sea_view, ratePlanCode: BAR } 4800
getRate{ date: 2026-07-13, category: sea_view, ratePlanCode: BAR } 4800
getRate{ date: 2026-07-14, category: sea_view, ratePlanCode: BAR } 4800
getPolicy{ code: cancel_48h } returned
5
DRAFT_RESPONSE
+0.0s
Model claude-sonnet-4-6Stop reason end_turn

ร่างข้อความสำหรับพนักงาน:


สวัสดี1

ขอบคุณที่ติดต่อ Andaman Lanta Reef Resort 1

ทางโรงแรมมีห้อง Sea View ว่างสำหรับวันที่ 12–15 ก.ค. 2569 1 รายละเอียดราคาดังนี้

  • ราคา 4,800 บาท/คืน (รวม 2 แล้ว)
  • พัก 3 คืน รวมทั้งสิ้น 14,400 บาท
  • สำหรับ 2 ท่าน
กรุณาตรวจสอบกับทีม reservations ว่าอัตรานี้รวมอาหารเช้าหรือไม่ ก่อนส่งให้ลูกค้า1

นโยบายการยกเลิก: ยกเลิกฟรีก่อนเช็คอิน 48 ชั่วโมง หากยกเลิกภายใน 48 ชั่วโมง จะมีค่าธรรมเนียมเท่ากับราคา 1 คืน1

หากสนใจสำรองห้อง รบกวนแจ้งชื่อและนามสกุลเพื่อดำเนินการจองได้เลยนะ1

หากมีข้อสงสัยเพิ่มเติม สามารถสอบถามได้ตลอดเวลา1

ขอบคุณ1
Andaman Lanta Reef Resort


📝 หมายเหตุสำหรับพนักงาน: ระบบยืนยันว่ามีห้องว่าง (15–16 ห้อง) ทุกวันในช่วงดังกล่าว ราคา BAR อยู่ที่ 4,800 บาท/คืนเท่ากันทั้ง 3 คืน กรุณาตรวจสอบเพิ่มเติมว่าอัตรานี้รวมอาหารเช้าหรือไม่ก่อนส่งให้ลูกค้า1
6
APPROVAL_PENDING
+0.0s
Pending operator review since 12:39:23 UTC — operator took 8m 11s to decide.
7
APPROVAL_DECISION
+491s
APPROVEDdecided_by capture-operator · 2026-05-14T12:47:34.381Z

ร่างข้อความสำหรับพนักงาน:


สวัสดี1

ขอบคุณที่ติดต่อ Andaman Lanta Reef Resort 1

ทางโรงแรมมีห้อง Sea View ว่างสำหรับวันที่ 12–15 ก.ค. 2569 1 รายละเอียดราคาดังนี้

  • ราคา 4,800 บาท/คืน (รวม 2 แล้ว)
  • พัก 3 คืน รวมทั้งสิ้น 14,400 บาท
  • สำหรับ 2 ท่าน
กรุณาตรวจสอบกับทีม reservations ว่าอัตรานี้รวมอาหารเช้าหรือไม่ ก่อนส่งให้ลูกค้า1

นโยบายการยกเลิก: ยกเลิกฟรีก่อนเช็คอิน 48 ชั่วโมง หากยกเลิกภายใน 48 ชั่วโมง จะมีค่าธรรมเนียมเท่ากับราคา 1 คืน1

หากสนใจสำรองห้อง รบกวนแจ้งชื่อและนามสกุลเพื่อดำเนินการจองได้เลยนะ1

หากมีข้อสงสัยเพิ่มเติม สามารถสอบถามได้ตลอดเวลา1

ขอบคุณ1
Andaman Lanta Reef Resort


📝 หมายเหตุสำหรับพนักงาน: ระบบยืนยันว่ามีห้องว่าง (15–16 ห้อง) ทุกวันในช่วงดังกล่าว ราคา BAR อยู่ที่ 4,800 บาท/คืนเท่ากันทั้ง 3 คืน กรุณาตรวจสอบเพิ่มเติมว่าอัตรานี้รวมอาหารเช้าหรือไม่ก่อนส่งให้ลูกค้า1
8
SEND_OUTBOUND
+0.0s
channellinesimulated
message_idsimulated-d910c7eb-edef-43d7-8651-d07453d6013b
sent_at2026-05-14T12:47:34.384Z
// What just happened

What just happened

The AI handled a Thai-language booking inquiry by retrieving cultural conventions (honorifics, VAT disclosure), querying property data tools for live availability and rates, drafting a reply in the appropriate register, and surfacing the result for human approval.