Baxitaxi is an on-demand motorcycle taxi company which launched its offline app (much before Ola, I believe). Here is a quick excerpt from what went into developing the app.
The singular reason to create such an app was to solve a real problem faced by our customers—to make it easy for them to use our services, thus giving us a slight edge over other businesses in this segment.
To protect our APIs (which are not public yet!) and to prevent competitors from reverse engineering our app, we decided to encrypt all outgoing messages from the app.
Another important aspect of our app was handling inbound communication from the server and integrating it with the flows to give a good experience to the user. To communicate important events from the server to the mobile clients, the content inside the messages was kept to a minimum. This was sent via SMS on a high priority GSM channel usually reserved for sending OTPs.
All important server to client communication was sent over SMS. In order for the customer to have a seamless UX on the app, we needed the app to listen for incoming SMS sent from Baxi, parse it, and display it on the app to emulate the screens which a user would otherwise see while using the app with a reliable internet connection.