CiviCRM Community Forums (archive)

*

News:

Have a question about CiviCRM?
Get it answered quickly at the new
CiviCRM Stack Exchange Q+A site

This forum was archived on 25 November 2017. Learn more.
How to get involved.
What to do if you think you've found a bug.



  • CiviCRM Community Forums (archive) »
  • Old sections (read-only, deprecated) »
  • Discussion (deprecated) »
  • Feature Requests and Suggestions »
  • Usability Improvements (Moderator: Dave Greenberg) »
  • Event rego - interface for additional people is counter-intuitive
Pages: 1 [2] 3

Author Topic: Event rego - interface for additional people is counter-intuitive  (Read 9667 times)

Dave Greenberg

  • Administrator
  • I’m (like) Lobo ;)
  • *****
  • Posts: 5760
  • Karma: 226
    • My CiviCRM Blog
Re: Event rego - interface for additional people is counter-intuitive
October 29, 2009, 10:43:17 am
Ken and others who posted here -- the changes have been implemented for the upcoming 3.1 release and can be previewed on the "trunk" sandbox:

http://sandbox.civicrm.org/civicrm/event/register?id=1&reset=1

I decided to move the "How many...." prompt to the top of the form - since it also explains how to fill out THIS page. Take a look and see what you think. (Suggestions on wording are also welcome...)
Protect your investment in CiviCRM by  becoming a Member!

ken

  • I live on this forum
  • *****
  • Posts: 916
  • Karma: 53
    • City Bible Forum
  • CiviCRM version: 4.6.3
  • CMS version: Drupal 7.36
  • MySQL version: 5.5.41
  • PHP version: 5.3.10
Re: Event rego - interface for additional people is counter-intuitive
October 30, 2009, 12:02:10 am
Dave,

Thanks again for your hard work - this is very nice!

It could be nicer ...
  • The words "(including yourself)" and "your registration information" don't apply in the context where a person is registering on behalf of someone else. I've tried to think of alternate wording but the options are more complex and would probably be more confusing. Unless a word-smith can do better i suggest we stick with this wording (people can always edit their template!)
  • When I went to the sandbox the event had been reset to not allow multiple rego. You may consider changing the sandbox refresh script to make this permanent (it's a nice feature which would be good to showcase)

Having said that, this is a significant improvement,

Ken

Dave Greenberg

  • Administrator
  • I’m (like) Lobo ;)
  • *****
  • Posts: 5760
  • Karma: 226
    • My CiviCRM Blog
Re: Event rego - interface for additional people is counter-intuitive
October 30, 2009, 11:50:32 am
Ken - If you come up w/ better wording to encompass the "registering on behalf of someone else" case, let me know.
I've updated the code that creates sample events to turn on multiple registration for the Fall Fundraiser event
Protect your investment in CiviCRM by  becoming a Member!

kmarkley

  • I post frequently
  • ***
  • Posts: 178
  • Karma: 14
  • CiviCRM version: 4.4.3
  • CMS version: Drupal 7.24
  • MySQL version: 5.1.56
  • PHP version: 5.3.27
Re: Event rego - interface for additional people is counter-intuitive
November 15, 2009, 04:50:04 pm
Aha!  I just discovered this thread and the issue filed for 3.1.  I have also played around with the new feature in the sandbox.

I would be tremendously interested in taking this one step further.  If the event is set up to allow multiple registrations with the same email, it would be great if all the registrations could be created all at once.  The total price would be the number of participants in the drop-down times the selection in the price set.  And the user would not have to worry about entering names or emails in additional pages for the additional participants.

I imagine a checkbox on the Online Registration tab for "Allow multiple registrations all at once?" below and inset from the "Allow multiple registrations from the same email address?"

The point to this would be the use-case of selling tickets to events where the social norm is that you do not need to give the names or email addresses of your guests.  Like every theatre and movie box office you know.

I have been in discussion with the folks from webaccess to do some customization that would give us similar functionality, but the changes going into 3.1 seem to take us halfway there already.  We would interested in sponsoring a change like this for future versions of civiEvents.

Beyond mentioning it to the guy I've been talking to at webaccess, what does one *do* to sponsor a change?

Anyone else out there interested in this?

Dave Greenberg

  • Administrator
  • I’m (like) Lobo ;)
  • *****
  • Posts: 5760
  • Karma: 226
    • My CiviCRM Blog
