Book model and API