Вроде начали с того, что будут ридеры для карт? Если не боитесь злоупотреблений со стороны кассира, то решается практически любым софтом, способным продавать.
Заводите несколько позиций номенклатуры, т.е., например:
1. Билет
2. Билет со скидкой
3. Билет беслатный
4. Книга №...
раздаете карточки с квадратиками по количеству бесплатных входов или отправок, например. Кассир ставит крестик в свободный квадратик, пробивает бесплатный билет или билет со скидкой в зависимости от дрессировки... Это опять же реализуется практически в любой системе. Вопрос доверия кассиру.
Второй вариант сложнее и дороже - ридеры для карт, кассир ни во что не вникает, сует в ридеры карты, которые ему дают.
Опять же вопрос разделения аналитики. Т.е. что нужно ли вам разделить кассу и аналитическую часть. "Ограниченный бюджет" у разных людей различается не одним нулем. Сколько денег? Если совсем все плохо - пусть будет, как есть сейчас, только кассиру поставьте
КИС Lack УС Land, пусть отмечает покупки, например. Вводных данных маловато.