cancel booking
loading... X Player Players Unit Units
loading...

All trainings suspended
at skills.lab

Due to the current restrictions set by the Federal Government, all trainings and camps at skills.lab are temporarily suspended. Therefore, we had to cancel all booked trainings. Please follow our social media channels and website for further information about when the trainings and camps will resume. In the meantime: Stay home and stay safe! Your skills.lab team

Free trial for adults

Two adult players during a free trial at skills.lab Arena
Get to know skills.lab in a 60-minute training session. Book your place in one of our regular free trials and learn all the essential basics of the skills.lab arena.
Your free trial
The training can be booked for players who want to train at the skills.lab arena for the first time. Share the unique experience and bring your friends as well.

One hour of football

Get to know skills.lab in a free 60-minute training session.

For amateurs and professionals

Take the interactive challenge for players of all performance levels.

Unique football experience

Physical activity meets digital experience. We call it the skills.lab experience.

Interactive exercises

Players can expect an interactive session with passing and shooting exercises and more.

Coaching staff

All training sessions are hosted by our experienced coaches.

Small-group training

Up to four players can join each free trial.

Experience up close

Friends and family can watch the training directly from the stand.

Perfect football weather

The Arena is fully air-conditioned and provides the best training environment.

Your skills.lab coaches

Our coaches put together an entertaining and engaging program, guide you through the exercises, and answer all your questions first-hand.
Things to know
A training session at the skills.lab Arena is unique. Of course, this raises questions among players. Here are some important answers to the most frequently asked questions.

Sports outfit

Bring some comfortable training clothes and a towel to your skills.lab training.

Footwear

Train at skills.lab with your regular football shoes, indoor shoes, or shoes for artificial turf.

Get changed

Feel free to use our on-site locker room with showers.

Refreshment

Our canteen provides refreshment during and after the training.
Whoops! There was an error.
Error
Call to undefined function wc_get_product() Error thrown with message "Call to undefined function wc_get_product()" Stacktrace: #9 Error in /var/www/content/themes/skillslab/includes/partials/cards/bulletpoints/trainingproduct.php:12 #8 include in /var/www/content/themes/skillslab/class/src/Tools/Helper.php:10 #7 Probots\Tools\Helper:includePartial in /var/www/content/themes/skillslab/class/functions/helpers.php:5 #6 loadPartial in /var/www/content/themes/skillslab/includes/layouts/card_booking.php:64 #5 include in /var/www/content/themes/skillslab/class/src/Modules/Builder.php:51 #4 Probots\Modules\Builder:getModuleHtml in /var/www/content/themes/skillslab/class/src/Modules/Builder.php:27 #3 Probots\Modules\Builder:build in /var/www/content/themes/skillslab/single-training.php:11 #2 include in /var/www/wp/wp-includes/template-loader.php:106 #1 require_once in /var/www/wp/wp-blog-header.php:19 #0 require in /var/www/index.php:17
Stack frames (10)
9
Error
/var/www/content/themes/skillslab/includes/partials/cards/bulletpoints/trainingproduct.php12
8
include
/var/www/content/themes/skillslab/class/src/Tools/Helper.php10
7
Probots\Tools\Helper includePartial
/var/www/content/themes/skillslab/class/functions/helpers.php5
6
loadPartial
/var/www/content/themes/skillslab/includes/layouts/card_booking.php64
5
include
/var/www/content/themes/skillslab/class/src/Modules/Builder.php51
4
Probots\Modules\Builder getModuleHtml
/var/www/content/themes/skillslab/class/src/Modules/Builder.php27
3
Probots\Modules\Builder build
/var/www/content/themes/skillslab/single-training.php11
2
include
/var/www/wp/wp-includes/template-loader.php106
1
require_once
/var/www/wp/wp-blog-header.php19
0
require
/var/www/index.php17
/var/www/content/themes/skillslab/includes/partials/cards/bulletpoints/trainingproduct.php
<?php
 