Re: Event rego - interface for additional people is counter-intuitive
November 16, 2009, 11:13:02 am
The theater / movie ticket model is a familiar one and it would be good to find the "right" way to support this option in CiviEvent. A few thoughts / questions:

1. Have you looked at using a Price Set with a single field to accomplish this (without the multiple participants feature):

[    ] Number of Tickets ($12.50 each)


2. If the above doesn't work for your requirements (and it would be good to know why it doesn't) - then here's the next issue.... Currently we create a contact AND participant record for each person being registered. (Or if we find a matching contact, we link the new participant record to that contact.). For the multiple registrations with same email, we expect a first and last name so we can still create a contact record for each participant.

Since you want a flow that does NOT collect email / name info for anyone other than the person buying the tickets - the "implication" is that the resulting is EITHER one participant record with N line items (priceset approach) OR N participant records tied to a single contact record.
Protect your investment in CiviCRM by  becoming a Member!

kmarkley

  • I post frequently
  • ***
  • Posts: 178
  • Karma: 14
  • CiviCRM version: 4.4.3
  • CMS version: Drupal 7.24
  • MySQL version: 5.1.56
  • PHP version: 5.3.27
Re: Event rego - interface for additional people is counter-intuitive
November 16, 2009, 11:34:31 am
Two issues with option 1:

1. We need not only number of tickets, but at different price points.

2. Counting available seats and avoiding selling beyond capacity.  Because participant records are already used to count against maximum participants, we have been pursuing the second option ("N participant records tied to a single contact record").  

This also results in a participant list that has Jane Doe listed N times -- which isn't the most efficient use of paper perhaps, but is easy to find/understand at the door.  "Here are your N tickets Ms Doe."
« Last Edit: November 16, 2009, 11:59:33 am by kmarkley »

ken

  • I live on this forum
  • *****
  • Posts: 916
  • Karma: 53
    • City Bible Forum
  • CiviCRM version: 4.6.3
  • CMS version: Drupal 7.36
  • MySQL version: 5.5.41
  • PHP version: 5.3.10
Re: Event rego - interface for additional people is counter-intuitive
November 16, 2009, 03:19:05 pm
kmarkley's suggestion could be accommodated with an extension to price sets.

Each option in the price set results in a dollar value. The total dollar value of the price set is the sum of the contribution from each option, and each option is priced as the product of number of unit times unit price.

In a similar way, this could be extended to count participants. By default, each option would count 'zero' to the number of participants, but this could be set to a non-zero value.

For example, imagine a dinner where individual seats cost $50, and a table of 8 is offered at a discount price of $350. In addition, there is an option where the person registering can offer to make an extra contribution of $100.

The price set options then become ...
 * Individual, with unit cost of $50 and participant count of 1
 * Table, with unit cost of $350 and participant count of 8
 * Donation, with unit cost of $100 and participant count of 0

Ken

kmarkley

  • I post frequently
  • ***
  • Posts: 178
  • Karma: 14
  • CiviCRM version: 4.4.3
  • CMS version: Drupal 7.24
  • MySQL version: 5.1.56
  • PHP version: 5.3.27
Re: Event rego - interface for additional people is counter-intuitive
November 16, 2009, 03:44:46 pm
That would be awesome - and solve two issues in one swipe (my box office issue and the individual/table issue you mention).

In the price set solution, I would also need a new kind of price field.  Although it would work to have:

[    ] Number of Tickets ($12.50 each)
[    ] Number of Tickets ($25.00 each)
...etc.

This is not ideal for us.  If someone buys 4 tickets, 99.5% of the time, they'll want to sit together and have one price.  So I would also need:

[    ] Number of Tickets               

Choose Price: 
O $12.50 each
O $25.00 each
...etc.

This is similar to what I was discussing with webaccess before I learned of the improvements in 3.1 -- with the exception that 'counting' the price set resulted in multiple participant records (to solve the maximum participant issue.)

I need some kind of solution to this in the next two months, and I would love for whatever it is to have the support of the community and eventually join the official releases.

I am completely new to civi and open-source in general.  Please let me know what I can/should do to help this along.
               

Dave Greenberg

  • Administrator
  • I’m (like) Lobo ;)
  • *****
  • Posts: 5760
  • Karma: 226
    • My CiviCRM Blog
