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

Exclusive training for adults

An adult player during an overview exercise in the skills.lab Arena
Experience the unique football experience at skills.lab. An exclusive training focuses on your personal needs and goals. Book your individual training session for players from 16 years now!
Your exclusive training
Each training session in the Arena can be designed as an individual or group training with up to four players. Choose the duration of training based on your needs, goals, and individual fitness level.

Professional environment

Train like the professional players of clubs like FC Bayern Munich.

Training variety

Players can look forward to more than 60 interactive exercises: Passing, shooting, and more.

Individual training

We design your individual training program tailored to meet your needs and goals.

Training duration

Book a 30-minute, 60-minute, or even longer session based on your fitness and goals.

Your preferred date

Full calendar? Select your preferred date coordinated with your personal calendar.

Data-based training

Together we evaluate your performance data and personal development.

Personal coaching

Experienced skills.lab coaches host the training and work closely with the players.

Front-row seats

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

Your personal trainer

All players work with experienced and certified coaches who host the training session and design a diversified training program. In small groups, the coaches personally guide the players through the exercises and focus on individual goals and needs.
Things to know
The Arena is fully air-conditioned which guarantees the best training environment throughout the year.

Sports outfit

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

Footwear

You can play with regular football shoes, indoor shoes, or special shoes for artificial turf.

Locker room

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

Refreshment

Get some refreshment during and after the session at our canteen.

How long should I train?

Different players have different levels of fitness. Depending on your individual fitness level, we recommend a training duration of 30 to 90 minutes for individual trainings and groups of up to two players. For groups with three or four players we recommend 60 to 90 minutes.
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 {#2166}
    ]
    
/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 {#2166}
    ]
    
/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 exclusive training"
      "blocks" => array:4 [
        0 => array:3 [
          "icon" => "flag-soccer"
          "headline" => "Train like a pro"
          "text" => "Do it like the players of clubs like FC Bayern Munich and take the challenge at skills.lab."
        ]
        1 => array:3 [
          "icon" => "target"
          "headline" => "Improve your game"
          "text" => "Work on your football skills in unique interactive exercises."
        ]
        2 => array:3 [
          "icon" => "whistle"
          "headline" => "Personal coaching"
          "text" => "Our experienced coaches focus on your individual strengths and weaknesses."
        ]
        3 => array:3 [
          "icon" => "star"
          "headline" => "skills.lab Experience"
          "text" => "When physical and engaging activity meets digital gamification."
        ]
      ]
      "product" => WP_Post {#2166}
      "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/exclusive-training-adults/"
REDIRECT_STATUS
"200"
HTTP_HOST
"skills-lab.com"
HTTP_CONNECTION
"close"
HTTP_X_REAL_IP
"162.158.94.96"
HTTP_X_FORWARDED_FOR
"3.235.227.117, 162.158.94.96"
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
"676bd13c09fe5cf4-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:21:15 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
"36664"
REDIRECT_URL
"/en/trainings/exclusive-training-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
1627619066.654
REQUEST_TIME
1627619066
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