← BACK

FILE No. 001

OPEN

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.

incident_reports6 COL
  • report_idINT
  • stay_idINT
    hotel_stays.stay_id
  • reported_atTIMESTAMP
  • last_confirmed_seen_atTIMESTAMP
  • last_seen_detailsVARCHAR(300)
  • report_textVARCHAR(500)
hotel_stays7 COL
  • stay_idINT
  • guest_nameVARCHAR(100)
  • occupationVARCHAR(100)
  • initial_room_numberINT
    the room given on arrival
  • checked_in_atTIMESTAMP
  • recorded_checkout_atTIMESTAMP
    NULL if still registered
  • checkout_notesVARCHAR(300)
room_changes6 COL
  • change_idINT
  • stay_idINT
    hotel_stays.stay_id
  • previous_room_numberINT
  • new_room_numberINT
  • changed_atTIMESTAMP
  • reason_givenVARCHAR(200)
room_access_log5 COL
  • access_idINT
  • key_idINT
    key_custody.key_idthe key, not the person
  • room_numberINT
    room_changes.new_room_numberhotel_stays.initial_room_number
  • accessed_atTIMESTAMP
  • access_resultVARCHAR(20)
    granted or denied
key_custody5 COL
  • custody_idINT
  • key_idINT
  • staff_idINT
    staff.staff_id
  • issued_atTIMESTAMP
  • returned_atTIMESTAMP
    NULL if not yet returned
staff5 COL
  • staff_idINT
  • nameVARCHAR(100)
  • job_titleVARCHAR(100)
  • employed_sinceDATE
  • background_notesVARCHAR(300)
JOINS TO ANOTHER TABLEJOINED FROM ANOTHER TABLE

/ THE QUERY TERMINAL

Run your queries

Use SQL to explore the data. Each table holds part of the answer.

query.sql · 0 queries
or Ctrl+Enter

/ NOTES

Your notepad

Write down anything useful as you go.

NOTES

/ 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."