Inserting unrelated data while a transaction is occuring
If you can handle all the writes in a single connection, then Plan A.  Note:  Moving from one "page" to another in a browser necessarily leads to another connection, hence Plan B.

Plan A:  BEGIN; write...; COMMIT;  And check for errors.  ROLLBACK on errors and retry the entire transaction.  If not successful, tell the user that his seat on the plane was taken and he must start over.

Plan B:  You must set up another table to keep track of "transactions" and be ready to rollback (etc) things outside of what InnoDB (much less MyISAM) can do for you.

Note:  If Plan A takes more than a few seconds, you are asking for trouble and for failures.  If it takes longer, switch to Plan B.