In this service, the hashtable will be maintained in memory. In that case if our service will restart, then we will miss the hashtable. One more clarification will this will a global memory or system memory?

I’m confused about this as well. I assume the solution suggests we keep the data in the DB as well as the hashtable in memory. However, I don’t know how can we keep this hashtable in-sync if we have multiple app servers running at the same time.

Hey i also think the same way.
I do not think ActiveReservationService is at all needed.
Bookings which are in “reserved” state can go to “booked”, “expired”, “cancelled” and this ca be achieved by simply writing to database for that user.
I do not see any use of cache here.