// Horrible because it has no accept option and thus doesn't serve the // stakeholders' goals Purchase Only Reject { roles Buyer, Seller, Shipper parameters out ID key, out item, out price, out outcome private address, shipped Buyer → Seller: rfq[out ID,out item] Seller → Buyer: quote[in ID, in item, out price] // Buyer → Seller: accept[in ID, in item, in price, out address] Buyer → Seller: reject[in ID, in item, in price, out outcome] Seller → Shipper: ship[in ID, in item, in address, out shipped] Shipper → Buyer: deliver[in ID, in item, in address, out outcome] }