FREESEAT

FAQ

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?

That's actually the most tedious part of installing FreeSeat. It requires either some programming knowledge (shell scripting) or lots of patience. I provided two example scripts that you may want to use as a base (they output a MySQL script which you can then execute to populate your seats table). If you are under Windows you will probably require Cygwin to execute them.

Another way is to enter the seats one by one with statements such as

insert into seats (theatre,row,col,x,y,class,extra,zone) values (1 ,1 ,2 ,3 ,13 ,1 ,"Pair" ,"Balcon" );

to be executed in the MySQL client.

To help you decide whether FreeSeat is right for you I provided an example seating plan here (which is for the theatre in Vevey). You can simply execute it in your mysql client by typing \. theatrevevey.sql at the prompt. Note that that script will erase any pre-existing seating plan of id 1.

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

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.

Against payment, though (amounts to be discussed - there's no fixed price), I may provide partial or full management of your ticketing requirements, including hosting, configuration and developing additional features. Please contact me at maxime at gamboni dot org

SourceForge.net Logo