The Maximum Carpool Matching problem is a star packing problem in directed graphs. Formally, given a directed graph G = (V, A), a capacity function c : V. N, and a weight function w : A. R+, a carpool matching is a subset of arcs, M. A, such that every v. V satisfies: (1) din M (v) center dot dout M (v) = 0, (2) din M (v) = c(v), and (3) dout M (v) = 1. A vertex v for which dout M (v) = 1 is a passenger, and a vertex for which dout M (v) = 0 is a driver who has din M(v) passengers. In the Maximum Carpool Matching problem the goal is to find a carpool matching M of maximum total weight. The problem arises when designing an online carpool service, such as Zimride (Zimride by enterprise. https://zimride.com/), which tries to connect between users based on a similarity function. The problem is known to be NP-hard, even in the unweighted and uncapacitated case. The Maximum Group Carpool Matching problem, is an extension of the Maximum Carpool Matching where each vertex represents an unsplittable group of passengers. Formally, each vertex u. V has a size s(u). N, and the constraint din M (v) = c(v) is replaced with S u:(u,v).M s(u) = c(v). We show that Maximum Carpool Matching can be formulated as an unconstrained submodular maximization problem, thus it admits a 1 2-approximation algorithm. We show that the same formulation does not work for Maximum Group Carpool Matching, nevertheless, we present a local search ( 1 2 - )-approximation algorithm for Maximum Group Carpool Matching. For the unweighted variant of both problems when the maximum possible capacity, c max, is bounded by a constant, we provide a local search ( 1 2 + 1 2c max - ) -approximation algorithm. We also provide an APX-hardness result, even if the maximum degree and c max are at most 3.