Support

Home Forums Event Espresso Premium Duplciate Tickets Sold

Duplciate Tickets Sold

Posted: April 1, 2019 at 3:00 pm


Nat J

April 1, 2019 at 3:00 pm

Hello,

We had an event on the weekend where we have 30 duplicate tickets turn up.

I searched through the sql and it appears that all of the attendees were in the attendee meta table but were not on the registrations table. How could this have happened.

In fact some of the approved registrations (which were duplicates) were found on the unfiltered list of attendees list but did not appear on the filtered list.

What could be wrong and how can we stop this from happening in the future.


Tony

  • Support Staff

April 2, 2019 at 3:48 am

Hi there,

I searched through the sql and it appears that all of the attendees were in the attendee meta table

The records in esp_attendee_meta are created when EE generates an EE contact from the data passed to the registration, meaning if they complete the ‘Attendee information’ step, they will have a record in esp_attendee_meta but that doesn’t mean they completed the registration fully.

but were not on the registrations table. How could this have happened.

There are no registrations linked to the ATT_ID’s you found in esp_attendee_meta within esp_registration?

If you found them in the ‘unfiltered’ list below, there must be registrations in esp_registrations.

In fact some of the approved registrations (which were duplicates) were found on the unfiltered list of attendees list but did not appear on the filtered list.

When you say ‘filtered list’, can you provide more details on which filters you applied?

Or do you mean the ‘Approved’ registrations list for a specific event?

Event Espresso -> Events -> {Event} -> Approved registrations (Link shown in the ‘Update event’ meta box)

—-

If you go to Event Espresso -> Events

Hover over the event in question and a ‘registrations’ link will appear below the name, click that.

Do you see all of the registrations in that list, without changing any additional filters?


Nat J

April 2, 2019 at 4:06 am

Hi Tony, Thanks for your reply.

The records in esp_attendee_meta are created when EE generates an EE contact from the data passed to the registration, meaning if they complete the ‘Attendee information’ step, they will have a record in esp_attendee_meta but that doesn’t mean they completed the registration fully.

Does this generate when they click to register or start filling out the form, all of our tickets are free and are automatically set as approved when registration is complete.

There are ATT_ID’s in the registration table but none of the duplicates showed in the registration table. We found a one person who was approved in the unfiltered but didn’t show in the filtered, they were in the registrations table.

When you say ‘filtered list’, can you provide more details on which filters you applied?

Or do you mean the ‘Approved’ registrations list for a specific event?

Event Espresso -> Events -> {Event} -> Approved registrations (Link shown in the ‘Update event’ meta box)

Yes this is what I mean, sorry used the wrong jargon.

If you go to Event Espresso -> Events

Hover over the event in question and a ‘registrations’ link will appear below the name, click that.

Do you see all of the registrations in that list, without changing any additional filters?

No they duplicates are not shown there but what is concerning when checking the Messages, there are records for the duplicates for “automated reminder emails” for them being sent an email, containing all their answers to the reg form and the ticket they selected and the event, but I would not find these people in the registrations table.

I am worried when someone was clearing out an old event and its registrations they have managed to delete or part delete someones registration


Tony

  • Support Staff

April 2, 2019 at 4:20 am

Does this generate when they click to register or start filling out the form, all of our tickets are free and are automatically set as approved when registration is complete.

The registration is generated as soon as they select tickets and click to register (no EE_Attendee/EE_Contact yet though as they haven’t submitted attendee information) as they work through the checkout steps the registration and EE_Attenddee will be updated with the information passed.

So an EE_Attendee is generated when they entered their details and click to proceed, in the case you only have free tickets, so its when they enter their details and finalize the registration. (If the tickets were not free, this would be on the first step where they enter details and click to view payment options).

There are ATT_ID’s in the registration table but none of the duplicates showed in the registration table.

When you say duplicates are you referring to duplicate attendees or duplicate registrations?

We found a one person who was approved in the unfiltered but didn’t show in the filtered, they were in the registrations table.

