We have written an app that uses a Bluetooth credit card reader to process payments for taxi drivers. The app works satisfactorily, except that it requires that the driver ask the passenger for the card to be scanned or for the driver to hand the mobile phone to the passenger, along with the reader.
Neither of these options is optimal.
Instead, we would like to provide a second tablet, mounted in the back seat, but controlled by the driver app, as shown in the attached image.
This is the overall scenario:
When the driver is ready to accept payment he launches the payment app on his phone, enters the amount, and transmits this data to the back seat phone. This passenger app wakes up, displays the amount due, allows for entering of a tip and instructs the passenger to scan the card. The card reader transmits the scan, along with the total, to the driver companion app, which relays the transaction to the gateway and waits for approval. When the approval comes back the passenger tablet displays the results and asks for a receipt preference: email or printed.
There are two communication channels going on simultaneously: one between the driver app and the gateway, over an Internet connection, the other between the driver and the back seat tablet.
Your job would be to modify our app to implement this second channel.
We think that the passenger tablet must be ON all the time and running the slave app in the foreground, waiting for input from the driver.
Looking for an IOS developer that knows how to use Bluetooth to control a slave device (another Smartphone) and a card reader. The Master in the Master/Slave configuration is an iPhone that displays instructions to an Android Slave Smartphone and accepts the scan from the card reader The attached images will give you a rough idea, showing the Smartphone that displays the instructions and the card reader. Not shown is the Master, which is the iPhone.
We are presently using a card reader (BTMag, by IDTech) that unfortunately depends on the Master staying in the foreground in constant communication.
There are two Bluetooth channels: One controls the slave Smartphone to display the prompts, the other accepts the card scan. The 'Master' app that accepts the card scan may go in the background because the driver gets a phone call or switches to another app. It is this latter case that causes the card reader (IDTech's BTMag reader) to turn off.. Thus the basic problem that must be solved.
Ideally we need a different configuration, one where the slave is also the card reader, so no separate Smartphone is required. But this means the card reader must have a touch screen, support Bluetooth and encryption. I have not found such a device.. If you know of such a device you have the job. Otherwise we need to figure out a way to keep the BTMag ON, perhaps by allowing it to be read by the slave Smartphone rather than the Master. In this case the Slave 'app' can stay in the foreground as it is not used for anything else but to support the card reader.
Hiring on a time-basis. Limit: 15 hours per week.