Tribe__Tickets__REST__V1__Endpoints__Single_Attendee::validate_check_in( $attendee,  $check_in )

Validate whether the check_in value is valid for this attendee.


Parameters

$attendee

(Required) array Attendee data.

$check_in

(Required) bool Check in value.


Top ↑

Return

(bool|WP_Error)


Top ↑

Source

File: src/Tribe/REST/V1/Endpoints/Single_Attendee.php

	public function validate_check_in( array $attendee, bool $check_in ) {
		if ( ! tribe_is_truthy( $check_in ) ) {
			return true;
		}

		// check if attendee already checked in.
		if ( tribe_is_truthy( $attendee['check_in'] ) ) {
			return new WP_Error( 'tec-et-attendee-already-checked-in', __( 'Attendee is already checked in.', 'event-tickets' ), [ 'status' => 400 ] );
		}

		$provider = $attendee['provider'] ?? tribe_tickets_get_ticket_provider( $attendee['attendee_id'] );

		/** @var Tribe__Tickets__Status__Manager $status */
		$status = tribe( 'tickets.status' );
		$complete_statuses = (array) $status->get_completed_status_by_provider_name( $provider );
		if ( ! in_array( $attendee['order_status'], $complete_statuses, true ) ) {
			return new WP_Error( 'tec-et-attendee-invalid-check-in', __( 'Attendee Order status is not authorized for check-in.', 'event-tickets' ), [ 'status' => 400 ] );
		}

		return $check_in;
	}

Top ↑

Changelog

Changelog
Version Description
5.6.5 Introduced.