Restaurants can charge you for your order in advance, then when payment has gone through instantly message you back to say the order has been cancelled as they don't have any drivers and a refund can take up to 2 weeks. They should only charge customers when they have accepted their order or is it just some dodgy way of getting money in their bank accounts given the large amount of people using the app.