SMS: Revenue Management with Flexible Products