We consider a model of a service system that delivers two nonsubstitutable services to a market of heterogenous users. The first service is delivered subject to a "guaranteed" (G) processing rate, and the second is a "best-effort" (BE) type service in which residual capacity not allocated to the guaranteed class is shared among BE users. Users, in turn, are sensitive to both price and congestion-related effects. The service provider's objective is to optimally design the system so as to extract maximum revenues. The design variables in this problem consist of a pair of static prices for the two services, a policy that controls admission of G users into the system, and the mechanism by which users are informed of the state of congestion in the system. Because these objectives are difficult to address using exact analysis, we pursue approximations that are tractable and lead to structural insights. Specifically, we first solve a deterministic relaxation of the original objective to obtain a "fluid-optimal" solution that is subsequently evaluated and refined to account for stochastic fluctuations. Using diffusion limits, we derive approximations that yield the following structural results: (1) pricing rules derived from the deterministic analysis are "almost" optimal, (2) the optimal operational regime for the system is close to heavy traffic, and (3) real-time congestion notification results in increased revenues. Numerical results illustrate the accuracy of the proposed approximations and validate the aforementioned structural insights.