---
# System prepended metadata

title: Lensa interview

---

# Lensa interview

## Locker Rental App <System Design Exercise>
We would like to have a system in skiing areas where skier can rent lockers for some days to store their skiing equipments.
This way they do not need to carry their equipments when they leave and reenter
the skiing area.
    
The app should run on a server, the client is a mobile app.

You should concentrate on the server side system design.
We are interested in the domain domain objects and their interaction without any protocols. So do not worry about HTTP, RDBMS, SQL etc...

The basic process from the end user’s point of view:
1. Registration
2. Select free lockers
3. Select duration
4. Finalise with payment
5. Issue an access code with which the lockers can be used

    
User:
    first_name = models.CharField()
    last_name = models.CharField()
    active
    
Locker:
    id
    code
    used
    
UsedLocker:
    locker_id
    user_id
    start_date
    duration
    

Payment:
    used_locker
    amount
    user_id
    date
    

