In this article, we study the dynamic pricing problem of a multi-server facility that processes requests from several customer classes on a first come first served basis. We assume an arrival belongs to one of a finite number of customer classes and that each class is distinguished by known and arbitrary service valuations and arbitrary but non-decreasing waiting cost functions. We model the facility as an M/M/S/I queue and use the theory of Markov Decision Processes to identify dynamic pricing strategies that maximize the revenues obtained from customers who are assumed to be acting individually to maximize their utility. The key to our approach is recognizing, that a single generic model can be used to understand and optimize social benefit and revenue. Through analyzing that model we can determine that the maximum revenue obtainable from a service facility is bounded by the maximum collective benefits less waiting costs that customers could receive in such a facility, which is achieved through state dependent social (welfare) optimization. For our model, we show that this upper limit can be achieved with state dependent revenue maximization when it is possible to exactly charge customers the benefit they receive less the waiting costs they incur. This in turn can be accomplished when it is possible to identify the group of customers to which each customer belongs, where customers in each group have the same benefit and waiting cost function. We also conduct a detailed numerical study to examine the value of full and partial differentiation via super-groups by comparing the resulting revenue to the revenue of a state dependent pricing policy that offers a single price to all customer groups. We demonstrate the effect of several input parameters on the revenue associated with each level of differentiation and in particular asses the value of differentiation by studying the interplay between the gross benefits and waiting costs. We find that, when customer groups with higher gross benefits have higher or lower waiting costs, partial differentiation through super-groups results in significant revenue increases over no differentiation. We also find that when customer groups with different gross benefits have similar waiting costs, forming super-groups through gross benefits is much more beneficial than forming super-groups by waiting costs. Finally, we illustrate that the revenue maximizing pricing policy might actually increase arrival rates as system occupancy increases, by admitting customer classes that were not admitted in previous states.