In this paper we simultaneously address four constraints relevant to airline revenue management problem: flight cancellation, customer no-shows, overbooking, and refunding. We develop a linear program closely related to the dynamic program formulation of the problem, which we later use to approximate the optimal decision rule for rejecting or accepting customers. First, we give a novel proof that the optimal objective function of this linear program is always an upper bound for the dynamic program. Secondly, we construct a decision rule based on this linear program and prove that it is asymptotically optimal under certain circumstances. Finally, using Monte Carlo simulation, we demonstrate that, numerically, the result of the linear programming policy presented in this paper has a short distance to the upper bound of the optimal answer, which makes it a fairly good approximate answer to the intractable dynamic program.