*/ public function subject_types(): array { return [ SubjectType::Booking, SubjectType::Customer, SubjectType::Intent, SubjectType::Payment, ]; } /** * {@inheritDoc} */ public function is_send(): bool { return false; } /** * {@inheritDoc} */ public function is_destructive(): bool { return false; } /** * {@inheritDoc} */ public function requires_fresh_context(): bool { return false; } /** * {@inheritDoc} * * @param AutomationContext $ctx Context. * @param ActionStep $step Step. */ public function execute( AutomationContext $ctx, ActionStep $step ): ActionResult { unset( $ctx ); $advance = isset( $step->config()['advance'] ) ? (int) $step->config()['advance'] : 1; if ( $advance < 1 ) { $advance = 1; } return ActionResult::completed( 'goto', $advance ); } /** * {@inheritDoc} * * @return array */ public function schema(): array { return [ 'send' => false, 'destructive' => false, 'category' => 'internal', 'fields' => [], ]; } }