Mexico. Hi Erik, let me start by saying I know you said "web development firm" I am not a firm but an individual, so if that's a deal breaker, I wouldn't want to waste your time. I have created numerous plugins and integrated even more for clients. I will list how I would approach the advanced features you've listed. When a user enters their information, you can use a service from PayPal they call 'vault' it allows PayPal to hold the payment information so you don't have to worry about it (This assumes you use PayPal of course, which will make this project a lot more manageable). The next two listed items are extremely easy to implement. The final item is probably the most complex in my opinion, but again, PayPal to the rescue. With PayPal you can use 'adaptive payments' allowing for, well... exactly what you've requested - you take a cut and the rest goes to, in this case, the tutor (I believe this is also possible with Stripe; "Stripe Connect"). I believe 30 days is a realistic timeframe for a beta of sorts then a few days of testing and evaluation, then probably about a 5-10 days to implement/modify everything discovered during testing.