Add ProductReservation domain model and repository
Update java doc