Ideally what should happen is: The passengers' offline phone somehow communicates quickly to the drivers and shares its boarding id (Bluetooth conns are a hassle and won't work well when multiple people onboarding). The driver phone (connected to the internet) verifies booking from the server and communicates back to the offline phone with a success message. All without any intermediary device and while handling multiple passengers at the same time.
One idea is to use something like chirp.io to transfer data using sound. Any other ideas?
Idk how difficult it is for the mobile apps to create wifi hotspots from phones, but should be doable.