WCF is designed for SOA so I am not even sure that you can do what you are asking for. And again, I really recommend you to use a service based approach and not an OO one. SOA is much easier to maintain actually and allows for a separation of logic between server and client. You'll probably need to rethink your project a bit but I think it is worth it. I am sure a lot of experts here will tell you the same thing, SOA is the best solution for vertical and horizontal scalability.
Also, what you can do is the following for instance:
RestaurantService.AddReservation(ReservationInfo reservation)
where reservation info is a container object with the information required to make a reservation.
To mark an object to be exposed use "DataContract" and "DataMember" in your attributes:
[DataContract]
public class ReservationInfo
{
private int reservationId;
private string firstName;
[DataMember]
public int FirstName
{
get;set;
}
}