The logic is pretty simple..
Scenario if you are the flipped car ::>
1st. You type !towrequest or whatever you want the command to be
2nd. You wait for (all or the nearby) tow cars to be informed
3rd. You receive a message of the status of the informing process
Scenario if you are the tow car that's going to be informed about it ::>
1st. Nothing happens before the !towrequest command is executed
2nd. You receive a button with information about the flipped car
3rd. You are allowed to either accept or reject the tow request?
4th. When you go near the car you do whatever the rules require you to do
Scenario on the programming side ::>
1st. You listen for MSO packets
2nd. You recognize the !towrequest command when received
3rd. You iterate thorough all of the users
4th. If the current user is tow - check their distance from the flipped car in nodes
5th. If they are close enough - display a button, and allow them to accept or reject the req
5.1. Inform the flipped car that tow cars have been found
6.1. If the tow car accepts - inform the user again
6.2. If all the tow cars found reject the req - again, inform the user
There it is. Step by step. And I guess that you will be using an open source project as a base for your insim app, so you can ignore step 1 on the programming "scenario".