An instance of the tollbooth problem consists of an undirected network and a collection of singleminded customers, each of which is interested in purchasing a fixed path subject to an individual budget constraint. The objective is to assign a per-unit price to each edge in a way that maximizes the collective revenue obtained from all customers. The revenue generated by any customer is equal to the overall price of the edges in her desired path, when this cost falls within her budget; otherwise, that customer will not purchase any edge.Our main result is a deterministic algorithm for the tollbooth problem on trees whose approximation ratio is O(log m/ log log m), where m denotes the number of edges in the underlying graph. This finding improves on the currently best performance guarantees for trees, due to Elbassioni et al. (SAGT '09), as well as for paths (commonly known as the highway problem), due to Balcan and Blum (EC '06). An additional interesting consequence is a computational separation between tollbooth pricing on trees and the original prototype problem of single-minded unlimited supply pricing, under a plausible hardness hypothesis due to Demaine et al. (SODA '06).An extensively-studied question in economics and operations management is that of pricing an assortment of products in a given market, trying to maximize revenue subject to a multitude of constraints. Somewhat informally, the inherent difficulty in such settings boils down to the obvious tension between two extremes: low prices attract more customers, while high prices generate greater revenues per purchase. Recently, the spotlights have been turned on computational challenges in pricing. What seems to be the driving force behind this line of research is an immense growth in the range of sources for acquiring costumer preferences data, which are now available as a result of the widespread use of the Internet.The tollbooth problem. One particular computational task that has received much recent attention is the tollbooth problem, which captures optimization-related aspects of pricing connection links in networks, e.g., setting prices for road use in a system of toll highways. Formally, an instance of this problem consists of an undirected graph G = (V, E) with m edges, which can be broadly interpreted as products with unlimited supply. An additional ingredient of the input is a collection C of n single-minded customers, each of which is interested in purchasing a fixed path subject to an individual budget constraint. Technically speaking, the demand attributes of customer i are represented by a pair (P i , b i ), where P i ⊆ G is the path she wishes to buy, and b i stands for her budget, namely, the maximum price she is willing to pay for that path. Any customer will buy a single unit of each edge in the desired path when its total cost falls within her budget; otherwise, she leaves without buying anything. With this setting in mind, the goal is to assign a per-unit price to each edge in a way that maximizes the overall revenue. More precisely...