$input Payload. */ public function validate( BookingSession $session, array $input ): ValidationResult; /** * Apply validated input, returning a new session instance. * * @param BookingSession $session Session. * @param array $input Payload. */ public function apply( BookingSession $session, array $input ): BookingSession; }