$product = $product ?? false;
if (!$product) {
    return;
}
 
if (!($product instanceof WC_Product_Simple)) {
    if ($product instanceof WP_Post) {
        $product = $product->ID;
    }
    $product = wc_get_product(intval($product));
}
if (!$product) {
    return;
}
 
// $bookingUrl = \Probots\Tools\Helper::getBookingLinkByProduct($product);
 
$factsValue = explode("\r\n", get_post_meta($product->get_id(), 'skl_product_facts', true));
$facts = array_map(
    function ($f) {
        return ['text' => $f];
    },
    $factsValue ?: []
);
 
$cardData = [
  'selectors' => false,
  'period' => false,
  'tag' => __t('card.training.perUnit'),
  'price' => $product->get_price(),
  'bullets' => $facts,
  'cta_text' => __t('card.bookNow'),
  'cta_url' => '#',
  'product_id' => $product->get_id(),
  'classes' => ['js-bookingcta']
];
?>
<div class="">
Arguments
  1. "Call to undefined function wc_get_product()"
    
/var/www/content/themes/skillslab/class/src/Tools/Helper.php
<?php
namespace Probots\Tools;
 
class Helper
{
    public static function includePartial($file, $data = [])
    {
        extract($data);
        include sprintf(
      '%s/includes/partials/%s.php',
      get_template_directory(),
      $file
    );
    }
 
    public static function loadPartial($file, $data = [])
    {
        ob_start();
        extract($data);
        include sprintf(
      '%s/includes/partials/%s.php',
      get_template_directory(),
      $file
    );
        return ob_get_clean();
    }
 
    public static function includeBlock($file, $data = [])
    {
        extract($data);
        include sprintf(
      '%s/includes/blocks/%s.php',
      get_template_directory(),
      $file
    );
    }
 
