The MATSim simulation by default does not consider parking infrastructure or supply constraints.For technical reasons, the modeling efforts around parking in MATSim are divided in two parts parking choice and parking search.
Packages 
Package Description
org.matsim.contrib.parking
The parking contrib is split into three substantially different parts Parking Choice, based on work of Rashid Waraich.
org.matsim.contrib.parking.parkingchoice
This is probably a parking choice implementation of an approach where parking spaces on a per link basis are limited (somehow taken from external data) cars that attempt to park are always accepted but the drivers obtain a negative score for this over the iterations, parking supply is balanced with parking demand Walk from/to the parked vehicle is not executed, not even as teleportation, that is, it consumes zero time.
org.matsim.contrib.parking.parkingchoice.example  
org.matsim.contrib.parking.parkingchoice.lib  
org.matsim.contrib.parking.parkingchoice.lib.obj  
org.matsim.contrib.parking.parkingchoice.lib.obj.list  
org.matsim.contrib.parking.parkingchoice.lib.obj.network  
org.matsim.contrib.parking.parkingchoice.lib.utils.expr
This package contains an apdapted version of the parser, implemented by Darius Bacon.
org.matsim.contrib.parking.parkingchoice.PC2
It looks to us like that PC2 and parkingChoice are two implementations of the same or at least overlapping functionality.
org.matsim.contrib.parking.parkingchoice.PC2.analysis  
org.matsim.contrib.parking.parkingchoice.PC2.infrastructure  
org.matsim.contrib.parking.parkingchoice.PC2.scoring  
org.matsim.contrib.parking.parkingchoice.PC2.simulation  
org.matsim.contrib.parking.parkingchoice.run  
org.matsim.contrib.parking.parkingproxy
Design thoughts: For large scale scenarios (e.g.
org.matsim.contrib.parking.parkingproxy.analysis  
org.matsim.contrib.parking.parkingproxy.config  
org.matsim.contrib.parking.parkingproxy.run  
org.matsim.contrib.parking.parkingsearch
Thoughts related to parking: The agents to not learn routes any more from day to day: routes are completely computed on the fly.
org.matsim.contrib.parking.parkingsearch.DynAgent  
org.matsim.contrib.parking.parkingsearch.DynAgent.agentLogic  
org.matsim.contrib.parking.parkingsearch.evaluation  
org.matsim.contrib.parking.parkingsearch.events  
org.matsim.contrib.parking.parkingsearch.manager  
org.matsim.contrib.parking.parkingsearch.manager.vehicleteleportationlogic
While integrating parking into existing simulations, some agent may have plans like home - car - work - pt - home - car - shopping - car - home i.e, the person's car is at a considerably different location than the person using the car.
org.matsim.contrib.parking.parkingsearch.routing  
org.matsim.contrib.parking.parkingsearch.search  
org.matsim.contrib.parking.parkingsearch.sim