Phase 1 Hotel Kiosk Project
I studied hospitality management, and therefore I decided to make my first project related to the hotel business.

The project requires to build Gems that provide a Command Line Interface to an external data source.
This project will allow hotel guests to self check in and self check out at the kiosk.

Additionally, they will be provided with an information about the current outside temperature (daily highest).

For this, I used and API to access my data, and then parsed this information using JSON.

Hotel.rb contains real time information about hotel’s room availability, including different room categories and their corresponding numbers. When the guests check in to the room, the room’s status will automatically change to “occupied”, and when the guests check out, the room’s status will change to “available”. Once the guests select their desired room category and the corresponding room number, they will be directed to the payment section. There, they will have options of credit/debit card payment or cash payment.

When the guests activate the screen of the kiosk, they are going to see a welcome message as well as the current outdoor temperature. They will also be asked to enter their name. In case the guests write their name with using lowercase letters, the program will automatically turn them into the uppercase letters .The guest may only choose one transaction.

For this, I used “if” and “when”statements so the program will proceed forward based on the option the guest selected.

I also added “time” gem so when the guests select the number of nights, the program then automatically calculates the check-in date (today) and check-out dates (today + number of nights). Room types will come at nightly rate based on which the program calculates the total cost of the stay after the guest selects desired number of nights.

Additionally, the selected room’s status will change to “occupied”/the room will be deleted from the list of available rooms.
To start the check-out process, the guests will be prompted to enter their room number. Once entered, the program will display zero owed balance as the guest already covered their stay cost at the check-in. Check-out it completed and the program will change the room’s status to “available”/the room will be deleted from the list of occupied rooms.
My codes are ready to go . Let’s start.

In this section, I give information of the hotel name and current outside temperature, and this is also where the guests have to enter their name .

After the guests enter their name, they will be offered 3 different transactions. They may only choose one. If they select other than 1, 2, 3, the program will inform them of selecting invalid transaction and return them to the welcome section.

If they choose option 1 — check-in, they will be offered 2different room categories.

After they select their preferred room type, they will see how many of those rooms are available and what their numbers are.

The guests select their preferred room number and follow with entering the number of nights. This will automatically calculate the check-in and check-out date, and the total cost of their stay. The guests are then presented with two payment options.

Once the transaction is completed, the kiosk will display a ‘thank you’ messaging.