Hello.
Unfortunately, its does not possible to NOT insert the booking into the DB, until payment will be completed.
Here is possible 2 workflows.
1) At the Booking Calendar Business Small and higher versions possible to activate the “auto-cancellation for pending, unpaid bookings” after specific period of time. You can activate it at the General Booking Settings page. Its means that all pendingbookings, which have no successfully paid status or not approved will be canceled after specific time, and dates in calendar will be available again for the booking.
But its also means that you need to be sure that the booking have to be approved or have the successfully paid status!
Because its possible situation, that visitor make the booking, make the booking, but do not click on the “return link” from the payment site to your website, and in this case Booking Calendar will not know about the payment status of the booking and the booking will be canceled after specific amount of time and you will not have this booking anymore.
You can activate also “auto approve functionality”.
Please note, during this configuration you need to have active IPN at your PayPal account (please contact the the support of PayPal if you will have the questions about it). Also instructions about it you can find at the Booking > Settings > Payment page at the PayPal > IPN section. IPN is required that the PayPal send messages about status of the payment to the Booking Calendar.
You can activate the “auto approval of successfully paid bookings at the Booking > Settings > Payment page at the PayPal section. Please configure and activate the IPN settings at the Booking > Settings > Payment page at the PayPal section.
Please note, the successfully paid status for the specific booking will apply, only if visitor click on the “return to your website” link on the PayPal website, or if you will configure the paypal IPN in the Booking > Settings > Payment > Paypal page and in your paypal account (if you are using paypalas payment system). Otherwise the Booking Calendar will not know about the payment status of the booking, until you manually change it (payment status) or approve the booking.
2) Other option possible in the Booking Calendar Business Large version. In this version possible to show the pending booking dates in calendar as available, until you do not approve the booking. Please read more about this here: https://wpbookingcalendar.com/overview/#pending-available
Kind Regards.