├── .gitignore ├── src ├── Contracts │ ├── Booking.php │ ├── BookingProduct.php │ ├── BookingProductDefaultSlot.php │ ├── BookingProductEventTicket.php │ ├── BookingProductRentalSlot.php │ ├── BookingProductTableSlot.php │ ├── BookingProductAppointmentSlot.php │ └── BookingProductEventTicketTranslation.php ├── Resources │ ├── assets │ │ ├── fonts │ │ │ └── booking.woff │ │ ├── js │ │ │ └── app.js │ │ └── css │ │ │ └── app.css │ ├── manifest.php │ └── views │ │ ├── components │ │ ├── form │ │ │ ├── control-group │ │ │ │ ├── index.blade.php │ │ │ │ ├── label.blade.php │ │ │ │ ├── error.blade.php │ │ │ │ └── control.blade.php │ │ │ └── index.blade.php │ │ ├── layouts │ │ │ └── style.blade.php │ │ ├── example.blade.php │ │ ├── flat-picker │ │ │ ├── time.blade.php │ │ │ └── datetime.blade.php │ │ └── modal │ │ │ └── index.blade.php │ │ ├── admin │ │ ├── catalog │ │ │ └── products │ │ │ │ └── edit │ │ │ │ ├── inventories.blade.php │ │ │ │ └── types │ │ │ │ └── booking │ │ │ │ └── empty-info.blade.php │ │ └── sales │ │ │ └── bookings │ │ │ └── index.blade.php │ │ └── shop │ │ └── products │ │ └── view │ │ └── types │ │ ├── booking │ │ ├── default.blade.php │ │ ├── event.blade.php │ │ ├── appointment.blade.php │ │ ├── slots.blade.php │ │ └── table.blade.php │ │ └── booking.blade.php ├── Models │ ├── BookingProxy.php │ ├── BookingProductProxy.php │ ├── BookingProductRentalSlotProxy.php │ ├── BookingProductTableSlotProxy.php │ ├── BookingProductDefaultSlotProxy.php │ ├── BookingProductEventTicketProxy.php │ ├── BookingProductAppointmentSlotProxy.php │ ├── BookingProductEventTicketTranslationProxy.php │ ├── BookingProductEventTicketTranslation.php │ ├── BookingProductAppointmentSlot.php │ ├── BookingProductRentalSlot.php │ ├── BookingProductTableSlot.php │ ├── BookingProductDefaultSlot.php │ ├── Booking.php │ ├── BookingProductEventTicket.php │ └── BookingProduct.php ├── Routes │ ├── web.php │ ├── front-routes.php │ └── admin-routes.php ├── Config │ ├── menu.php │ └── product_types.php ├── Helpers │ ├── AppointmentSlot.php │ ├── TableSlot.php │ └── DefaultSlot.php ├── Http │ └── Controllers │ │ ├── Controller.php │ │ ├── Shop │ │ └── BookingProductController.php │ │ └── Admin │ │ └── BookingController.php ├── Repositories │ ├── BookingProductRentalSlotRepository.php │ ├── BookingProductTableSlotRepository.php │ ├── BookingProductDefaultSlotRepository.php │ ├── BookingProductAppointmentSlotRepository.php │ ├── BookingProductEventTicketRepository.php │ └── BookingRepository.php ├── Listeners │ └── Order.php ├── Providers │ ├── ModuleServiceProvider.php │ ├── EventServiceProvider.php │ └── BookingProductServiceProvider.php ├── Database │ ├── Factories │ │ ├── BookingProductEventTicketFactory.php │ │ └── BookingProductFactory.php │ └── Migrations │ │ ├── 2019_07_05_154415_create_booking_product_default_slots_table.php │ │ ├── 2019_07_05_154429_create_booking_product_appointment_slots_table.php │ │ ├── 2019_07_05_154451_create_booking_product_rental_slots_table.php │ │ ├── 2019_07_05_154440_create_booking_product_event_tickets_table.php │ │ ├── 2019_07_05_154502_create_booking_product_table_slots_table.php │ │ ├── 2019_07_02_180307_create_booking_products_table.php │ │ ├── 2020_02_21_121201_create_booking_product_event_ticket_translations_table.php │ │ └── 2020_02_18_165639_create_bookings_table.php ├── Console │ └── Commands │ │ └── Booking.php └── DataGrids │ └── Admin │ ├── Catalog │ └── ProductDataGrid.php │ └── BookingDataGrid.php ├── postcss.config.js ├── publishable └── build │ └── assets │ ├── booking-e486554d.woff │ ├── favicon-a4003609.ico │ ├── bagisto-admin-37c2feba.woff │ ├── customers-199df769.svg │ ├── tax-20f847de.svg │ ├── spinner-08c27ad5.svg │ ├── front-93490c30.svg │ ├── average-orders-71c4bf9a.svg │ ├── settings-26b93165.svg │ ├── ja.es-6a0383c1.js │ ├── next-2-6aace5ca.svg │ ├── ko.es-52b4fe30.js │ ├── he.es-38780c8b.js │ ├── zh-cn.es-b584d7c2.js │ ├── zh-hk.es-3b3b5fba.js │ ├── ar.es-2968a13f.js │ ├── fa.es-b08cd112.js │ ├── bn.es-3f8773a4.js │ ├── tr.es-f57d7128.js │ ├── bg.es-182cdcb3.js │ ├── cs.es-29e50c14.js │ ├── sl.es-886c86bd.js │ ├── sv.es-f0a285bd.js │ ├── de.es-83841cfd.js │ ├── en.es-d28ce695.js │ ├── no.es-8b33619c.js │ ├── sk.es-7894e5cb.js │ ├── sr.es-f3348729.js │ ├── bs.es-47a220af.js │ ├── da.es-eecb0b06.js │ ├── id.es-3e6a36ce.js │ ├── es.es-232cf334.js │ ├── et.es-7e6a3380.js │ ├── fr.es-bb780d19.js │ ├── mn.es-fcd02e46.js │ ├── address-c3d46b29.svg │ ├── it.es-a9d8c123.js │ ├── nl.es-558331c7.js │ ├── ro.es-8080c341.js │ ├── hr.es-fdafdc21.js │ ├── hu.es-3630014a.js │ ├── is.es-a5785bf6.js │ ├── next-1-91bb148a.svg │ ├── pl.es-631374bd.js │ ├── ka.es-75616353.js │ ├── pt-br.es-a39b3c5f.js │ ├── pt-pt.es-a39b3c5f.js │ ├── total-orders-f1b2017e.svg │ ├── fi.es-d164093c.js │ ├── payment-method-10ea91e1.svg │ ├── lt.es-fb2fe7b5.js │ ├── sq.es-600bc51c.js │ ├── ru.es-9e02a02e.js │ ├── vi.es-c0302793.js │ ├── uk.es-0afcf35e.js │ ├── ca.es-47a49a5a.js │ ├── invoice-bbc6d6a8.svg │ ├── el.es-b1c0d142.js │ ├── shipping-ceb1cb37.svg │ ├── zoom-0c75bed3.svg │ ├── unpaid-invoices-6c51662d.svg │ ├── total-sales-5b2c7b58.svg │ ├── store-information-a7d64429.svg │ ├── use-cases-4a33de1a.svg │ ├── theme-f4d870b8.svg │ ├── icon-options-ebfcd268.svg │ ├── order-c8714dda.svg │ ├── checkout-e5efdb8e.svg │ ├── inventory-d69907d8.svg │ ├── magic-ai-2b88cb86.svg │ ├── orders-5dd62d9d.svg │ ├── report-empty-c3bb4a01.svg │ ├── customers-57f8166b.svg │ ├── store-8d27c0df.svg │ ├── size-04e2a252.svg │ ├── product-357134fb.svg │ ├── icon-discount-e37d1aed.svg │ ├── email-5653e8d5.svg │ ├── captcha-061d77ab.svg │ ├── reviews-17309002.svg │ ├── drag-and-drop.es-0df93f71.js │ └── icon-add-product-e3232d62.svg ├── package.json ├── composer.json ├── tailwind.config.js ├── vite.config.js ├── README.md └── CHANGELOG.md /.gitignore: -------------------------------------------------------------------------------- 1 | /node_modules 2 | /npm-debug.log 3 | /package-lock.json 4 | -------------------------------------------------------------------------------- /src/Contracts/Booking.php: -------------------------------------------------------------------------------- 1 | 'Webkul Bagisto Booking Product', 5 | 'version' => core()->version(), 6 | ]; 7 | -------------------------------------------------------------------------------- /src/Resources/views/components/form/control-group/index.blade.php: -------------------------------------------------------------------------------- 1 |
merge(['class' => 'mt-1 text-red-600 text-xs italic']) }} 11 | v-text="message" 12 | > 13 |
14 |8 | @lang('booking::app.shop.products.view.types.booking.slot-duration') : 9 |
10 | 11 |Booking Product API facilitates seamless integration with the Booking Product functionality within your Bagisto system. It provides endpoints and methods to interact with and harness the capabilities of a comprehensive booking system, enabling smooth communication and utilization of booking-related features in your applications.
4 | 5 | ### Requirements: 6 | 7 | - **Bagisto**: v2.2.x 8 | 9 | ### Installation: 10 | 11 | To install the Booking Product Extension, follow these steps: 12 | 13 | ##### 1. Unzip the respective extension zip and then merge "packages/Webkul" folders into project root directory. 14 | 15 | ##### 2. Open the composer.json file and add the following line under the 'psr-4' section: 16 | 17 | ~~~ 18 | "Webkul\\BookingProduct\\": "packages/Webkul/BookingProduct/src" 19 | ~~~ 20 | 21 | ##### 3. In the config/app.php file, add the following line under the 'providers' section: 22 | 23 | ~~~ 24 | Webkul\BookingProduct\Providers\BookingProductServiceProvider::class, 25 | ~~~ 26 | 27 | ##### 4. In the config/bagisto-vite.php file, add the following line under the 'viters' section: 28 | 29 | ~~~ 30 | 'booking' => [ 31 | 'hot_file' => 'booking-vite.hot', 32 | 'build_directory' => 'themes/booking/build', 33 | 'package_assets_directory' => 'src/Resources/assets', 34 | ], 35 | ~~~ 36 | 37 | ##### 5. Run the following commands to complete the setup: 38 | 39 | ~~~ 40 | composer dump-autoload 41 | ~~~ 42 | 43 | ~~~ 44 | php artisan booking-product:install 45 | ~~~ 46 | 47 | After following these steps, the Booking Product Extension should be successfully installed and ready for use in your Bagisto v2.1.x project. 48 | -------------------------------------------------------------------------------- /src/Resources/views/components/flat-picker/time.blade.php: -------------------------------------------------------------------------------- 1 |9 | @lang('booking::app.shop.products.view.types.booking.event-on') : 10 |
11 | 12 |7 | @lang('booking::app.shop.products.view.types.booking.slot-duration') : 8 |
9 | 10 |26 | @lang('booking::app.shop.products.view.types.booking.appointment.today-availability') 27 |
28 | 29 | 30 | {!! $bookingSlotHelper->getTodaySlotsHtml($bookingProduct) !!} 31 | 32 |7 | @lang('booking::app.shop.products.view.types.booking.slot-duration') : 8 |
9 | 10 |24 | @lang('booking::app.shop.products.view.types.booking.table.today-availability') 25 |
26 | 27 | 28 | {!! $bookingSlotHelper->getTodaySlotsHtml($bookingProduct) !!} 29 | 30 |