    public static function getAssetUrl($name = '')
    {
        return sprintf('%s/assets/%s', get_template_directory_uri(), $name);
/var/www/content/themes/skillslab/class/functions/helpers.php
<?php
if (!function_exists('loadPartial')) {
    function loadPartial($name, $data = [])
    {
        \Probots\Tools\Helper::includePartial($name, $data);
    }
}
 
if (!function_exists('assetUrl')) {
    function assetUrl($name)
    {
        return \Probots\Tools\Helper::getAssetUrl($name);
    }
}
 
 
if (!function_exists('loadSvg')) {
    function loadSvg($name)
    {
        include(get_template_directory() . '/assets/' . $name . '.svg');
    }
}
 
if (!function_exists('loadLaser')) {
    function loadLaser($name)
    {
        include(get_template_directory() . '/assets/' . $name . '.svg');
        include(get_template_directory() . '/assets/' . $name . '.svg');
        include(get_template_directory() . '/assets/' . $name . '.svg');
        include(get_template_directory() . '/assets/' . $name . '.svg');
    }
}
 
// if (!function_exists('clearPhoneNumber')) {
//     function clearPhoneNumber($number)
//     {
//         $plus = preg_match('/^(\+)/', $number)?"+":"";
//         $number = preg_replace('/[^0-9|\+]/', '', $number);
//         $number = preg_replace('/(\+)([0-9]{2})(0)/', '${2}', $number);
//         $number = preg_replace('/\|/', '', $number);
Arguments
  1. "cards/bulletpoints/trainingproduct"
    
  2. array:1 [
      "product" => WP_Post {#2130}
    ]
    
/var/www/content/themes/skillslab/includes/layouts/card_booking.php
                            <div class="block__text ft--copy-small">
                                <?= $block['text'] ?>
                            </div>
                        </div>
                    <?php endforeach; ?>
 
                </div>
            </div>
            <div class="o-grid__col u-6/[email protected]">
                <div class="card__holder">
                    <div class="laser-element top">
                        <?php loadLaser('svg/hexagon'); ?>
                    </div>
                    <div class="laser-element right">
                        <?php loadLaser('svg/t4_tor'); ?>
                    </div>
                    <div class="card__holder__inner">
                        <?php if ($product) {
    loadPartial('cards/bulletpoints/trainingproduct', [
                                'product' => $product
                            ]);
} ?>
                    </div>
                </div>
            </div>
        </div>
    </div>
</div>
 
Arguments
  1. "cards/bulletpoints/trainingproduct"
    
  2. array:1 [
      "product" => WP_Post {#2130}
    ]
    
/var/www/content/themes/skillslab/class/src/Modules/Builder.php
            print $content;
 
 
 
            wp_reset_postdata();
        }
    }
 
    private function getModuleHtml($layout, $variables)
    {
        $fileName = sprintf('%s.php', $layout);
        $filePath = sprintf('%s/%s/%s', get_template_directory(), $this->layoutDir, $fileName);
 
        if (!file_exists($filePath)) {
            print 'MODULE LAYOUT NOT FOUND IN: ' . $filePath;
            return;
        }
        extract($variables);
 
        include($filePath);
    }
 
    private function getDebugHtml($layout, $variables)
    {
        if (!isset($_GET['debug-modules'])) {
            return;
        }
        printf("<div>");
        print '<pre>';
        print_r($variables);
        print '</pre>';
        printf("</div>");
    }
 
    private function getModules()
    {
        return \get_field($this->acfModulesFieldKey) ?: [];
    }
 
    private function getLayoutName($module)
Arguments
  1. "/var/www/content/themes/skillslab/includes/layouts/card_booking.php"
    
/var/www/content/themes/skillslab/class/src/Modules/Builder.php
    private $moduleClassName = 'module';
    private $layoutDir = './';
 
    public function build()
    {
        $modules = $this->getModules();
 
        foreach ($modules as $mKey => $module) {
            $layout = $this->getLayoutName($module);
            $variables = $module;
            unset($variables[$this->acfLayoutFieldKey]);
            $variables['layout'] = $layout;
 
            $baseClassName = $this->moduleClassName;
            $layoutClassName = $baseClassName . "--" . $layout;
 
            ob_start();
            printf("<div id=\"layout-%d\" class=\"%s %s\">\n", $mKey, $baseClassName, $layoutClassName);
            $this->getDebugHtml($layout, $variables);
            $this->getModuleHtml($layout, $variables);
 
            print("</div>\n");
            $content = ob_get_clean();
 
            print $content;
 
 
 
            wp_reset_postdata();
        }
    }
 
    private function getModuleHtml($layout, $variables)
    {
        $fileName = sprintf('%s.php', $layout);
        $filePath = sprintf('%s/%s/%s', get_template_directory(), $this->layoutDir, $fileName);
 
        if (!file_exists($filePath)) {
            print 'MODULE LAYOUT NOT FOUND IN: ' . $filePath;
            return;
Arguments
  1. "card_booking"
    
  2. array:4 [
      "headline" => "Book your free trial"
      "blocks" => array:4 [
        0 => array:3 [
          "icon" => "stop-watch"
          "headline" => "One hour of football"
          "text" => "Get to know skills.lab in a free 60-minute training session."
        ]
        1 => array:3 [
          "icon" => "target"
          "headline" => "Engaging training"
          "text" => "Learn all the essential basics of skills.lab."
        ]
        2 => array:3 [
          "icon" => "whistle"
          "headline" => "Professional coaching"
          "text" => "Certified coaches and small-group training."
        ]
        3 => array:3 [
          "icon" => "star"
          "headline" => "Immersive challenge"
          "text" => "Physical activity meets digital gamification. Experience skills.lab."
        ]
      ]
      "product" => WP_Post {#2130}
      "layout" => "card_booking"
    ]
    
/var/www/content/themes/skillslab/single-training.php
<?php
get_header();
?>
    <?php
    $Modules = new \Probots\Modules\Builder;
    $Modules
        ->setModulesFieldKey('modules')
        ->setLayoutFieldKey('acf_fc_layout')
        ->setModuleClassName('layout')
        ->setLayoutSubDirectory('includes/layouts');
    $Modules->build();
    ?>
<?php
get_footer();
 
/var/www/wp/wp-includes/template-loader.php
            }
 
            break;
        }
    }
 
    if ( ! $template ) {
        $template = get_index_template();
    }
 
    /**
     * Filters the path of the current template before including it.
     *
     * @since 3.0.0
     *
     * @param string $template The path of the template to include.
     */
    $template = apply_filters( 'template_include', $template );
    if ( $template ) {
        include $template;
    } elseif ( current_user_can( 'switch_themes' ) ) {
        $theme = wp_get_theme();
        if ( $theme->errors() ) {
            wp_die( $theme->errors() );
        }
    }
    return;
}
 
Arguments
  1. "/var/www/content/themes/skillslab/single-training.php"
    
/var/www/wp/wp-blog-header.php
<?php
/**
 * Loads the WordPress environment and template.
 *
 * @package WordPress
 */
 
if ( ! isset( $wp_did_header ) ) {
 
    $wp_did_header = true;
 
    // Load the WordPress library.
    require_once __DIR__ . '/wp-load.php';
 
    // Set up the WordPress query.
    wp();
 
    // Load the theme template.
    require_once ABSPATH . WPINC . '/template-loader.php';
 
}
 
Arguments
  1. "/var/www/wp/wp-includes/template-loader.php"
    
/var/www/index.php
<?php
/**
 * Front to the WordPress application. This file doesn't do anything, but loads
 * wp-blog-header.php which does and tells WordPress to load the theme.
 *
 * @package WordPress
 */
 
/**
 * Tells WordPress to load the WordPress theme and output it.
 *
 * @var bool
 */
define('WP_USE_THEMES', true);
 
/** Loads the WordPress Environment and Template */
require( dirname( __FILE__ ) . '/wp/wp-blog-header.php' );
Arguments
  1. "/var/www/wp/wp-blog-header.php"
    

Environment & details:

empty
empty
empty
empty
empty
Key Value
SERVER_SOFTWARE
"Apache/2.4.38 (Debian)"
REQUEST_URI
"/en/trainings/free-trial-adults/"
REDIRECT_STATUS
"200"
HTTP_HOST
"skills-lab.com"
HTTP_CONNECTION
"close"
HTTP_X_REAL_IP
"162.158.89.97"
HTTP_X_FORWARDED_FOR
"3.235.227.117, 162.158.89.97"
HTTP_X_FORWARDED_PROTO
"https"
HTTP_X_FORWARDED_SSL
"on"
HTTP_X_FORWARDED_PORT
"443"
HTTP_ACCEPT_ENCODING
"gzip"
HTTP_CF_IPCOUNTRY
"US"
HTTP_CF_RAY
"676bba2978e85a82-FRA"
HTTP_CF_VISITOR
"{\"scheme\":\"https\"}"
HTTP_USER_AGENT
"CCBot/2.0 (https://commoncrawl.org/faq/)"
HTTP_ACCEPT
"text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"
HTTP_ACCEPT_LANGUAGE
"en-US,en;q=0.5"
HTTP_IF_MODIFIED_SINCE
"Fri, 16 Apr 2021 11:06:51 GMT"
HTTP_CF_CONNECTING_IP
"3.235.227.117"
HTTP_CDN_LOOP
"cloudflare"
PATH
"/var/www/.composer/vendor/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
SERVER_SIGNATURE
""
SERVER_NAME
"skills-lab.com"
SERVER_ADDR
"172.18.0.6"
SERVER_PORT
"80"
REMOTE_ADDR
"172.18.0.3"
DOCUMENT_ROOT
"/var/www/"
REQUEST_SCHEME
"http"
CONTEXT_PREFIX
""
CONTEXT_DOCUMENT_ROOT
"/var/www/"
SERVER_ADMIN
"[email protected]"
SCRIPT_FILENAME
"/var/www/index.php"
REMOTE_PORT
"34374"
REDIRECT_URL
"/en/trainings/free-trial-adults/"
GATEWAY_INTERFACE
"CGI/1.1"
SERVER_PROTOCOL
"HTTP/1.1"
REQUEST_METHOD
"GET"
QUERY_STRING
""
SCRIPT_NAME
"/index.php"
PHP_SELF
"/index.php"
REQUEST_TIME_FLOAT
1627618121.553
REQUEST_TIME
1627618121
argv
[]
argc
0
HTTPS
"on"
Key Value
DB_PASSWORD
"nCPDTNFvdFzjitYyqboger6c"
SMTP_AUTH
"true"
HOSTNAME
"636329b459b3"
PHP_VERSION
"7.4.3"
APACHE_CONFDIR
"/etc/apache2"
PHP_MD5
""
LETSENCRYPT_HOST
"skills-lab.com,www.skills-lab.com"
PHP_INI_DIR
"/usr/local/etc/php"
GPG_KEYS
"42670A7FE4D0441C8E4632349E4FDC074A4EF02D 5A52880781F755608BF815FC910DEB46F53EA312"
TAGMANAGER
"GTM-PTKGWJR"
WP_TABLE_PREFIX
"wp_"
PHP_LDFLAGS
"-Wl,-O1 -Wl,--hash-style=both -pie"
PWD
"/var/www/content/themes/skillslab/class"
SMTP_FROM_EMAIL
"[email protected]"
APACHE_DOCUMENT_ROOT
"/var/www/"
DB_PORT
"3306"
DB_USER
"dbUser"
APACHE_LOG_DIR
"/var/log/apache2"
LANG
"C"
SMTP_PASS
"01d0965beb739826029b3e24322c2a43-9c988ee3-7ffd6c4c"
PHP_SHA256
"cf1f856d877c268124ded1ede40c9fb6142b125fdaafdc54f855120b8bc6982a"
WP_THEME_NAME
"skillslab"
SMTP_PORT
"587"
APACHE_PID_FILE
"/var/run/apache2/apache2.pid"
PHPIZE_DEPS
"autoconf \t\tdpkg-dev \t\tfile \t\tg++ \t\tgcc \t\tlibc-dev \t\tmake \t\tpkg-config \t\tre2c"
VIRTUAL_HOST
"skills-lab.com,www.skills-lab.com"
DB_HOST
"db"
PHP_URL
"https://www.php.net/get/php-7.4.3.tar.xz/from/this/mirror"
APACHE_RUN_GROUP
"www-data"
ENVIRONMENT
"production"
SSL
"false"
SMTP_SECURE
"tls"
APACHE_LOCK_DIR
"/var/lock/apache2"
PHP_EXTRA_CONFIGURE_ARGS
"--with-apxs2 --disable-cgi"
SHLVL
"1"
PHP_CFLAGS
"-fstack-protector-strong -fpic -fpie -O2 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
GOOGLE_MAPS
"null"
LIVE_RELOAD
"false"
SMTP_FROM_NAME
"skills.lab"
DB_NAME
"wordpress"
SMTP_USER
"[email protected]"
APACHE_RUN_DIR
"/var/run/apache2"
APACHE_ENVVARS
"/etc/apache2/envvars"
APACHE_RUN_USER
"www-data"
WP_MEDIA_URL
"https://skills-lab.com/media"
PATH
"/var/www/.composer/vendor/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
BUGHERD
"null"
FAILTOBAN
"false"
PHP_EXTRA_BUILD_DEPS
"apache2-dev"
SMTP_HOST
"smtp.eu.mailgun.org"
DEBUG
"false"
PHP_ASC_URL
"https://www.php.net/get/php-7.4.3.tar.xz.asc/from/this/mirror"
PHP_CPPFLAGS
"-fstack-protector-strong -fpic -fpie -O2 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
OLDPWD
"/var/www/config"
0. Whoops\Handler\PrettyPageHandler