Governments worldwide are adopting nuanced policy measures to reduce the number of Covid-19 cases with minimal social and economic costs. Epidemiological models have a hard time predicting the effects of such fine grained policies. We propose a novel simulation-based model to address this shortcoming. We build on state-of-the-art agent-based simulation models but replace the way contacts between susceptible and infected people take place. Firstly, we allow for heterogeneity in the types of contacts (e.g. recurrent or random) and in the infectiousness of each contact type. Secondly, we strictly separate the number of contacts from the probabilities that a contact leads to an infection. The number of contacts changes with social distancing policies, the infection probabilities remain invariant. This allows us to model many types of fine grained policies that cannot easily be incorporated into other models. To validate our model, we show that it can accurately predict the effect of the German November lockdown even if no similar policy has been observed in the time series that were used to estimate the model parameters.