At our venue, registrants will be checking-in and staying for the duration of the multi-day event (they will be given wristbands/tags), is there a way to have the Tickets check-in the entirety of the stay (all included days, or all included days forward) when they check-in?
So, I was able to implement this by adding a method to EE_Registration:
public function checkin_full() {
$ticket = $this->ticket();
if(!($ticket instanceof EE_Ticket))
return FALSE;
$date_times = $ticket->datetimes();
foreach($date_times as $date_time) {
$ID = $date_time->ID();
if ($cur_status = $this->check_in_status_for_datetime( $ID, NULL ) != EE_Registration::checkin_status_never) {
EE_Error::add_error(
sprintf(
__( 'The given registration (ID:%1$d) can not be checked in because it has already been checked in.', 'event_espresso'),
$this->ID()
),
__FILE__, __FUNCTION__, __LINE__
);
return false;
} elseif (!$this->can_checkin($ID)) {
EE_Error::add_error(
sprintf(
__( 'The given registration (ID:%1$d) can not be checked in because it just can\'t, I guess....', 'event_espresso'),
$this->ID()
),
__FILE__, __FUNCTION__, __LINE__
);
return false;
}
}
foreach($date_times as $date_time) {
$ID = $date_time->ID();
$this->toggle_checkin_status($ID, true);
}
return true;
}
And having the Barcode scanner (in my case) call this method. Now, that said, this is likely a Very Bad Idea. I think it would be better to have either the ticket have an option, or have the Barcode Scanner Module have an option (either additional select, or a toggle in settings) to do something like this.
I am inclined to have it be a ticket option, where toggle_checkin_status will just iterate over all DateTimes is the option is true, or something. Not sure, exactly, but thoughts?
Development related questions are best asked on Github. The dev team can share their thoughts if you open a Github issue or pull request with your new method.
The support post ‘Single Check-In for Multi-Day Ticket’ 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.
Support forum for Event Espresso 3 and Event Espresso 4.