public function getConfigTreeBuilder()
{
$treeBuilder = new TreeBuilder();
$rootNode = $treeBuilder->root('sylius_shop');
$rootNode->children()->arrayNode('checkout_resolver')->addDefaultsIfNotSet()->children()->booleanNode('enabled')->defaultTrue()->end()->scalarNode('pattern')->defaultValue('/checkout/.+')->validate()->ifTrue(function ($pattern) {
return !is_string($pattern);
})->thenInvalid('Invalid pattern "%s"')->end()->end()->arrayNode('route_map')->useAttributeAsKey('name')->prototype('array')->children()->scalarNode('route')->cannotBeEmpty()->isRequired()->end()->end()->end()->end()->end()->end()->end();
return $treeBuilder;
}