CASE FILE · No. 001 · 1932
Please Don't Check Me Out
BELLWEATHER HOTEL, BATH · DIFFICULTY: FELONY
THE BRIEFING
At 6:10 a.m. the journalist Daniel Voss checked out of the Bellweather Hotel. At 6:29 he telephoned the front desk from somewhere inside the building. There has been a mistake, he said. They have checked me out. I am still in. The line went dead there. His luggage was waiting in the lobby. His coat was still hanging in his room. Nobody remembers seeing him leave. Voss had arrived three days earlier to look into two guests who vanished from the same hotel that winter. The management says the three never met, stayed in different rooms, and left of their own accord. The register agrees with them. Voss seems to have thought a different set of records would not. Inside his notebook the police found one sentence: a room number is not a history.
CLUES ON THE TABLE
- 01.Voss disappeared on 17 February 1932. His case and the two earlier disappearances are in incident_reports.
- 02.The register keeps the room a guest was given on arrival. Later room changes are recorded separately.
- 03.Guests sometimes changed rooms more than once in a stay, so a repeated entry does not always mean another guest.
- 04.Staff record both successful room entries and failed attempts. The key number identifies the key, not the person carrying it.
- 05.Keys are shared between shifts. The custody records show when each employee took a key and when they gave it back.
/ THE EVIDENCE
Database Schema
These are the tables you can query. The lines are the keys that join them. Hover a table to see what it connects to.
- report_idINT
- stay_idINT→ hotel_stays.stay_id
- reported_atTIMESTAMP
- last_confirmed_seen_atTIMESTAMP
- last_seen_detailsVARCHAR(300)
- report_textVARCHAR(500)
- stay_idINT
- guest_nameVARCHAR(100)
- occupationVARCHAR(100)
- initial_room_numberINTthe room given on arrival
- checked_in_atTIMESTAMP
- recorded_checkout_atTIMESTAMPNULL if still registered
- checkout_notesVARCHAR(300)
- change_idINT
- stay_idINT→ hotel_stays.stay_id
- previous_room_numberINT
- new_room_numberINT
- changed_atTIMESTAMP
- reason_givenVARCHAR(200)
- access_idINT
- key_idINT→ key_custody.key_idthe key, not the person
- room_numberINT→ room_changes.new_room_number→ hotel_stays.initial_room_number
- accessed_atTIMESTAMP
- access_resultVARCHAR(20)granted or denied
- custody_idINT
- key_idINT
- staff_idINT→ staff.staff_id
- issued_atTIMESTAMP
- returned_atTIMESTAMPNULL if not yet returned
- staff_idINT
- nameVARCHAR(100)
- job_titleVARCHAR(100)
- employed_sinceDATE
- background_notesVARCHAR(300)
/ THE QUERY TERMINAL
Run your queries
Use SQL to explore the data. Each table holds part of the answer.
/ NOTES
Your notepad
Write down anything useful as you go.
/ THE ACCUSATION
Name your suspect
Type the suspect's full name and submit.
NEXT CASE
The Mislaid Sovereign →"The till is light. The ledger doesn't balance. One clerk's figures don't quite add up."