Customer choice behavior, such as "buy-up" and "buy-down", is an important phenomenon in a wide range of revenue management contexts. Yet most revenue management methodologies ignore this phenomenon -or at best approximate it in a heuristic way. In this paper, we provide an exact and quite general analysis of this problem. Specifically, we analyze a single-leg yield management problem in which the buyers' choice behavior is modeled explicitly. The choice model is perfectly general and simply specifies the probability of purchasing each fare product as function of the set of fare products offered. The control problem is to decide which subset of fare products to offer at each point in time. We show that the optimal policy is of a simple form. Namely, it consists of 1) identifying the ordered family of "nondominated" subsets S 1 , ..., S m , and 2) at each point in time opening one of these sets S k , where the optimal index k is increasing in the remaining capacity x. That is, the more capacity we have available, the further the optimal set is along this sequence. Moreover, we show that the optimal policy is nested if and only if the ordered sets are increasing, that is S 1 ⊆ S 2 ⊆ ... ⊆ S n , and we give a complete characterization of when nesting by fare order is optimal. We then show that two important models, the independent demand model and the multinomial logit model (MNL), satisfy this later condition and hence nested-by-fare-order policies are optimal in these cases. We also develop an estimation procedure for this setting based on the expectation-maximization (EM) method that jointly estimates arrival rates and choice model parameters when no-purchase outcomes are unobservable. Numerical results are given to illustrate both the model and estimation procedure.