We develop a model that jointly optimizes a retailer’s decisions for product prices, display facing areas, display orientations and shelf-space locations in a product category. Unlike the existing shelf-space allocation models that typically consider only the width of display shelves, our model considers both the width and height of each shelf, allowing products to be stacked. Furthermore, as demand is influenced by each product’s 2-dimensional facing area, we consider multiple product orientations that capture 3-dimensional product packaging characteristics. That enables our model to not only treat shelf locations as decision variables, but also retailers’ stacking patterns in terms of product display areas and multiple display orientations. Further, unlike the existing studies which consider a retailer’s shelf-space allocation decisions independent of its product pricing decisions, our model allows joint decisions on both and captures cross-product interactions in demand through prices. We show how a branch-and-bound based MINLP algorithm can be used to implement our optimization model in a fast and practical way.