Consider airline reservations. What is an airline reservation? That's not the right question. Maybe we want to ask how we should define an airline reservation for the purposes of an Elephant reservation program. This is still too definite. What do we want to say about airline reservations to our program? As little as possible. We need to say enough so that the program can make, cancel, answer questions about, and honor reservations. Saying more than what is necessary unnecessarily restricts the implementation. It also increases what has to be known in order to modify the program.
So what do we need?