Hotel guest messaging over iMessage with an AI concierge
ZeroSettle lets a boutique hotel or vacation-rental manager give guests one iMessage number for their whole stay, answered by a hosted AI concierge (Beta) that works from your check-in times, parking, breakfast hours and house rules. Guests text first from a link in the confirmation email, so links to the parking map are tappable and no new-contact limit applies. Guests abroad reach you over Wi-Fi or mobile data, without needing international SMS. ZeroSettle's Pro plan is $49 a month and includes 1,000 AI credits, one per text the concierge sends.
Key takeaways
- What it is: one iMessage number on your confirmation emails and welcome cards, answered by ZeroSettle's hosted AI agent (Managed by AI Agent, Beta) from a business context you write.
- Who it fits: boutique hotels, inns and direct-booking vacation-rental managers whose guests mostly use iPhone.
- Price: Pro is $49/month with 1,000 AI credits a month. Growth, for several numbers working as one, is from $599/mo with 5,000.
- Main limit: the concierge answers only from its business context. It can't look up reservations, room status or folios unless you connect a tool that can, and anything in the context is open to whoever texts.
- What it does not do: let staff reply in a thread the agent manages, or reach Android phones (there is no SMS fallback).
Who uses iMessage for hotel guest messaging?
ZeroSettle's guest line suits boutique hotels, inns and direct-booking vacation-rental managers whose guests lose the confirmation email with the check-in details, call the front desk for small things, and ignore the hotel app.
ZeroSettle is an iMessage API: a real phone number on real iMessage, running on Apple hardware we operate for you, that your code texts customers from and hears back on through a bearer token and signed webhooks. On a guest line the hosted AI agent replaces that code, as on an after-hours AI receptionist or an event help line (more on the use cases hub).
How iMessage for hotel guest messaging works, step by step
Guests text the number in their confirmation email, and ZeroSettle's hosted agent answers from facts you wrote; anything needing a person goes to the front desk.
- The confirmation email and the welcome card say “Text us anything during your stay”, with an
sms:link (a QR code on the card) prefilled with the booking reference. - The guest adds a question and sends, so the thread starts from their side.
- The line group is Managed by AI Agent (Beta). The agent shows the typing bubble and answers in up to three texts from the
business_context: check-in times, parking and its map link, breakfast hours, the Wi-Fi network, nearby restaurants and house rules. - For towels or a noisy neighbor, the agent gives the front desk's extension: a line the agent manages doesn't accept staff replies from the console, though staff can read every thread there. For staff in the thread, run the line as Managed by API instead.
The booking reference is for staff: the agent doesn't look up reservations on its own, but the front desk can match the thread to the booking.
Example conversation: hotel guest messaging
A guest on a late flight asks about check-in, parking and food, and the hosted agent answers from the business context below.
- Fri 6:12 PM
- Guest: Hi, booking ref HX4471. This is Priya Patel. What time is check-in and where do we park?
- Hotel: Welcome, Priya! This is the Wren's automated concierge. Check-in is from 3 PM.
- Hotel: Parking is through the gate on Alder St. Just give the valet your name.
- Guest: is there anywhere to eat late? we land at 10
- Hotel: Rosa's Taqueria is a 4-minute walk and open until midnight 🌮
- Guest: perfect
Setup: a booking-reference link and the hosted agent
A ZeroSettle guest line needs one link in your email template and one saved business context; an agent-managed line never calls your webhook, so there is no server to run.
<a href="sms:+18055550100&body=Hi%2C%20booking%20ref%20HX4471.%20">Text us anything during your stay</a>
Your email system fills in each reference (short and opaque, never a secret). The &body= form is the one the ZeroSettle docs use, and it opens Messages on a guest's iPhone; RFC 5724, the IETF standard, writes it ?body=. On Android the link opens the SMS app, so print the front desk's number and email beside it. Getting customers to text first covers QR codes.
The business context is the concierge's only source of facts, up to 40,000 characters. The agent answers whoever texts the number, so if you wouldn't print it in the lobby, leave it out: no door codes or room numbers.
You are the Wren Hotel's automated concierge. Say so in your first reply.
Check-in from 3 PM; check-out by 11 AM. Parking: through the gate on
Alder St; give the valet your name. Map: https://example.com/wren/parking
Breakfast 7-10:30 AM in the courtyard.
Wi-Fi network "Wren Guest"; the password is on the welcome card.
Late food: Rosa's Taqueria, 4-minute walk, open until midnight.
You can't see reservations or bills; never promise late checkout.
Towels, noise or anything you can't answer: dial 0 from the room,
or call the front desk at (805) 555-0142.
Then switch the line group to Managed by AI Agent in the console's Messaging tab, or with one call that also turns off the default sales goal and follow-ups:
BASE=https://portal.zerosettle.io
jq -n --rawfile ctx wren-context.txt '{managed_by: "zerosettle", business_context: $ctx,
goal_enabled: false, triggers: []}' |
curl -s -X PUT "$BASE/api/imessage/agent" -H "Authorization: Bearer $ZEROSETTLE_TOKEN" \
-H "Content-Type: application/json" --data-binary @-
The default goal, purchase, steers toward a sale a concierge doesn't make, and the default follow-up trigger texts a guest who went quiet the next morning, a credit each. Keep response_time at instant; hard_to_get answers about a day later. Set the line's name and photo to the hotel's. The AI agent docs list every setting.
Limits and consent for hotel guest messaging
Guests text first, so ZeroSettle never counts them as new contacts. The limit that matters is AI credits: one per text the agent sends, 1,000 a month on Pro.
| Limit | On a guest line |
|---|---|
| Guests who text first, and messages in and out | Unlimited |
| AI credits | Pro 1,000/month, Growth 5,000, shared by every number; unused ones don't carry over |
| Texts per agent answer | Up to 3 |
Texting a guest first (POST /api/imessage/agent/start) | A new contact for anyone who hasn't texted the line (Pro: 5 a day per number), and a link in it isn't tappable. Write your own first_message first: the default opener is meant for a sales lead |
Credit math. If 200 guest parties text in a month and each stay draws four agent texts, that is 800 credits, inside Pro's 1,000. At six texts a stay the month needs 1,200: add one 1,000-credit pack for $50. At zero the agent goes quiet and doesn't catch up after a refill, so act on the text ZeroSettle sends your sign-in number at 20% left.
“We'll stop for dinner first” is an opt-out
A text with the word STOP in it, or a clear request like “take me off your list”, opts the sender out of every number on your account, so that guest gets no more answers until they text START. If they ask the front desk instead, ZeroSettle can clear it. The console shows when they texted STOP; see how STOP works.
Consent. Guests start the conversation; text first only guests who gave you their number for stay messages. Post-stay offers need a separate opt-in, and nothing promotional should go before 8 am or after 9 pm in the guest's time zone. ZeroSettle's terms require AI disclosure unless it is contextually evident; the agent says it's the hotel's automated assistant if sincerely asked, and the Wren's context has it say so up front. Rules vary by place; this isn't legal advice.
When ZeroSettle is not a fit for hotel guest messaging
ZeroSettle's hosted concierge answers iMessage guests from a written brief, so it is the wrong tool when:
- Staff need to reply in the same thread the agent answers. An agent-managed line refuses console sends with
403 managed_by_zerosettle. Run the line as Managed by API and answer from the console, or route guest texts to Slack. - Guests need private details by text, such as a door code for self check-in or their room number. The agent answers anyone who texts the number, so send those from your property system, or from your own server on the webhook after matching the guest's number to the booking.
- Most of your guests use Android phones. The line reaches iMessage only, with no SMS fallback, so those guests need a channel that works on their phones.
- You need PMS lookups such as room status or folios. The hosted agent can use remote MCP servers you connect, but has no PMS integration of its own; your own model on the webhook can call your PMS directly.
How much does iMessage for hotel guest messaging cost?
A ZeroSettle guest line costs the plan price, plus a credit pack in any month the concierge outruns its included credits.
| Plan | Price | Numbers | AI credits a month |
|---|---|---|---|
| Pro | $49/month | One, 5 new contacts a day; unlimited messages with people who message you first | 1,000 |
| Growth | From $599/mo | 3+, working as one | 5,000 |
Packs add 1,000 credits for $50 or 5,000 for $200 and never expire. Pro has no setup fee and a 30-day money-back guarantee on the subscription; Growth starts with Book a demo. On Growth, each line group has its own name, photo and agent settings, so properties on different line groups can each have their own concierge, drawing on one shared pool of AI credits. See ZeroSettle pricing, the plans and the API docs, or get a number.
Frequently asked questions
Do guests abroad pay to text the hotel?
Not for international SMS, because iMessage isn't SMS: it goes over Wi-Fi or cellular data. On Wi-Fi, such as the hotel's, messages go over Wi-Fi; without it they go over cellular data, and Apple notes that cellular data rates might apply.
Can the agent answer overnight and staff during the day?
Yes. Switch the line group in the console each morning and night, or have a scheduled job send PUT /api/imessage/agent with managed_by set to api when the desk opens and zerosettle when it closes. Under api, staff reply from the console and no credits are used.
Can guests keep texting after checkout?
Yes. The thread stays in their Messages and the agent answers whenever they text, so add lost-and-found instructions to the business context.
Sources
- ZeroSettle iMessage API docs: “AI agent” (Managed by AI Agent, AI credits), “Customer support” and “Errors, limits, and compliance”. Checked October 8, 2026.
- ZeroSettle iMessage API Terms, section 4 (disclosure of AI interaction). Last modified September 28, 2026.
- What is the difference between iMessage, RCS, and SMS/MMS?, Apple Support, published May 11, 2026. Checked October 8, 2026.
- RFC 5724: URI Scheme for Global System for Mobile Communications (GSM) Short Message Service (SMS), IETF, January 2010 (the
bodyfield, written?body=). Checked October 8, 2026.