If you do not read my description and just apply without reading what I want you will not be hired for sure.
Site: [url removed, login to view]
Page: wordpress + woocommerce
Plugin for reservation: Booked ([url removed, login to view]) + WooCommerce Addon ([url removed, login to view])
Payment gateway: mpay24 integrated to Booked reservation system
You can do the testing and see yourself. The payment gateway is test enviroment currently where you can use this VISA number: 4444333322221111 and CVC code 111, month 5 and year 2017 to do a successful transaction.
When you put a date in your "virutal cart" proceed to next step, fill all your data, check VISA payment, accept terms and conditions, then you are redirected to payment gateway of mpay24.
1- When a customer does not pay, do not click on the cancel button just closes the window the date and time in calendar remains booked. Not for one hour, not for two, but forever. It just stays in the phase and shows the clients is on the payment gateway. Please do not try to tell me that it is the fault of the payment gateway, because if you wait half an hour there and then try to enter the trial VISA details (look back, written them above). It tells you the session expired. So, there is 30 min security time for mpay24 to pay. When it is exceeded, then it is not possible to pay.
2 - If the client successfully pays (use the VISA data I provided) for the selected date and goes back to calendar and selects another date. Proceed to checkout page you see that he will have there two dates in his order. One new which he selected right now and the other one which he already paid for. If he even now proceeds to pay with VISA it does not show any error, but it actually allows him to pay again for the two dates which he has in cart.
3 - When the clients selects a date, go to checkout where he needs to fill his personal data, but decides to leave, then the date is not showing available immediately for others. And even if it does after a while and someone reserves and pays for this date, then when the first customer goes back to website your booking system somehow remembers his id and he is able to checkout the already checked out date again
These three things can make such a big mess in the reservation system and payments that it would be very unwise from me to use your reservation system in your current state.
What should be done:
1 - When a clients leaves the checkout area the date selected by him should be immediately available in the calendar
2 - When the clients leaves in the final step the payment gateway area and does not pay the date selected by him should be immediately available in the calendar
3 - When he pays for a date and goes back to calendar, puts another date in and proceeds to payment the previously paid date should not be in his shopping cart
Basically what you have to do is just write a few lines which would ensure these three things that needs to work.