Support

Home Forums Event Espresso Premium Single Check-In for Multi-Day Ticket

Single Check-In for Multi-Day Ticket

Posted: December 19, 2016 at 10:44 pm

Viewing 3 reply threads


thomaspointbeach

December 19, 2016 at 10:44 pm

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?


thomaspointbeach

December 19, 2016 at 11:22 pm

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?


Josh

  • Support Staff

December 20, 2016 at 7:47 am

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.


thomaspointbeach

December 20, 2016 at 8:01 am

I did that at about the same time. 😀

Viewing 3 reply threads

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.

Event Espresso