Laravel Booking System with Live Chat is great for booking and make appointments or schedule appointments for all professional and business entrepreneur i.e. Chefs, Clubs, Dance Instructors, Dentists, Doctors, Estheticians, Hairdresser, Health Clubs, Lawyers, Make-up Specialists, Massage Therapists, Nail Salons, Personal Trainers, Pet Care, Photographers, Real Estate Agent, Restaurants, Spas, Sport Coaches, Teachers etc..
Are you deliver your service to your clients? Let your clients easily book your service with booking calendar.
Does your office receive customers by appointment? You can create a booking calendar for every professional
Users dashboard will display available services, total bookings, total transactions, total credits and administrator contact information.
users can manage their account with different features. Users can able to buy credits(points) from PayPal payment option. Users can book services using credits(points) available in their accounts.
They will get email notifications of every transactions made for buy credit using PayPal Payment.
Users are able to view past transactions and they can search transactions by date. all the features are listed belows:
Laravel Booking System Administrator will be able to control entire system. They will have login screen and once they login into their dashboard they will manage all the things i.e. site settings, payment settings. paypal settings, change password, service management, user management, booking management, enquiry management.
Live Chat is the key feature of the system. When user create their account and login to their dashboard then users are able to directly chat with system administrator for any enquiries or query. System Administrator will get notification on admin dashboard when any user send message using Live Chat and also admin dashboard display online users and notification for number of unread messages. System Administrator can able to view past chat history of every users
Users Features
Admin Features
Laravel Booking System has a few system requirements. You will need to make sure your server meets the following requirements:
Laravel Booking System can be downloaded once you purchase from your account. you will get www.laravel-booking.com zip package. You have to extract that package. File Hierarchy of the Source Code Package will look like below:
File Hierarchy of the Source Code Package
www.laravel-booking.com/
├── app/
│ ├── Console
│ ├── Exceptions
│ ├── Helpers/
│ ├── Http/
│ ├── Mail/
│ ├── Notifications/
│ ├── Providers/
│ ├── XXX.php (All model class files)
├── assets/
│ ├── admin/
│ │ ├── (All Admin's assets)
│ |── css/
│ |── font-awesome/
│ |── fonts/
│ |── images/
│ |── js/
│ |── user/
│ ├── (All Users assets)
├── bootstrap/
├── config/
├── database/
├── resources/
│ ├── views
│ ├── admin (All Admin's template files)
│ ├── frontend (All frontend's template files)
├── routes/
├── storage/
├── tests/
├── uploads/
├── vendor/
├── .env
├── demo_laravel_booking.sql
└── (All other files)
Create database in your server and import demo_laravel_booking.sql (attached).
Update .env file and set below variables
DB_DATABASE=YOUR DATABASE NAME DB_USERNAME=YOUR DATABASE USER DB_PASSWORD=YOUR DATABASE PASSWORD
Update .env file and set below variables
MAIL_DRIVER=smtp MAIL_HOST=smtp.gmail.com //(This is for gmail. You can set other one also) MAIL_PORT=587 MAIL_USERNAME=YOUR EMAIL ADDRESS MAIL_PASSWORD=YOUR PASSWORD MAIL_ENCRYPTION=tls
Laravel Booking System will have built in landing page. You can make changes few things for your landing page here is the list that can be manageable from admin side under settings menu > general settings.
User can access their dashboard once they create their account with Laravel Booking System. User required to fill the information displayed in registration form and click on Register button. Once they register user will get email notification of their account creation.
After creating account user will sign in with their registered email and password using below form.
user will get following features:
User Dashboard will show quick over of services, bookings, transactions and credits. user will be able to click on any of the box and they will redirect to related section. Say for example if user will click on "bookings". he will redirect to their booking list screen.
User Can change their profile information like: firstname, lastname and profile photo from profile screen.
User Can change their account password from the change password screen.
User Can buy credit using two different payment options.
User will be able to buy any number of credit from here. they have to insert number into the textbox and price for that number of credits will be calculated automatically. at the top of the screen user will come to know what is the price for each credit and that price and currency can be change by admin area. So administrator can set any price and currency for each credit.
After making the payment user will get email notification as well as administrator also get email notification of credit purchased by user.
User Can able to view their transactions of payments and they can filter the transactions by date.
User Can able to view all the available services by date on calendar view. They can book any available service by clicking on that service. Right side of the screen will be display list of all the services.
User click any service from calendar they will get this form to book available spot on selected day for that service. Here they will have to choose available spot and fill the booking form with their details.
How many maximum spot for each service can be booked by user? that will be mentioned on right side of the screen. System Administrator can set the maximum number of spot user can book for the service.
How many credit will be used for each spot will be mentioned on right side of the screen. Credit for each spot can be set by system administrator. When user choose spot the credit will be automatically calculated and displayed on right side.
User Can able to view their bookings and they can filter the bookings by service, booking name, booking email, mobile number and booking date. They are able to view their booked spots and status of their booking.
User Can able to directly chat with system administrator.
System administrator will get following features:
Here is the secure administrator login area. Admin can login with username and password, without credentials admin can not be able to access dashboard. There is also link for forgot password so if administrator forgot their password then they can able to reset password using that link
Admin Dashboard will show quick over of total users, online users, total services, total bookings, total transactions and total enquiries. admin will be able to click on any of the box and they will redirect to related section. Say for example if user will click on "total bookings". he will redirect to their booking list screen.
Admin Can change their profile information like: firstname, lastname, email and profile photo from profile screen.
Admin Can change their account password from the change password screen.
General settings which is visible to user dashborad of system. system admin can set their official map, address, email id, phone no., social media links etc. So once it has been set that can be visible to user dashboard. so user can reach to administrator using these details. admin can set the logo and site title here so it will be automatically changed in entire system.
From Payment settings screen admin can set the price for each credit. system admin can set price in different currency and currency dropdown will show all the paypal supported currency list. If admin want to set price in USD then they have to select that currency from selectbox and set price for one credit. So let say for example if admin set price 10 USD for 1 credit and user buy 10 credit then they will have to pay 100 USD.
To receive payment from user in paypal account, system administrator will have to set their paypal account's Client ID and Secret.
From PayPal settings screen admin can set their PayPal account credentials to receive payment into paypal.
PayPal Settings screen show "Payment Mode" 1) Test and 2) Live
When you set Test mode then system will consider Sandbox Client ID and Sandbox Secret. So this is for testing purpose and real transaction will not be occurred.
When you set Live mode then system will consider Live Client ID and Live Secret. only real transaction take place when you have set live mode
Here is the step how to get PayPal Client ID and Secret
=> Go to url: https://developer.paypal.com/ => Login with your credentials
From Currency Add/Edit screen admin can add/edit currency. Currency added here will be displayed in selectbox of Payment Setting Screen.
From Currency List screen admin can edit/delete, active/inactive currency.
From Service Add screen admin can add service. Each field will have information tips about that field so admin can able to know what is the use of that field.
Admin can change the service data from service edit screen. here is the example of weekly service that we have added.
Admin Active/Inactive any of the service from service list screen. Inactive services will not be display on calendar for users to book. So admin have facility that they can inactive service if they are not available for few days and want to close the service for that particular time. Once system admin back then again they can Activate the service so that service will be available for users to book. If there are lot of services added by admin then they are able to filter the service from given search box it will save the time to find particular service.
Laravel Booking System Admin can manage all the users. Admin can block any user's account by changing status to inactive.
Laravel Boooking System Admin manage all the bookings from here and system admin can do following from booking list screen.
When any user book service admin will get email notification of that booking and admin will have to confirm their booking from booking list screen.
By default status of booking will be Pending.
If admin confirm any of booking then user will get email notification that their booking is confirmed by systm admin.
If Admin cancel any of booking then user will get email notification that their booking is cancelled and user credits(points) automatically refunded to their account.
If booking status is pending and schedule date is passed then user will get refund of their credits(points) automatically and their booking is cancelled automatically.
For auto cancel booking of past dates and refund to users credits(points) you have to set cron job into your server.
here is the command that you have to set for cron job which is run daily at midnight 12:00 AM
0 0 * * * wget http://YOUR DOMAIN NAME/cron/bookingstatus
System Admin can view booking details by clicking on EYE icon
Laravel Boooking System Admin manage all the transactions from here and system admin can do following from transaction list screen.
Live chat with online users. system admin can do following:
System admin will get all the enquiry list here that user made it from contact us form. Admin can manage enquiries from here.
We are glad to provide quick support for all our products to our valued customers within 24-48 hours (in rare cases within 72 hours) after receiving the request.
We are happy to assist you with any custom development or custom design, whether it is related to our products or not.
You can send your technical description to [email protected] or fill out the Contact Form on our landing page.
We will get back to you as earliest as possible.
Initial Version of laravel booking system is Version 1.0 and we are continuous making changes for improvements and better performance for the system. Here you will come to know what changes we have made in new version as compared to previous version.
www.laravel-booking.com/resources/views/admin/bookingList.blade.php www.laravel-booking.com/resources/views/admin/transactionList.blade.php
www.laravel-booking.com/resources/views/frontend/layouts/main.blade.php
www.laravel-booking.com/resources/views/frontend/emails/inquiry.blade.php
www.laravel-booking.com/assets/lbs-user.mp4 www.laravel-booking.com/assets/lbs-admin.mp4
Language Folders ----------- www.laravel-booking.com/resources/lang/en/ (new folder) www.laravel-booking.com/resources/lang/es/ (new folder) Admin files and folders ----------- www.laravel-booking.com/assets/admin/plugins/validation/localization (new folder) www.laravel-booking.com/assets/admin/js/common.js www.laravel-booking.com/resources/views/admin/ (folder) www.laravel-booking.com/app/Http/Controllers/Admin/ (folder) Frontend files and folders ----------- www.laravel-booking.com/assets/user/js/fullcalendar/locale (new folder) www.laravel-booking.com/assets/user/js/fullcalendar/locale-all.js (new file) www.laravel-booking.com/assets/user/js/validation/localization (new folder) www.laravel-booking.com/assets/user/js/common.js www.laravel-booking.com/assets/js/validation/localization (new folder) www.laravel-booking.com/resources/views/frontend/ (folder) controllers ----------- www.laravel-booking.com/app/Http/Controllers/Frontend/PaypalController.php www.laravel-booking.com/app/Http/Controllers/Frontend/BookingController.php www.laravel-booking.com/app/Http/Controllers/Frontend/UserController.php www.laravel-booking.com/app/Http/Controllers/Frontend/LoginController.php www.laravel-booking.com/app/Http/Controllers/Frontend/ReservationController.php www.laravel-booking.com/app/Http/Controllers/Frontend/HomeController.php www.laravel-booking.com/app/Setting.php www.laravel-booking.com/app/Http/Controllers/Controller.php DB Changes ----------- ALTER TABLE `settings` CHANGE `price` `language` VARCHAR(20) NOT NULL DEFAULT 'en'; UPDATE `settings` SET `language` = 'en' WHERE `settings`.`id` = 1; www.laravel-booking.com/database/migrations/2015_11_18_112049_create_settings_table.php
www.laravel-booking.com/app/Http/Controllers/Admin/ServicesController.php www.laravel-booking.com/resources/views/admin/servicesList.blade.php
www.laravel-booking.com/database/migrations/2017_07_27_063612_create_bookings_details_table.php => $table->timestamp('start_time')->nullable(); => $table->timestamp('end_time')->nullable();
www.laravel-booking.com/resources/lang/en/user/profile.php www.laravel-booking.com/resources/lang/es/user/profile.php www.laravel-booking.com/resources/views/frontend/layouts/main.blade.php
www.laravel-booking.com/resources/views/frontend/dashboard.blade.php
www.laravel-booking.com/resources/views/frontend/layouts/main.blade.php {{-- InputMask --}} jquery.inputmask.js jquery.inputmask.date.extensions.js jquery.inputmask.extensions.js www.laravel-booking.com/assets/user/plugins/input-mask (new folder)
www.laravel-booking.com/resources/views/frontend/reservation.blade.php $.ajax({ url: '/getServices', dataType: 'json', cache: false, data: { // our hypothetical feed requires UNIX timestamps //start: start.unix(), //end: end.unix() }, success: function (events) { callback(events); } });
www.laravel-booking.com/resources/views/frontend/layouts/main.blade.php
www.laravel-booking.com/resources/views/admin/bookingList.blade.php www.laravel-booking.com/resources/views/admin/transactionList.blade.php
www.laravel-booking.com/resources/lang/es/admin/booking.php www.laravel-booking.com/resources/lang/en/admin/booking.php www.laravel-booking.com/resources/lang/es/admin/transaction.php www.laravel-booking.com/resources/lang/en/admin/transaction.php www.laravel-booking.com/app/Http/Controllers/Admin/BookingController.php
DB Changes ----------- ALTER TABLE `services` CHANGE `description` `description` TEXT CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL; www.laravel-booking.com/database/migration/2017_07_13_065710_create_services_table.php
www.laravel-booking.com/app/Http/Controllers/Frontend/ReservationController.php [line no.80]
defined('ADMIN_SLUG') or define('ADMIN_SLUG', 'admin'); //you can change 'admin' to [WHATEVER YOU WISH] but it must be only single word without space www.laravel-booking.com/routes/web.php