Cameo 7 and Forms

Cameo version 7 was about self-service forms to host on third-party websites. This is now largely complete, though no doubt will evolve over time as needs change, and the newest code will require some bug fixes.

Regarding forms, I have three particular longer-term goals in mind:

  1. The need or otherwise for an intermediate forms server. It was done this way to manage load on Cameo. However, this means the forms can’t make direct use of the Cameo database, logging and utilities directly (they operate over the API), so the disadvantages are starting to look larger than the advantages.
  2. How forms are created in Cameo. Currently each is a long list of configurable data – what to offer on a form and how it is expressed. While it works, it is somewhat clumsy. A better approach would be to edit an example of the form directly, a more what-you-see-is-what-you-get approach.
  3. More control over general presentation. Form “themes”, “skins” or “presentation styles”, whatever you like to call it – colour schemes and layouts that are common to and applied to all the forms. This would avoid the need for much of the custom CSS to style forms (though the most important aspects are derived from the host website in the first place).

Cameo 8 and Events

The next version of Cameo, however, will focus on event and resource management and booking. The following gives a preview of what to expect. I am hoping to have a first cut of this new functionality by early autumn 2019. I may make some aspects of it available earlier than that. (Update June 2019: now available)

For events think of things like conferences, plays and concerts, or coach trips. For resources, think of things like sports equipment rental, appointments and room bookings.

There’s three main aspects to this:

  • Setting up bookable events and resources
  • Bookings, including self service ticket ordering and payment
  • Attendance, including generating attendance lists, ticket cancellation, refunds etc

An event covers lots of possibilities. At its simplest, it might be a one day conference with free attendance up to some maximum capacity. A more complex scenario is a theatre show with numerous performances in different venues over several weeks, each of which has different prices for reserved seats, which also differ in different areas of the auditoriums. Or maybe it’s a three day festival with a programme with several strands each with their own venues and capacities, perhaps separately priced or at a premium over the main price, for which attendees can pick and choose.

The common factor here is that people book spaces. This means collecting their details, managing tickets, payments, refunds and so on. Cameo already offers payment processing, contact details, embedded forms and customised documents so a lot of this is bringing these elements together in different ways.

This common factor also applies to resources. Booking a squash court or a meeting room  from some total number available, at different prices depending on time, is very much analogous to booking a theatre seat at one of a number of performances. And it’s only a small step from there to, say, renting squash rackets for a period, or projectors, or buffet lunches.

And then this can easily lead to booking appointments, either with some specialist, say (from a certain number – say three optometrists are on duty, and it doesn’t matter who sees who) or with particular people.

The aim of providing this is to keep the simple cases simple (such as a single, free event), while allowing for the complicated combinations.
The event or resource set up process comprises three parts:

  1. Venues. For things like theatres, conference centres and coaches, these defines capacities, seating plans and so on. For resources, how many of what items you have to be made available. And for appointments, similarly, who is available and where.
  2. Pricing plans. Given a venue, this defines how much it costs for different parts of the venue, for different categories of people (cheaper for children for example), and/or for each equipment rental or appointment. The same venue may well be priced differently for different uses, or on different occasions, but a run of similar events at the same venue may share the same pricing plan.
  3. Events. The time(s) at which some occurrence (say a show, coach trip, conference) takes place, at a nominated venue with some set of prices. Similarly, sessions when equipment hire or appointments are available (a dozen squash rackets available between 18:00 and 20:00 is very much the same in concept as three optometrists or 50 specific theatre seats). Some events may take place over several days. Or the same event may be repeated at the same venue over several occasions, and then move to a new venue – like a touring theatre company for example. Oh, and the price structure is the same for all the shows at any one venue, except the cheaper Saturday matinee.

One you know what is happening where, when and how much it costs we can offer booking. This can either be

  • via an agent (say over the phone) who is working directly in Cameo, or
  • self-service on a web site where the purchaser is choosing times and seats etc, from among those offered and still available (I.e. not sold out), paying online, and receiving tickets automatically.

Self-service will be via booking forms defined in Cameo and embedded in other sites, just like the other forms already available.

Tickets will be created by merging bookings and contacts with templates. A template can be nominated to service a booking. A ticket can include a barcode and be produced on paper or sent via email (or possibly text message), and might include multiple tickets with a single, common introductory page/message.

Attendance lists can similarly be produced by merging the set of those who have booked for an event, and the event information, with a template (akin to those used to produce mailing labels).

Ticket cancellation and recording arrival can be done by scanning ticket barcodes (or entering ticket ID) on an ordinary smartphone or tablet, in conjunction with an online app, or offline app preloaded with expected tickets. This both prevents fraudulent duplication of tickets and also provides for actual attendance records. Conversely, for more informal attendance with reservations rather than tickets, you could check off names in the app from those expected, rather than using tickets. Or you can, of course use a low-tech solution, to tick off from a pre-printed attendance list and enter the actual attendance later from that.

Payment is through the chosen payment providers supported by Cameo. Often (especially for self-service purchases) this will be card payments via Stripe, but doesn’t have to be. This will use the same payment pages as other forms requiring payments.

Payment processing via Cameo is subject to the provider’s policies – note that for Stripe and PayPal, refunds do not return the provider’s fee, so you can lose money on refunds. Cameo may also charge a booking fee for paid attendance.