Highlights
- Content Management System
- Event Web Store
- Integration with onsite point-of-sale software
- Complicated frequent diner point tracking system
- CMS functionality is supplied by Comatose integration
- Cart checkout uses Authorize.Net payment gateway
- Gateway code is provided by ActiveMerchant
- Digital Dining point of sale software was integrated using SOAP calls
- SOAP4R was the library used for the SOAP integration
- A mixture of Test::Unit and Shoulda is the testing framework
- A complex accounting system was built based on Martin Fowler's Accounting Patterns
City Winery
City Winery is a winery located in downtown Manhattan. The total amount of time for the initial City Winery rollout was an impressive 3 months. I wrote all of the backend code which probably comprised 80-90% of the whole solution. The winery in addition to being a restaurant also hosts live events with famous music acts such as Joan Osbourne, Calexico, and, Steve Earle. The City Winery site starts off as a simple CMS where staff can add new content for the site. The admin section allows them to also create two different types of events, General Admission and Seated Events which then appear on the site ready to have tickets sold to members and the general public. When a member elects to purchase a seated event they are taken to a special seat picker which contains a layout of the City Winery seating and allows the member to select the exacts seats they want. Memberships are sold through the site that give people special discounts at the winery. When a person buys a membership they receive a $35 credit towards wine classes and a $10 credit at the winery. A special accounting system was created to keep track of these credits and their usage at the winery. When a City Winery member visits the winery they are given a special card which is swiped during the evening for all of their consumption of wine at the premises. At the end of the night when the member checks out, City Winery's point of sale system, makes an Http call to the web site whereupon the site subtracts the credits from the total amount, charges a credit card on file, and then sends a SOAP call back to the winery with a success or failure status for the credit card charge. Credit card handling is with Authorize.net.
