Some update to make API call more consistent; add checkout scenario