Re: Event rego - interface for additional people is counter-intuitive
November 16, 2009, 06:06:59 pm
Kirk - The steps to moving this along are:
1. Flush out the specifications a bit more on this forum thread. (see my comments below)
2. Discuss the spec with Web Access (or another developer of your choice) and figure out cost and timing
We (core team) will work with Web Access to ensure that the changes are integrated into the next possible release.

I think Ken's approach makes a lot of sense - and this would potentially be a great addition to core. Basic concept (to reiterate) : each price set FIELD carries a "participant count" property which can be used to control capacity (maximum participants). If this count property is 0, then the participant record itself is counted (as 1).

A few comments:

a. This proposal (so far) doesn't address capacity at a "section" level (i.e. I can offer 100 tickets at the $25 level, 200 tickets at the $35 level etc.). Is this a requirement for you - it has come up several times in other discussions here.

b. Currently, price set fields can have a price with count input:
[  2  ] Tickets ($12.50 each)

OR they can have priced options...

Dinner choice:
[  ] Fish ($25)
[√] Chicken ($15)
[  ] Tofu ($12)

You "ideal" approach (2nd example in your last post) doesn't fit either of those - and I'm wondering if it's really necessary. It would definitely increase the scope / cost to support this user interface. When I buy movie or theater tickets online I'm often presented with this kind of interface:

[ 2 ]  Regular Admission - $12.50 each
[ 2 ]  Children (under 12) - $7.50 each
[    ]  Senior (over 65) - $9.00 each

Protect your investment in CiviCRM by  becoming a Member!

kmarkley

  • I post frequently
  • ***
  • Posts: 178
  • Karma: 14
  • CiviCRM version: 4.4.3
  • CMS version: Drupal 7.24
  • MySQL version: 5.1.56
  • PHP version: 5.3.27
Re: Event rego - interface for additional people is counter-intuitive
November 17, 2009, 08:32:27 am
Thank you for your helpful response.  There are a couple of things I want to say up front.

First, I believe that our use-case involves several aspects that would be generally useful to a number of civi users and may also include some aspects that are peculiar to us.  I am willing to concede that a new price field may fall into the second category, but I would not want that to interfere with incorporating the more useful bits into the core system.

Secondly, as someone who knows nothing about the coding involved, it seems to me that price fields are a pretty modular part of the big picture.  A new price field would be useful to some (perhaps small) number of users, and easily ignored by everyone else.

All that said, here's the thinking behind a new type of price field.

ANY price field that works as I've suggested:

[  ] Number of tickets
Choose an option:
O - option 1
O - option 2
...

CAN be generalized using an existing price field:

[  ] Number of tickets option 1
[  ] Number of tickets option 2
...

The difference is not any new functionality, but just a simplicity for the buyer based on likelihood of someone buying tickets at different prices.

Our immediate interest in this is something that is very specific to us.  We have recently instituted a "Pay What You Can" ticket policy for all regular performances.  So we imagine a price set that looks like this:

[  ] Number of tickets
Choose option:
O - I want to help out by buying a ticket for someone less fortunate - $50 per ticket
O - I know what it really costs to produce live theatre - $35 per ticket
O - I don't like pay-what-you-can. Just tell me what the ticket costs - $25 per ticket
O - I’m not sure what I’m getting into but I love a great bargain - $15 per ticket
O - Things are tight for me now but I don’t want to miss out - $10 per ticket
(Or you can set your own price at the door.  If you are really hurting, and we have seats available, you can even see the show for nothing – just get us back the next time and remember who helped you out when you were down.)

But it is not hard at all to imagine other use-cases where this would be useful:

[  ] Number of tickets
Choose an option:
O - priority seating (like airline priority boarding)
O - standard seating

Is anyone ever going to see a show with 3 friends, but leave 2 of them to stand in the longer line?

Or:

[  ] Number of tickets
Choose an option:
O - show only
O - show and champagne reception

It would be important to TRACK the number for the reception, but the hard limit (max participants) would be for the show itself.  It would be possible to do this by adding a separate 'reception' option with a participant count of 0:

[  ] Tickets to show
[  ] Tickets to champagne reception

But again, would anyone leave some of their guests out of the reception?  And how would you prevent buying tickets to the reception only?


We do NOT need to track capacity at the section level.  (In a long-term plan whereby civi eventually becomes something like a traditional box office solution, this would be a logical next step - followed by season tickets, date swapping, and finally assigned seating).

Thanks again.  I hope this wasn't too long-winded.

