Computers understand Unix Time Stamps. Since all reservation times are host time, it is important to pick the correct host time zone, so that the unix time stamp can be appropriatialy adjusted.
To Avoid confusion all reservations start at 14:00 PM host time and end at 11:00 AM host time.

Pressing the Create Reservation Button, will create 2 seperate transactions:
  1. DAI Approval (44,000 Gas):The app will check whether the reservation factory contract has approval to transfer the users DAI for the amount of the advance payment. If not, the user will have to give approval. This is done everytime a user creates a new Reservation. The app does not request an infinite approval. If the user wants, they can set their own approval limit with the DAI contract directly on the main chain, in which case, this first step can be avoided.
  2. Create New Reservation Contract:Once the reservation factory contract has the necessary DAI allowance approval, it will create a new reservation contract, and transfer the advance payment to the new contract.

To avoid confusion there is only one cancellation policy written into the smart contract, that varies the cancellation period and cancellation amount, depending on the reservation length of stay.

The minimum amount due, when creating a reservation is the cancellation fee, that the guest will be charged if they cancel the reservation after the cancellation period.

Yes. The guest can pay the entire amount. If the guest cancels the reservation and a cancellation fee is applicable, the cancellation fee will be deducted from the amount locked in the contract and transferred to the Host. The remaining amount will be refunded back to the guest instantly.

Assuming the reservation has not been cancelled, the host can claim the rent amount locked in the contract 21 Hrs after Checkin Time. The DAI contract balance will be instantly transfered to their address.

ETH Gas Station