The licence course for new drivers, taught in Slovak. Theory takes place in our classroom at Tajovského 30, and you plan driving lessons with the instructor around your schedule.
For anyone who wants a category B licence and is not in a hurry. You can sign up from age 16 and take the exam from 17. Lessons are taught in Slovak. If you prefer English, see the course in English.
What the course includes
32 theory lessonsin person in the classroom, 8 blocks of 4 lessons on chosen days
Training groundstage 1: 3 × 90 min, stage 2: 1 × 90 min
30 driving lessons10 drives in traffic, 3 lessons each
Study materials and testsincluding access to the paid Dobrý vodič app
First aid coursewith exam, during the course
Jazdy.skdriving lesson booking system
Week by week
Weeks 1 – 2
Theory in the classroom. We agree the dates of the 8 blocks together before the course starts.
Weeks 2 – 3
First stage on the training ground: moving off, reversing, parking between cones.
Weeks 3 – 8
Driving in traffic around Banská Bystrica and the area, whenever it suits you.
Weeks 8 – 9
Second stage on the training ground and exam preparation.
Weeks 9 – 10
We register you for the exam: theory test, training ground and a drive with the examiner.
The schedule is approximate. The pace of the driving lessons depends on you. The next course starts 24 November 2026.
What to arrange before the course
A medical check with your GP (certificate of fitness to drive).
If you are under 18, after the exam you drive with an accompanying driver for at least 3 months. Forms to download.
Payment
In cash or by bank transfer on the first day of the course at the latest. Instalments are possible by agreement. Prices.
Questions about this course
Can I miss a theory lesson?
Theory is compulsory and attendance is recorded electronically. You make up a missed lesson individually; each extra lesson costs €30.
What if I can’t make a driving lesson?
Cancel at least 48 hours in advance. Otherwise a €30 fee is charged.
What is the Dobrý vodič app?
Dobrý vodič is a paid app for Windows, macOS and Android that is included in the course price. It contains tests, the decree and the complete road traffic act.
How do I book driving lessons?
You book driving lessons through the Jazdy.sk booking system. You have your own profile there. The app is paid and included in the course price.
How long do I have to finish the course?
The course must be completed within 365 days of enrolment.
From the training
Start when it suits you
The course in English is individual – we agree the start date and schedule with you. Leave your details and we will call you back within 24 hours.
We use cookies
Essential cookies keep the site working. We only turn on analytics and marketing cookies with your consent – they help us see what people look for on the site and measure our ads. Privacy policy
' +
'' + stars(rv.rating) + '
' + esc(txt) + '
';
}).join('');
});
}).catch(function () { /* ponechá statický obsah */ });
}
// Cenník: prepínač jazyka výučby (a = po slovensky, b = v angličtine) mení názvy, ceny a odkazy kariet.
// Jazyk samotnej stránky (SK/EN) určuje hlavný prepínač v hlavičke – texty kariet sú už v jazyku stránky.
document.querySelectorAll('[data-pricing]').forEach(function (box) {
var plans = box.querySelector('.plans');
box.querySelectorAll('[data-ptab]').forEach(function (tab) {
tab.addEventListener('click', function () {
var v = tab.dataset.ptab;
box.querySelectorAll('[data-ptab]').forEach(function (t) { t.setAttribute('aria-selected', t === tab ? 'true' : 'false'); });
box.querySelectorAll('[data-' + v + ']').forEach(function (el) { el.textContent = el.getAttribute('data-' + v); });
box.querySelectorAll('[data-href-' + v + ']').forEach(function (el) { el.setAttribute('href', el.getAttribute('data-href-' + v)); });
plans.classList.remove('swap'); void plans.offsetWidth; plans.classList.add('swap');
});
});
});
// Predvyplnenie formulára z adresy (?kurz=…&termin=…&splatky=1)
var params = new URLSearchParams(location.search);
document.querySelectorAll('form[data-signup]').forEach(function (form) {
var kurz = params.get('kurz') || form.dataset.kurz;
var termin = params.get('termin');
var sel = form.querySelector('[name="kurz"]');
if (sel && kurz) {
Array.prototype.forEach.call(sel.options, function (o) { if (o.value === kurz) sel.value = kurz; });
}
var t = form.querySelector('[name="termin"]');
if (t && termin) t.value = termin;
var note = form.querySelector('[name="poznamka"]');
if (note && params.get('splatky')) note.value = form.dataset.lang === 'en' ? 'I would like to pay in instalments.' : 'Mám záujem platiť na splátky.';
// Skrytá pasca pre roboty a čas načítania (kontroluje ich server)
var trap = document.createElement('input');
trap.type = 'text'; trap.name = 'web'; trap.tabIndex = -1; trap.autocomplete = 'off'; trap.setAttribute('aria-hidden', 'true');
trap.style.cssText = 'position:absolute;left:-9999px;width:1px;height:1px;opacity:0';
form.appendChild(trap);
var loadedAt = Date.now();
// Vo WordPresse (plugin AB Drive – Nový web) sa prihláška odošle e-mailom; bez neho sa len ukáže potvrdenie.
form.addEventListener('submit', function (e) {
e.preventDefault();
if (!form.reportValidity()) return;
var status = form.querySelector('.form-status');
var cfg = window.ABDRIVE_FORM;
if (cfg && cfg.url) {
var en = form.dataset.lang === 'en';
var btn = form.querySelector('[type=submit]');
var data = {};
new FormData(form).forEach(function (v, k) { data[k] = v; });
data.t = Date.now() - loadedAt;
data.jazyk = form.dataset.lang;
var chk = form.querySelector('[name="suhlas"]');
data.suhlas = chk && chk.checked ? '1' : '';
if (btn) btn.disabled = true;
var show = function (msg) { if (status) { status.hidden = false; status.textContent = msg; } };
fetch(cfg.url, { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify(data) })
.then(function (r) { return r.json().catch(function () { return {}; }).then(function (j) { return { ok: r.ok && j.ok, msg: j.chyba }; }); })
.then(function (res) {
if (res.ok) {
var to = cfg.thanks && cfg.thanks[en ? 'en' : 'sk'];
if (to) { location.href = to; return; }
show(en ? 'Thank you. We will call you back within 24 hours.' : 'Ďakujeme. Ozveme sa vám do 24 hodín.');
form.querySelectorAll('input:not([type=checkbox]),textarea').forEach(function (i) { if (i.name !== 'termin') i.value = ''; });
} else {
show(res.msg || (en ? 'Sending failed. Please call us.' : 'Odoslanie sa nepodarilo. Zavolajte nám prosím.'));
}
})
.catch(function () { show(en ? 'Sending failed. Please call us.' : 'Odoslanie sa nepodarilo. Zavolajte nám prosím.'); })
.then(function () { if (btn) btn.disabled = false; });
return;
}
if (status) {
status.hidden = false;
status.textContent = form.dataset.lang === 'en'
? 'Thank you. We will call you back within 24 hours.'
: 'Ďakujeme. Ozveme sa vám do 24 hodín.';
}
form.querySelectorAll('input:not([type=checkbox]),textarea').forEach(function (i) { if (i.name !== 'termin') i.value = ''; });
});
});
// Výber kurzu na úvodnej stránke
var picker = document.querySelector('[data-picker]');
if (picker) {
var courses = JSON.parse(picker.querySelector('script[type="application/json"]').textContent);
var out = picker.querySelector('.pick-result');
var render = function () {
var has = (picker.querySelector('[name=has]:checked') || {}).value;
var lang = (picker.querySelector('[name=lng]:checked') || {}).value;
var time = (picker.querySelector('[name=time]:checked') || {}).value;
var key;
if (has === 'zadrzany') key = 'doskolovaci';
else if (has === 'mam') key = 'kondicne';
else if (lang === 'en') key = time === 'rychlo' ? 'en-rychly' : 'en';
else key = time === 'rychlo' ? 'rychlokurz' : 'zakladny';
var c = courses[key];
picker.querySelectorAll('[data-only-new]').forEach(function (f) { f.hidden = has !== 'nemam'; });
out.classList.remove('swap'); void out.offsetWidth; out.classList.add('swap');
out.innerHTML = '
';
};
picker.addEventListener('change', render);
render();
picker.querySelector('.pick-result').classList.remove('swap');
}
// Pohyb: časti každej sekcie nabiehajú postupne a cesta „Ako to prebieha“ sa vykreslí.
// Obsah je viditeľný aj bez skriptu; skryje sa len to, čo je pri načítaní pod okrajom obrazovky.
if ('IntersectionObserver' in window && !matchMedia('(prefers-reduced-motion: reduce)').matches) {
var below = function (el) { return el.getBoundingClientRect().top > innerHeight; };
var io = new IntersectionObserver(function (entries) {
entries.forEach(function (en) {
if (!en.isIntersecting) return;
en.target.classList.remove('pre');
en.target.classList.add('is-in');
io.unobserve(en.target);
});
}, { rootMargin: '0px 0px -10% 0px' });
document.querySelectorAll('main section').forEach(function (sec) {
var parts = sec.querySelectorAll('.section-head, .wrap > h2, .split > *, .place > *, .two-col > *, .cta .wrap > *, .testimonial .wrap > *, .courses > *, .gallery > *, .faq > details, .table-wrap, .picker, .prose > h2, .prose > p, .includes > li, .aside-card, .faq-group > h2, .faq-aside > *');
var n = 0;
parts.forEach(function (el) {
if (el.closest('.route') || !below(el)) return;
el.classList.add('reveal', 'pre');
el.style.transitionDelay = (n++ % 6) * 80 + 'ms';
io.observe(el);
});
});
document.querySelectorAll('.route').forEach(function (r) {
if (!below(r)) return;
r.classList.add('drive');
io.observe(r);
});
}
// Cookie lišta: voľba sa uloží na 12 mesiacov a pošle sa do Google Consent Mode.
// Analytické a marketingové nástroje (GA4, Google Ads) sa majú spúšťať až podľa nej.
var ck = document.getElementById('cookie');
if (ck) {
var KEY = 'abdrive-consent', YEAR = 31536e6;
var cats = document.getElementById('cookie-cats');
var settingsBtn = ck.querySelector('[data-ck-action="settings"]');
var saveBtn = ck.querySelector('[data-ck-action="save"]');
var boxes = ck.querySelectorAll('[data-ck]');
var read = function () {
try {
var c = JSON.parse(localStorage.getItem(KEY));
return c && c.v === 1 && Date.now() - c.t < YEAR ? c : null;
} catch (e) { return null; }
};
var apply = function (c) {
if (typeof window.gtag === 'function') {
window.gtag('consent', 'update', {
analytics_storage: c.analytics ? 'granted' : 'denied',
ad_storage: c.marketing ? 'granted' : 'denied',
ad_user_data: c.marketing ? 'granted' : 'denied',
ad_personalization: c.marketing ? 'granted' : 'denied'
});
}
(window.dataLayer = window.dataLayer || []).push({ event: 'abdrive_consent', analytics: c.analytics, marketing: c.marketing });
};
var settingsMode = function (on) {
cats.hidden = !on;
saveBtn.hidden = !on;
ck.classList.toggle('is-settings', on);
settingsBtn.setAttribute('aria-expanded', on ? 'true' : 'false');
};
var show = function (withSettings) {
var c = read();
boxes.forEach(function (b) { b.checked = !!(c && c[b.dataset.ck]); });
settingsMode(!!withSettings);
ck.hidden = false;
document.body.classList.add('ck-open');
};
var save = function (analytics, marketing) {
var c = { v: 1, t: Date.now(), analytics: analytics, marketing: marketing };
try { localStorage.setItem(KEY, JSON.stringify(c)); } catch (e) {}
apply(c);
ck.hidden = true;
document.body.classList.remove('ck-open');
};
var boxVal = function (name) {
var b = ck.querySelector('[data-ck="' + name + '"]');
return !!(b && b.checked);
};
ck.addEventListener('click', function (e) {
var btn = e.target.closest('[data-ck-action]');
if (!btn) return;
var a = btn.dataset.ckAction;
if (a === 'accept') save(true, true);
else if (a === 'reject') save(false, false);
else if (a === 'save') save(boxVal('analytics'), boxVal('marketing'));
else if (a === 'settings') { settingsMode(true); boxes[0] && boxes[0].focus(); }
});
document.querySelectorAll('[data-cookie-open]').forEach(function (b) {
b.addEventListener('click', function () {
show(true);
var first = ck.querySelector('[data-ck]');
if (first) first.focus();
});
});
if (!read()) show(false);
}
})();