ken

  • I live on this forum
  • *****
  • Posts: 916
  • Karma: 53
    • City Bible Forum
  • CiviCRM version: 4.6.3
  • CMS version: Drupal 7.36
  • MySQL version: 5.5.41
  • PHP version: 5.3.10
Re: Event rego - interface for additional people is counter-intuitive
November 18, 2009, 04:01:02 am
Dear kmarkley,

My preference would be for the solution proposed by Dave, primarily because of concerns about complexity.

Your proposal for a new type of price field has merit, but I think it would be much more difficult to implement.

Dave's proposal works within the current implementation, where a Price Set is just that, a set of price fields. Fields require users to either make a choice or specify a count.

Here are some complexities I perceive with this new type of field...
  • The new type "nests" a set of Choice fields within a count field. The database would need to manage these links between price set options. The price set becomes harder to set up and test.
  • If a user wishes to select one option, then Dave's solution requires only one number to be entered. However, the new type not only requires that the user enters a number, but also make a choice.
  • If a user wishes to select two or more options, then the new type can't handle that case. The new type would need to be repeated.

Ken

kmarkley

  • I post frequently
  • ***
  • Posts: 178
  • Karma: 14
  • CiviCRM version: 4.4.3
  • CMS version: Drupal 7.24
  • MySQL version: 5.1.56
  • PHP version: 5.3.27
Re: Event rego - interface for additional people is counter-intuitive
November 18, 2009, 09:59:19 am
Ok, that makes sense.  I recognized that this suggestion might be far less useful to the community at large than the more basic change to counting participants.

Quote
Dave's proposal works within the current implementation, where a Price Set is just that, a set of price fields. Fields require users to either make a choice or specify a count.
...
The new type "nests" a set of Choice fields within a count field. The database would need to manage these links between price set options. The price set becomes harder to set up and test.

This is the piece I did not understand before.  Thank you for explaining it.

I still wonder if there might not be a way (with a custom patch of some sort) to just make this:

[2] Number of tickets
O - price 1
• - price 2
O - price 3

be an alternate UI that populates a currently implemented price set like this:

[  ] price 1
[2] price 2
[  ] price 3

But I suppose that's a thought for another thread.

Dave Greenberg

  • Administrator
  • I’m (like) Lobo ;)
  • *****
  • Posts: 5760
  • Karma: 226
    • My CiviCRM Blog
Re: Event rego - interface for additional people is counter-intuitive
November 18, 2009, 09:59:48 pm
I think that "transformation" might be possible with a hook - since it's quite specific. The trick will be to wind up "translating" what gets POSTED so it matches what the 'processing' code expects (a set of field id's with counts).
Protect your investment in CiviCRM by  becoming a Member!

sonicthoughts

  • Ask me questions
  • ****
  • Posts: 498
  • Karma: 10
Re: Event rego - interface for additional people is counter-intuitive
December 04, 2009, 07:52:55 am
Kudos - great addition!

kmarkley

  • I post frequently
  • ***
  • Posts: 178
  • Karma: 14
  • CiviCRM version: 4.4.3
  • CMS version: Drupal 7.24
  • MySQL version: 5.1.56
  • PHP version: 5.3.27
Re: Event rego - interface for additional people is counter-intuitive
December 08, 2009, 08:31:58 am
Quote from: Dave Greenberg on November 16, 2009, 06:06:59 pm
I think Ken's approach makes a lot of sense - and this would potentially be a great addition to core. Basic concept (to reiterate) : each price set FIELD carries a "participant count" property which can be used to control capacity (maximum participants). If this count property is 0, then the participant record itself is counted (as 1).

I am aggressively pursuing this approach with webaccess with a goal of having it complete by year's end.

But there is another angle to this that I just realized.  When producing a list of participants, it will be important to see the "participant count" property of each record - otherwise you'd never know how many tickets the participant purchased.

I have no thoughts on how this should happen, but I think it should be part and parcel with counting participants via price set field.  I'll need to spec something out to webaccess and would appreciate your input.

-kirk

Pages: 1 [2] 3
  • CiviCRM Community Forums (archive) »
  • Old sections (read-only, deprecated) »
  • Discussion (deprecated) »
  • Feature Requests and Suggestions »
  • Usability Improvements (Moderator: Dave Greenberg) »
  • Event rego - interface for additional people is counter-intuitive

This forum was archived on 2017-11-26.