If you view this registration in the list it should have an Event link in the 3rd column, is that linking to the correct event?

Yes this is what I mean, sorry used the wrong jargon.

No problem, I’m just making sure I follow where you are and on the same page is all.

No they duplicates are not shown there but what is concerning when checking the Messages, there are records for the duplicates for “automated reminder emails” for them being sent an email, containing all their answers to the reg form and the ticket they selected and the event, but I would not find these people in the registrations table.

Ok, in the messages list, on the right you’ll see an actions column.

For one of these duplicates, click on th icon…. what do you see?

I am worried when someone was clearing out an old event and its registrations they have managed to delete or part delete someones registration

It could be that registrations have been deleted.

Can you link me to an event I can run some test registrations on? You can create a test event and link me to that if you don’t want my registrations messing up your real registration figures etc.


Nat J

April 2, 2019 at 5:01 am

Hi Tony,

Your first point, am I correct in assuming that for a free ticket as soon as they click to register the information on both tables Attendee Meta and Registrations are created? Does this mean for our website it should be impossible for both not to be created?

Fake event


Tony

  • Support Staff

April 2, 2019 at 7:00 am

Your first point, am I correct in assuming that for a free ticket as soon as they click to register the information on both tables Attendee Meta and Registrations are created?

‘Click to register’ is to broad for me to answer that question as it means something different to everyone, for example, is that when they select tickets and click register? Is that after they’ve entered their details and click ‘Proceed to Finalize’?

To answer I can give you an example.

Heres a view of my DB tables on a test site before I do anything.

esp_attendee_meta – https://monosnap.com/file/8OkqdOqsDS75iaEU7gaUbY0p3R9E8r
esp_registration – https://monosnap.com/file/6rd5obg650miOvRRkdormFADdP4fJ8

Note the ID’s.
esp_attendee_meta ends at 44
esp_registration ends at 355

If you select tickets on the ticket selector and click register – https://monosnap.com/file/T7E9LXZBgcZhsmWsKWfovnuH85ZoOz

At that point, there is an entry into the esp_registration. We can’t add an entry to esp_attendee_meta yet as we don’t have attendee details to create one.

We will be sitting at this page – https://monosnap.com/file/ShXLlegXRC531XVdTwsl5OoVM4RIG2

Here is both tables now – https://monosnap.com/file/gsX3jkRIGm97EZtfALrcuzs6q3FXbC

We have a registration with no attendee id, because again, we haven’t been given the attendee details yet.

Provide the details requested and click to finalize – https://monosnap.com/file/OmXJoCbXraMTXOMUQxXrD3V8kVDF3y

Now we have attendee info, EE can do one of 2 things with attendee meta, if it finds a current EE_Contact from esp_attendee_meta with matching details, it links the registration to that record, no new entry, it updates the ATT_ID in esp_registration to match that contacts ID.

OR, as in this case, it adds a new record and links the registration to that, like so: https://monosnap.com/file/XcUlJv4Me5CT5uaYf4heV6jDUFRW83

So… you can have a row created in esp_registration without one in esp_attendee_meta.

You can hav multiple rows in esp_registration linked to a row in esp_attendee_meta based on the ATT_ID.

Does this mean for our website it should be impossible for both not to be created?

Nope, as explained above.

You will always have an esp_registration row created for each ticket selected, but not always an entry in esp_attendee_meta, for a few different reasons.

Looks like you missed my question above:

Ok, in the messages list, on the right you’ll see an actions column.

For one of these duplicates, click on th icon…. what do you see?


Nat J

April 2, 2019 at 7:15 am

Hi Tony,

Thank you for that explanation. Having re-gone through our records the duplicates I found that did have labels were either attending the wrong day or there was confusion over their name. So I could not click on the trolley button, apologies.

But we still had people attend who we were told had confirmation emails but were not on our system.

