FreeSeat hasn't been updated for a long while. What's up?

There are no known issues, and I don't need any additional feature. If you find a bug or need a new feature, please post it in the appropriate tracker (see the answer of the last question).

How do I set up a seating plan?

Since version 1.3.0, seating plans can be created with a graphical editor (plugin "seatedit", English name "Seatmap Editor" in the plugin selector of the configuration plugin). It unfortunately does not support unnumbered seats/general admittance tickets yet. If you have only unnumbered seats, the simplest is probably to create a map with as many seats as you need, then use the mysql command line to update rows with statement

update seats set row=-1 where theatre=xxx
replacing xxx by the theatre id which you see in the address bar (or drop the whole "where theatre=" bit if you have only one theatre). You'll have to refine this statement if you have a more complicated setup with some seats numbered and some not, for instance put all unnumbered seats on the same row and add and row=yyy in the above statement.

Admin over HTTP?

I don't recommend it, but if for some reason you really can't use HTTPS on your website, you can do the following change to support admin mode over HTTP:

Look for the function admin_mode in functions/session.php, and replace the whole block within the braces after if (isset($_SESSION["adminpass"])) with just

return true;
. In version 1.3.1b, that means the resulting admin_mode() function will look like this:
function admin_mode() {
    global $lang,$unsecure_login;
    if (isset($_POST["adminpass"]) && strlen($_POST["adminpass"])>0)
	$_SESSION["adminpass"] = nogpc($_POST["adminpass"]);
    if (isset($_SESSION["adminpass"])) {
        return true;

I need more than two price categories (e.g. different prices for Members, Students, Children, etc)

I wrote a patch again version 1.1.5d for that. Please read the instructions in the patched README file for installation.

FreeSeat doesn't let me select credit card payment (or some other payment method)

Three reasons a payment method may be disabled:

Log in as administrator using the field at the bottom of the page, click "System Parameters" near the bottom of the page and look at the "Availability of payment methods" section.

For cause number 1), check that the $ccard_provider option is set to something in config.php (if not, there should be a warning message at this point in the dotted box in the Availability section of that page). For cause number 2), check that the check-box "disabled" at the right of the payment option causing problems is not checked. For cause number 3), check that the field "To" is not too large, and that the field "From" is not too small.

Tickets are cut when printing more than can hold on one page

This is a failure of the browser to handle the page-break-inside property. Last time I checked, Opera and Konqueror (linux) handled it correctly.

I noticed people can obtain and print tickets without having paid them!

True. This may change in a future version, but currently FreeSeat will give access to a ticket as soon as it has been booked, rather than waiting for it to be paid. The motivation is two-fold:

  1. People can book tickets without having/giving an e-mail address (they use the site a single time, print their tickets, then pay)
  2. I don't want to give the administrator a false sense of trust, that anybody holding a ticket can be assumed to have paid. Anyway you are going to have to check the tickets against a list of known valid tickets (see next question)

So, how should the ticket checking procedure go?

You need to check three things:

  1. The ticket has a valid id (those numbers written on the border)
  2. The ticket's information (date, class, rate) is correct with respect to that id (people should not be allowed to print the same ticket many times with different dates)
  3. A given ticket number is used only once (we don't want two persons to enter with two copies of the same ticket)

Depending on how many people you are expecting, how much you trust them and how long you are ready to make them wait, there are various things you can do:

I need more than one ticket checking point. How does it change things for me?

All but the first method in the previous question still work. For the first method (exchanging tickets for tokens), either label the checking points according to reservation id (as in "People with tickets ending in -2 and -3 check in here" etc), modify the ticket generation code to display something like "check in at counter G", or use a networked application that marks valid tickets as "used", every ticket checking counter being connected to the same server.

I have a question which isn't answered here

If you are having installation troubles, even after following the installation guide a first troubleshooting step is to load the configuration plugin (http:///plugins/config/), enter any password it requires, then check if all is green. If not, it should typically provide a way to solve issues semi-automatically from that screen.

If this does not help please use the source forge trackers if you need help for installation, configuration, to request additional features, to post bug reports, and to post patches.

Of course you'll understand, the program being free, that I can't give any guarantee as to solving/implementing these issues. Logo