In previous chapters, we prepared the master data structures for the library application. Now we want to add the ability for library members to borrow books. This means we can keep track of book availability and book returns.
Each book checkout request has a life cycle, from the moment it's being drafted, to the moment the books are returned. It's a simple workflow that can be represented as a Kanban board, where the several stages are presented as columns and the work items and checkout requests flow from the left-hand column to the right, until they are completed.
In this chapter, we will focus on the data model and business logic to support this feature. The user interface will be discussed in Chapter 10, Backend Views – Designing the User Interface, and the Kanban views in Chapter 11, Kanban Views and Client - Side Qweb.
The library checkout model will have the following:
- The library member borrowing the books (required)
- The request date (defaults...