The airline crew scheduling problem has become a crucial but challenging task for commercial airlines for decades. Airlines are operating with two types of air crew: cockpit crew and cabin crew. Due to the unique operating characteristics, the scheduling problems for these two crew types are very different. Besides, according to the planning stage, the airline crew scheduling problem can be classified as tactical planning problems (traditional scheduling and robust scheduling, weeks or months before the actual operations) and operational planning problems (recovery, after disruptions have occurred during the operational stage). Realizing the significance of the airline crew scheduling problems and a lack of review on the modelling and algorithmic advancements in terms of each crew type and planning stage, we develop this paper to review the related literature from four aspects: the scheduling for cabin crew, the scheduling for both cabin crew and cockpit crew, the robust scheduling for cockpit crew, and the recovery for cockpit crew. For each stream, we examine a number of prior representative studies to review the advancements in model development and solution algorithm construction to generate insights. Finally, we conclude the review by proposing a future research agenda for the airline crew scheduling problem.