refactor: use local pointer to access order attributes
order item list tracked by catalog id

eliminate duplicate items in order