I meant by clicking to register is selecting the ticket and then completing the registration form and clicking finalize registration. As that seems to be the only way to create/store their info on the Attendee Meta table I am concerned I could find the people attending on duplicate tickets information in this table, all of them were new attendees.

I do not understand what has happened, it looks as though when registering some information was saved but not all of it, therefore the website or server didn’t do what it should have.

What information does EE use to guess whether it is a new record or an old record for attendees, would setting this to always create new solve this? Is that an option?

We currently have over 11,000 registrations on our website with between 10-20 events each month, is this too much for EE?


Tony

  • Support Staff

April 2, 2019 at 7:33 am

But we still had people attend who we were told had confirmation emails but were not on our system.

The problem now (from a support point of view trying to figure out what has happened) is it sounds like theres confusion over attendees all round and also attendees have been removed from the system manually, which I say based on your comment earlier:

I am worried when someone was clearing out an old event and its registrations they have managed to delete or part delete someones registration

So its possible theres been a mix up and registrations have been accidentally removed manually (EE doesn’t delete registrations that have contacts assigned to them).

I’m not saying it has, but its possible, right?

That means we could be digging deeper and deeper into a rabbit hole that doesn’t actually exist, again I can’t say that for sure as it really isn’t clear what has happened, but your the first person to report this.

I do not understand what has happened, it looks as though when registering some information was saved but not all of it, therefore the website or server didn’t do what it should have.

If you mean the attendee object didn’t save then tt doesn’t work that way, you can’t save some of the data and have everything work.

For example if you had a registration without an attendee, the shortcodes in the messages for the attendee, would fail, likely causing a fatal error which would be logged in the error logs and the message wouldn’t send at all.

Why? Because it’s never expected that a EE Registration would trigger messages without an attendee, no attendee means EE would have no idea who it was from, no name, no email and so on.

What information does EE use to guess whether it is a new record or an old record for attendees

May I ask why you think it ‘guesses’?

It uses the first name, last name and email address. If those all match a current EE_Contact, it’s the same person so uses that contact, it isn’t guessing if those match 🙂

Things get a little more complex when you add the WP user integration add-on to the mix as that can update the EE_Contact based on the registration values, are you using that add-on?

(To give an example if you register with First Name1, Surname1 and email1@example.com, then register again with the same user account and use First Name2, Surname 2, email2@example.com, depending on your settings that can update the contact so all registrations made by that user (linked to the EE_Contact) show as First Name 2)

would setting this to always create new solve this?

No, it would simply mean you’d have multiple EE_Contacts with the same details, that’s going to cause you more confusion in the long run.

We currently have over 11,000 registrations on our website with between 10-20 events each month, is this too much for EE?

No, may I ask why you believe it would be?


Nat J

April 2, 2019 at 8:11 am

Hi Tony,

Apologies the “guess” is an autocorrect from gauges.

So the most likely event is someone has deleted them and deleted them from the trash as well, would this mean the messages would also be deleted?

I am trying to understand that if someone deletes an attendees registration then that would mean a deletion from the registration table of the SQL.

No, may I ask why you believe it would be?

I was concerned…

One last question Tony from our event coordinators is it possible for people to try and book the same ticket at the same time. eg there is a limit of 3 tickets and 4 people all try to book it. I thought that was not possible due to the way EE works.


Tony

  • Support Staff

April 2, 2019 at 8:47 am

So the most likely event is someone has deleted them and deleted them from the trash as well

If they are missing, then it’s possible.

would this mean the messages would also be deleted?

No, removing registrations will not remove the related messages for those registrations. The messages system stores messages for a number of days and then removes them, its based on a setting in Event Espresso -> Messages -> Settings.

I am trying to understand that if someone deletes an attendees registration then that would mean a deletion from the registration table of the SQL.

I’m not sure I follow? The registrations are all stored in the database, so if someone removes them within EE, they are removing them from the DB.

One last question Tony from our event coordinators is it possible for people to try and book the same ticket at the same time. eg there is a limit of 3 tickets and 4 people all try to book it. I thought that was not possible due to the way EE works.

