# Check-In Procedure Role Play: Early Arrival

> Example: a hotel front desk role play built from a check-in procedure, with an early arrival and an upsell. Script plus AI audio.

Canonical: https://zenmic.com/convert/training-manual-to-roleplay-audio/hotel-check-in-procedure/
Last updated: 2026-11-14

🛎️ Hospitality

Steps: welcome, ID and booking, room status, offer options for early arrival, explain breakfast and Wi-Fi, wish a good stay.

## Script

2 speakers · 7 lines

Receptionist

Good morning, welcome to the Harbour Hotel. Are you checking in?

Guest

Yes, it's under Khan. I know I'm early.

Receptionist

No problem. Could I see your passport, please? Thank you. Your room isn't ready yet, I'm afraid, it'll be about two hours.

Guest

Oh. I was hoping to have a shower.

Receptionist

I understand. You're welcome to use the spa changing rooms, and I can keep your bags. Or, for twenty pounds, there's a sea-view room ready now.

Guest

The sea view sounds lovely. I'll take it.

Receptionist

Great. Breakfast is from seven to ten in the restaurant, and the Wi-Fi password is on your key card. Enjoy your stay.

Want your own version? The AI writes a fresh script and casts a voice for every speaker. [Make a New One Like This →](https://zenmic.com/studio/?template=roleplay-training&topic=A+hotel+front+desk+role+play+built+from+a+check-in+procedure%2C+with+an+early+arrival+handled+positively+and+a+natural+upsell)

'; return; } if (!seen[who]) seen[who] = colors[count++ % colors.length]; var c = seen[who]; out += '

' + '' + '

' + esc(who) + '

' + '

' + pills(text) + '

'; }); return out; }; // Show a script in an element the Studio way, keeping the plain text for copy buttons (data-raw) window.zmShowScript = function (el, script) { if (!el) return; el.setAttribute('data-raw', String(script || '')); el.className = 'rounded-2xl border border-stone-200 bg-white shadow-sm p-2 sm:p-3 space-y-0.5 text-left'; el.innerHTML = window.zmScriptLines(script); }; document.addEventListener('click', function (ev) { var copy = ev.target.closest('[data-copy]'); if (copy) { var el = document.getElementById(copy.getAttribute('data-copy')); navigator.clipboard.writeText((el.getAttribute('data-raw') || el.textContent || '').trim()).then(function () { var t = copy.textContent; copy.textContent = '✓ Copied!'; setTimeout(function () { copy.textContent = t; }, 1800); }); return; } var gen = ev.target.closest('[data-studio-script]'); if (gen) { var box = document.getElementById(gen.getAttribute('data-studio-script')); try { var txt = (box.getAttribute('data-raw') || box.textContent || '').trim().replace(/^s(\d):/gm, function (m, n) { return (['Alex','Sam','Maya','Leo'][n - 1] || ('Speaker ' + n)) + ':'; }); localStorage.setItem('zenmic_prefill_script', txt); localStorage.setItem('zenmic_prefill_title', gen.getAttribute('data-title') || ''); } catch (e) {} var q = new URLSearchParams(); if (gen.getAttribute('data-template')) q.set('template', gen.getAttribute('data-template')); if (gen.getAttribute('data-lang')) q.set('lang', gen.getAttribute('data-lang')); window.open('/studio/' + (q.toString() ? '?' + q.toString() : ''), '_blank', 'noopener'); } });

## What Makes This Work

- ✓Every step of the check-in procedure
- ✓A problem handled positively (room not ready)
- ✓A natural upsell
- ✓Clear practical information at the end

## More Examples

[🧾 Customer service Returns Policy Role Play: No Receipt An agent follows the returns procedure with a customer who lost the receipt.](https://zenmic.com/convert/training-manual-to-roleplay-audio/returns-policy-call/)

[← All Training Manual to Role-Play Audio](https://zenmic.com/convert/training-manual-to-roleplay-audio/)

## Make Your Own Version

Change the names, the product or the situation. The AI rewrites it and voices every speaker.

[Make One Like This →](https://zenmic.com/studio/?template=roleplay-training&topic=A+hotel+front+desk+role+play+built+from+a+check-in+procedure%2C+with+an+early+arrival+handled+positively+and+a+natural+upsell)
