Opis
LucrativeIT Driving School Management System is a complete driving school booking system and management plugin for WordPress. Let students book driving lessons online, match every booking to a free driving instructor, take payment, and run your whole driving school from one modern dashboard.
It suits driving schools, driving instructors, motorcycle and truck training centres, and any lesson-based business that needs appointment scheduling by instructor and location.
Plugin website: https://drivingschool.lucrativeit.com/
Documentation: https://docs.lucrativeit.com/driving-school/documentation.html
Why driving schools choose it
- Students see only real, bookable times — no double bookings.
- Instructors are assigned automatically based on the services they teach and their availability.
- Take payment online with Stripe or WooCommerce, or accept direct (manual) payment.
- Fast React admin built on the WordPress REST API.
- Import demo data in one click to see the full booking flow straight away.
Driving lesson booking (front end)
- Ready-made pages — Book a Lesson and Booking Checkout pages are created automatically on activation.
- Lesson catalogue — responsive service cards with category, price, duration, description, a feature checklist (for example „Automatic car”, „Free pickup”), a Book Now button, and a „View Details” page for every lesson.
- Featured lessons — mark services as featured and show them anywhere, such as your home page.
- Two booking flows you can switch in Settings:
- Time slot picker — the student picks a location and date and chooses from generated start times (for example 09:00, 10:10, 11:20…).
- Time search — the student enters a location, date, and start time and the plugin checks who is free.
- Instructor selection cards — after picking a time, the student chooses from the instructors available for that slot. Each slot also shows when the lesson ends.
- Location-based booking — offer each lesson at one or more training locations.
- Guest or logged-in booking — logged-in students have their name and email filled in automatically.
- Customer accounts — optional Login, Registration, and My Account pages. Students can create an account, log in, and see every lesson they have booked, with date and time, location, instructor, booking status, and payment status. You can also require login before booking.
- Dedicated checkout page with a booking summary (lesson, location, date and time, instructor, price) and a choice of payment method.
- Customisable booking form — add text, text area, email, phone, number, date, dropdown, radio, and checkbox fields; set the label, placeholder, help text, options, and half or full width; mark fields required; and reorder them. Name and email are always collected. Phone, date of birth, and notes are included by default.
- Mobile-friendly, accessible markup with keyboard-friendly time slot and instructor pickers.
Shortcodes
[ldsms_booking]— show all active lessons with the booking flow.[ldsms_featured_services limit="3"]— show lessons marked as featured. Uselimitto cap how many are shown, or remove it to show all.[ldsms_services category="your-category-slug"]— show lessons from a single category.[ldsms_service service="your-service-slug"]— show one lesson with its details and Book Now button.[ldsms_service_detail]— optional lesson details page; „View Details” links open this page for the chosen lesson.[ldsms_checkout]— the checkout page students are sent to after choosing a time.[ldsms_login]— customer login form (requires customer login to be enabled in Settings).[ldsms_register]— customer registration form (requires customer login to be enabled in Settings).[ldsms_account]— My Account page listing the logged-in student’s bookings; shows the login form to logged-out visitors.
Every category and service shows its exact shortcode with a Copy button, and Settings Shortcodes lists them all.
Driving school management (admin)
- Dashboard — today’s bookings and revenue, pending bookings, active locations and services, all-time totals, this week and this month figures, a 6-month revenue chart, and upcoming and recent bookings, with links straight to the matching lists.
- Service categories — group lessons (for example Driving Lessons, Test Preparation, Motorcycle Training) with a description, status, sort order, and a copyable category shortcode.
- Services / lessons — name, slug, description, feature list, duration, price, currency, category, featured flag, status, the locations where each lesson is offered, and a copyable shortcode.
- Instructors — profile, email, phone, bio, status, and the services each instructor teaches.
- Locations — address, city, state, postcode, phone, description, status, and sort order for every training centre or pickup point.
- Instructor availability — date ranges with daily working hours, multiple time ranges per day (split shifts), blocked ranges for breaks or time off, and overlap protection. Filter the list by instructor.
- Bookings — list, search by code, name, or email, and filter by booking or payment status; create bookings for phone or walk-in students with live slot checks; edit booking status (pending, confirmed, completed, cancelled), payment status (unpaid, paid, refunded, failed), and notes; and reschedule a booking to a new date, time, location, or instructor with a live availability check.
- Search on every admin list.
Smart scheduling rules
- Real-time availability that respects instructor hours and existing bookings.
- A lesson is only offered when an instructor who teaches it is free for its full length.
- Buffer time between two lessons for the same instructor.
- Minimum notice — stop last-minute bookings (for example at least 2 hours ahead).
- Break between slots for the slot picker (for example 50-minute lessons with a 10-minute break start on the hour).
- Times are calculated in your WordPress site time zone.
Payments
- Stripe Checkout — secure card payments with webhook confirmation and automatic „paid” status.
- WooCommerce — send bookings to WooCommerce checkout and use any WooCommerce payment gateway; order status, including refunds, syncs back to the booking.
- Direct payment — accept bank transfer or cash with your own payment instructions, then mark the booking paid in the admin.
- Offer Stripe and direct payment together and let students choose at checkout.
- Card details are entered on Stripe’s hosted page and never stored on your site.
- Multi-currency support with a site-wide default currency.
Email notifications
- Instructors are emailed automatically when a lesson is booked with them or rescheduled to them (can be turned off).
- Set the admin notification email address.
- Editable subject and message templates with placeholders:
{booking_code},{instructor_name},{service_name},{location_name},{starts_at},{ends_at},{customer_name},{customer_email},{customer_phone},{customer_dob},{status},{notes}, and{form_fields}for answers to custom booking form fields. - Built-in SMTP settings (host, port, encryption, username, password, from name and email) and a test email button.
Easy setup with demo data
- On first activation you are asked whether to import demo data: sample categories, lessons, instructors, 6 months of availability, and about 30 sample bookings so the revenue stats and monthly chart are filled in straight away.
- Prefer to start fresh? Skip it — while your school has no data, the dashboard keeps offering a one-click demo import.
- Already added your own services and instructors? The dashboard offers Import sample bookings until your first paid booking. Sample booking codes start with
DEMO, so they are easy to delete later.
Built for developers
- Modern WordPress React stack (
@wordpress/element,@wordpress/components,@wordpress/api-fetch). - Custom REST API under
lucrativeit-driving-school-management-system/v1, with capability checks and nonces. - Prepared SQL queries, sanitised input, and escaped output throughout.
- Extensible with actions for every created, updated, and deleted record — for example
ldsms_booking_created,ldsms_booking_updated,ldsms_booking_rescheduled,ldsms_customer_registered,ldsms_payment_completed,ldsms_service_created,ldsms_instructor_updated,ldsms_availability_deleted, andldsms_settings_updated— plus filters such asldsms_rest_controllers,ldsms_service_providers,ldsms_demo_data, and theldsms_demo_data_importedaction. - Translation ready, with RTL stylesheets included.
- Clean uninstall: deleting the plugin removes its tables and settings. Deactivating keeps all data.
External services
This plugin can connect to one third-party service, Stripe, to take online card payments. It is only used when a site administrator enables the Stripe payment method in Settings and enters a Stripe secret key. If Stripe is not enabled, the plugin makes no requests to Stripe or to any other external service.
Stripe (payment processing)
Stripe is an online payment platform. The plugin uses the Stripe Checkout API (https://api.stripe.com) to create a secure, Stripe-hosted payment page for a booking and then to confirm that the payment was completed.
What data is sent and when:
- When a student chooses to pay with Stripe at checkout, the plugin creates a Stripe Checkout Session. It sends the customer’s email address, the booking ID and booking code, the lesson (service) name, the amount and currency, and the success and cancel return URLs of your site. Your Stripe secret key is sent in the request header to authenticate with Stripe.
- When the student returns from Stripe to your site after paying, the plugin sends the Checkout Session ID to Stripe, together with your secret key, to check the payment status and confirm that the amount and booking details match.
- On the Stripe-hosted payment page, the student enters their card details directly with Stripe. Card details never pass through or get stored on your WordPress site.
- If you configure a Stripe webhook, Stripe sends payment event notifications to your site’s REST API endpoint. The plugin checks each notification with your webhook signing secret. No extra data is sent from your site to Stripe for this.
This service is provided by Stripe, Inc.:
- Stripe Services Agreement (terms of service for merchants): https://stripe.com/legal/ssa
- Stripe Consumer Terms of Service: https://stripe.com/legal/consumer
- Stripe Privacy Policy: https://stripe.com/privacy
Other connections you configure
- SMTP email (optional): if you fill in the SMTP settings, booking notification emails go through the SMTP server you choose. That server receives the email content, including the instructor’s email address and booking details such as customer name, service, location, and start time. The plugin does not provide this server. Your email provider’s terms and privacy policy apply.
- WooCommerce (optional): if you choose WooCommerce as the payment method, payment happens through the WooCommerce gateway you have set up. This plugin does not contact that gateway directly. The gateway’s own terms and privacy policy apply.
Zrzuty ekranu



















Instalacja
- Upload the
lucrativeit-driving-school-management-systemfolder to/wp-content/plugins/, or install it from Plugins Add New. - Activate the plugin from the Plugins screen.
- You are taken to Driving School Dashboard. Choose Import demo data to explore with sample content, or Start without demo data.
- Add your locations, service categories, services, instructors, and instructor availability.
- Create a page with
[ldsms_booking](or[ldsms_services category="slug"]) for your lesson list, and a page with[ldsms_checkout]for checkout. - Open Settings to choose the booking flow, payment methods, currency, scheduling rules, booking form fields, and email settings.
Compiled assets ship in the build/ folder, so you do not need Node.js or npm.
For a full setup and user guide with screenshots, see the documentation.
Najczęściej zadawane pytania
-
Is this plugin only for driving schools?
-
It is designed for driving schools and driving instructors, but it works for any lesson or appointment business that books customers with staff at a location — for example motorcycle training, swimming lessons, or tutoring.
-
Can students book without creating an account?
-
Yes. Guest booking is supported. Logged-in users get their name and email filled in automatically.
-
Can students log in and see their bookings?
-
Yes. Turn on Enable customer login and registration in Settings General and save. The plugin creates Customer Login, Customer Registration, and My Account pages. Bookings placed while logged in appear on the student’s My Account page. To require an account for every booking, also turn off Allow guest booking.
-
Can I reschedule a booking?
-
Yes. In Bookings, click Reschedule on a pending or confirmed booking, pick the new date, time, location, and instructor, and save. Only free slots are accepted, and the instructor is emailed.
-
How are instructors assigned to a booking?
-
Only instructors who teach the chosen service, are available at that time, and have no conflicting booking are offered. The student picks one from the available instructor cards.
-
Which payment methods are supported?
-
Stripe Checkout, WooCommerce (with any WooCommerce gateway), and direct/manual payment with your own instructions.
-
Can I prevent back-to-back or last-minute bookings?
-
Yes. Use Buffer time to add a gap between lessons for the same instructor, and Minimum notice to block bookings too close to the start time.
-
Can I import demo data later?
-
Yes. While there are no categories, services, instructors, or availability, the dashboard shows an Import demo data option. To protect your real data, the import is blocked once you have added your own records.
-
Can I customise the booking form?
-
Yes. In Settings, add, reorder, and configure extra fields (text, text area, email, phone, number, date, dropdown, radio, checkbox).
-
Does it send email notifications?
-
Yes. Instructors are emailed for every new booking. You can edit the template and configure SMTP for reliable delivery.
-
Do I need to build anything with npm?
-
No. Production-ready assets are included in the
build/folder.
Recenzje
Wtyczka nie ma jeszcze żadnej recenzji.
Kontrybutorzy i deweloperzy
„LucrativeIT Driving School Management System” jest oprogramowaniem open source. Poniższe osoby miały wkład w rozwój wtyczki.
ZaangażowaniPrzetłumacz wtyczkę “LucrativeIT Driving School Management System” na swój język.
Interesuje cię rozwój wtyczki?
Przeglądaj kod, sprawdź repozytorium SVN lub czytaj dziennik rozwoju przez RSS.
Rejestr zmian
1.1.0
- New: Customer accounts. Optional Login (
[ldsms_login]), Registration ([ldsms_register]), and My Account ([ldsms_account]) pages, created automatically when enabled. - New: My Account lists the logged-in student’s bookings with date and time, location, instructor, booking status, payment status, and price.
- New: „Enable customer login and registration” setting. With it on, turning off „Allow guest booking” requires students to log in before booking.
- New: Checkout offers Log in and Create account buttons to logged-out students, and links logged-in students to My Account after booking.
- New: Reschedule bookings from the admin Bookings list, with a live availability check and instructor email notification.
- New:
ldsms_booking_rescheduledandldsms_customer_registeredactions.
1.0.0
- Online driving lesson booking with time slot picker and time search flows.
- Instructor selection cards for the chosen time slot.
- Service categories, services, instructors, locations, and instructor availability management.
- Bookings management with admin booking creation and live slot checks.
- Stripe Checkout, WooCommerce, and direct payment support.
- Instructor email notifications with SMTP settings and test email.
- Custom booking form builder.
- Buffer time, minimum notice, and slot break scheduling rules.
- Admin dashboard with revenue and booking statistics.
- First-run demo data import with sample bookings, also available from the dashboard.