If they both select the tickets at exactly the same time, then yes its possible. We reduce the time available for this conditional down as much as possible, so say User A selects 4 tickets, those tickets are set as reserved, if User B selects those tickets immediately after, they’ll see an error.

If they both submit the ticket at exactly the same time, both can get through to the registration form. For paid tickets, there’s an additional check right before the payment options load, for free tickets that’s obviously not available.


Nat J

April 2, 2019 at 8:54 am

Hi Tony,

Thank you for your answer.

I think I am going to have to wait and see what happens at the next screening this weekend.

It would seem weird that someone has deleted the registrations and then deleted the messages.

Thank you for your time on this, I really hope it was human error that deleted the registrations and not something that went funny with our website/server.

Kind regards
Nat


Nat J

April 4, 2019 at 6:10 am

There is something wrong. We have had someone call to cancel an appointment that we couldn’t find. We searched messages (in EE) for their email address and no messages were found (we don’t delete these), searched registrations and could not find them.

Decided to search the attendee_meta table and found them.

We then asked them to forward their confirmation notification email (from EE) and they had it.

I tried searching the unique reg code, through EE and via SQL and nothing came up.

It looks as though we have lost registrations made at the beginning on Feb, how could this have happened?

As I understood it unless a registration was completed the server would not save anyone’s information (they have never booked with us before).

I am quite worried now how I track or trace the missing registration and cope with what will now be duplicate ticket sales. Any and all advise welcome.


Tony

  • Support Staff

April 9, 2019 at 4:29 am

We searched messages (in EE) for their email address and no messages were found (we don’t delete these)

EE may be set to remove the messages after X amount of months, go to:

Event Espresso -> Messages -> Settings

What is the ‘Cleanup of old messages:’ option set to?

If it’s set to anything other than ‘Forever’ EE will remove ‘old’ messages from the system.

Whilst on that setting page, what is ‘Generate and send all messages’ set to?

searched registrations and could not find them.

EE does not delete registrations.

Decided to search the attendee_meta table and found them.
We then asked them to forward their confirmation notification email (from EE) and they had it.
I tried searching the unique reg code, through EE and via SQL and nothing came up.

Ok, so at some point, they created a registration and that has now been removed.

Why that would be the case, I’m not sure, although again, EE does not automatically delete registrations.

It looks as though we have lost registrations made at the beginning on Feb, how could this have happened?

Have you had any work done server side at all? For example has your host ran any ‘optimizations’ on your database or server maintenance to reduce your database size?

We’ve seen in the past some hosts ‘optimize’ a database to bring it below their size limit, what optimize actually meant in that instance is they just went through various tables removing data until the DB was under the limit again. (Which is really the only thing they could actually do to reduce the size rather than upping the limit, which would have been much more sensible).

EE doesn’t delete registrations so the I can only see the above happening for
2 reasons, either someone is deleting registrations and mistakenly deleting ‘active’ registrations or something is happening server side and data is being removed from your DB tables. Neither of which are easy identified.

If you have users deleting registrations to ‘clean up’ the site after events, have them stop for the time being.

Open a ticket with your host and ask them if they been running any maintenance, ‘optimizations’ etc on the server recently. Problem is you don’t know at what point the registration actually went missing so its hard to narrow down. Also, its not uncommon for hosts to simply say nothing has happened, not maintenance etc only to then find thats simply not the case and your site was moved to a new server for example (I’m not saying your host will lie to you, simply that it happens and hosts sometimes make ‘mistakes’ that apparently no-one knows about)

As I understood it unless a registration was completed the server would not save anyone’s information (they have never booked with us before).

Correct, on a free ticket again right?

They would only be in attendee meta when their EE contact was created and would only receive a confirmation email if they had a registration (and EE Contact).

Do you keep regular database backups?

The support post ‘Duplciate Tickets Sold’ is closed to new replies.

Have a question about this support post? Create a new support post in our support forums and include a link to this existing support post so we can help you.

Event Espresso