Umar Alkafaween

Software Engineer, University Lecturer
Seated Logo

Seated rewards people for dining at resturants during slow-hours.
I developed Seated's backend from scratch.

Highlights

  • Rebuilt the backend from scratch
  • APIs for mobile and admin web app
  • OpenTable Integration
  • Handling more than 100 million time slot for booking through dynamic schedules
    • 3 levels
      • App level: Applies to all restaurants in the app
      • City level: Applies to all restaurants in a city
      • Restaurant level: Applies to one specific restaurant
    • 2 types
      • Positive periods: These are time periods that customers can book a slot within.
      • Negative periods: These are time periods that customers cannot book slots within, they can overlap with positive slots and must be removed from within them.
    • E.g., an app level schedule of 30 minute slots for a positive period 2-4pm will generate the time slots: 2:00pm, 2:30pm, 3:00pm, 3:30pm.
    • A city level schedule with a negative period 2:30-3:30pm will remove the 2 slots 2:30pm and 3pm from all restaurants in that city. Combined with the app level schedule above, only 2:00pm and 3:30pm slots will be available to book.
    • The slots are generated within a second for thousands of restaurants through optimized SQL queries.

Images