Steps 2 and 3 may be better in the hands of the consumer -- in other words, while you can get away with probabilistic guesses for an initial query, you'd be better off leaving the consumer with an interface they can pick & choose from instead of trying to pull a Siri.
"Same type as last week?"
"No, the ones I bought before that"
"OK, ordered XXX apples"