Ahoi,
Du fragst die Status der Plätze aus einer Datenbank, erzeugst eine Matrix und selektierst dann pro Feld den Status. Dementsprechend blendest du die gewünschte Farbe ein. Jedem Feld weißt du einen eindeutigen Bezeichner, eine ID, zu, und versiehst jedes Feld mit einem Action-Handler, der einer Funktion die Feld-ID übergibt.
Eigentlich müsstest Du jedem freien Feld die Möglichkeit geben, es zu belegen. Dazu wäre auch eine checkbox tauglich. Die ganze Tabelle wäre dann ein Formular, was du so an den Server schickst, damit die Bestellung erstmal im Warenkorb landet.
Insgesamt ist das ganze nicht ganz trivial.
Man muss zum Beispiel darauf achten, dass nicht zwischen "ich pack das in den Warenkorb" und "ich schicke die Bestellung ab" jemand anderes bereits die Karten gekauft hat. Entweder es zulassen, oder aber einen zwischen-Status einführen, der dann aber auch sauber wieder aufgelöst werden müsste.
Dank und Gruß,