With the prosperity of sharing economy, more part-time and freelance suppliers (i.e., drivers) join on-demand mobility services. Because of suppliers' autonomy and behavioural heterogeneity, the platform cannot ensure that suppliers will accept a dispatch order. One approach to mitigate this supply uncertainty is to provide suppliers with personalized menus of dispatch recommendations. A key issue then is to determine which dispatch orders (that can be passenger or goods services) should be allocated into the assortment menu of each supplier. This paper probabilistically models the suppliers' order acceptance and choice behaviour, including a decline option. We propose two assortment optimization problems, disjoint and joint menus, to maximize the expected number of matches. We show that the objective function of the disjoint menu assortment problem is monotone non-decreasing submodular. In contrast, the objective function of the joint menu assortment problem is non-monotone and non-submodular. Accordingly, we present a standard greedy (SG) algorithm to solve the disjoint assortment problem, and gamma*-greedy and local search (LS) algorithms for the joint assortment problem. By bundling orders into consolidated routes, this paper extends the proposed menu assortment methods to the context of meal delivery services. A case study is presented based on the real- world demand in the Manhattan road network. The results show that drivers' autonomy to decline the dispatch orders creates substantial coexistence of idle drivers and unmatched orders in the market. The proposed menu assortment methods curb such matching friction. Moreover, the numerical results demonstrate that the proposed algorithms significantly outperform the traditional dispatching policies applied in practice, e.g., one-to-one matching, in terms of platform efficiency, e.g., achieving more matches, customers' experiences, e.g., reducing waiting time, and benefits for drivers, e.g., tapering off the income inequality among drivers.