So I recently purchased ether.pizza with the intention of setting it up so people can order pizza with ether just to use as an experiment in Dapp and contract development.
Initially I plan on just doing the ordering manually and letting users pick pizza places from Locu. I'll just my own credit card and will either hang onto the ether or I might just use shapeshift to convert it to bitcoins. Locu's API does have prices so I was planning on just trusting those and canceling the contract if the price turns out to be wrong.
Obviously I shouldn't get any money though until someone gets their pizza however I'm not sure the best way to handle the escrow. Is this even possible? What if I found an api that could tell me when the food was delivered?
I'm not looking for detailed instruction just a general design pattern for the contract.