We propose a mechanism to allocate slots fairly at congested airports. This mechanism: (a) ensures that the slots are allocated according to the true valuations of airlines, (b) provides fair opportunities to the flights connecting remote cities to large airports, and (c) controls the number of flights in each slot to minimize congestion. The mechanism draws inspiration from economic theory. It allocates the slots based on an affine maximizer allocation rule and charges payments to the airlines such that they are incentivized to reveal their true valuations. The allocation also optimizes the occupancy of every slot to keep them as uncongested as possible. The formulation solves an optimal integral solution in strongly polynomial time. We conduct experiments on the data collected from two major airports in India. We also compare our results with existing allocations and also with the allocations based on the International Air Transport Association (IATA) guidelines. The computational results show that the social utility generated using our mechanism is 20-30% higher than IATA and current allocations.