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
Image from skills.lab Arena showing four kids during a free trial
Start your skills.lab career with a free trial and get to know the world’s leading high-tech training facility. A unique experience for football enthusiasts of all ages and performance levels.
Your free trial
The training can be booked for all children (up to 11 years) who want to train at the skills.lab Arena for the first time.

Unique football experience

Physical activity meets digital experience. Fun and excitement guaranteed.

Interactive exercises

Free trials cover an entertaining selection of passing, shooting, and dribbling exercises.

60-minute training session

One hour of lively football challenges awaits the kids.

Guidance & support

Our coaches guide and supervise each child throughout the training.

Small-group training

Up to four kids can participate in each of our regular free trials.

Child-friendly balls

Kids will train with size 4 balls, which perfectly fit to their physical requirements.

Experience up close

Parents can watch their children train directly from the stand.

Perfect football weather

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

Your skills.lab coaches

Every great training session needs a coach who makes it an entertaining activity. Our trainings are hosted by our experienced skills.lab staff who work closely with the kids to create a lively training experience.
Things to know
A training session at the skills.lab Arena is unique. Of course, this raises questions among kids and parents. Here are some important answers to the most frequently asked questions.

Sports outfit

Bring some comfortable training clothes and a towel to your free trial.

Footwear

Football shoes, indoor shoes, or shoes for artificial turf: It’s your decision!

Locker room

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

Refreshment

Get some refreshment during and after the training at our canteen.
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 {#2135}
    ]
    
/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 {#2135}
    ]
    
/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" => "Players improve their football skills in diverse exercises."
        ]
        2 => array:3 [
          "icon" => "whistle"
          "headline" => "Professional coaching"
          "text" => "Small-group training with certified and experienced coaching staff."
        ]
        3 => array:3 [
          "icon" => "star"
          "headline" => "Interactive experience"
          "text" => "Entertaining physical activity meets digital experience."
        ]
      ]
      "product" => WP_Post {#2135}
      "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-kids/"
REDIRECT_STATUS
"200"
HTTP_HOST
"skills-lab.com"
HTTP_CONNECTION
"close"
HTTP_X_REAL_IP
"162.158.90.142"
HTTP_X_FORWARDED_FOR
"3.236.51.151, 162.158.90.142"
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
"6a3df1845e785a15-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, 30 Jul 2021 03:42:50 GMT"
HTTP_CF_CONNECTING_IP
"3.236.51.151"
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
"38540"
REDIRECT_URL
"/en/trainings/free-trial-kids/"
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
1635191107.397
REQUEST_TIME
1635191107
argv
[]
argc
0
HTTPS
"on"
Key Value
DB_PASSWORD
"nCPDTNFvdFzjitYyqboger6c"
SMTP_AUTH
"true"
HOSTNAME
"93aa3159b1df"
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