← Back to list

Day Pass Plus: Turning Empty Offices into Premium Workdays

How WeWork India’s On-Demand Engineering team turned idle private offices into a dynamically-allocated premium product — and the allocation…

Rishabh Kumar · 2026-06-18 12:17 · 5 claps · 6.2 min read
#technology #inventory-management #wework #coworking #corporate-culture
Open on Medium ↗
Wiki topics: BIZ · Business Strategy CUL · Culture & Media

Day Pass Plus: Turning Empty Offices into Premium Workdays

How WeWork India’s On-Demand Engineering team turned idle private offices into a dynamically-allocated premium product — and the allocation engine that makes it work.

The empty desk problem 👻

A private office at WeWork is leased long-term. But between two contracts, before an upcoming move-in, or simply before it’s booked, that room sits enclosed, furnished, and empty — earning zero rupees and invisible to everyone outside the building.

Multiply one idle room by dozens of buildings and a few weeks of gaps, and you have a serious amount of premium square footage doing nothing.

[embed]

What Day Pass Plus actually is

Day Pass Plus (DPP) is a premium, bookable-by-the-day product: instead of a seat in a noisy open hall (classic Day Pass), the user gets a dedicated desk inside a private, enclosed, shared office — quieter, focused, premium. It ships no new inventory: it dynamically borrows the empty private offices already tracked in Yardi Kube (our source of truth for all physical space) and hands them back the moment a long-term tenant needs them.

The interesting part isn’t the product pitch — it’s that borrowing an empty room, per building, per day, without overcrowding it is a real allocation problem. Here’s how the system solves it.

The architecture 🏗️

A DPP booking travels through four stages:

  1. Channels. Orders arrive from three sources. On 19 Jun 2026 the split was third-party 65.8%, mobile app 17.7%, and website 16.5% — so two-thirds of demand comes through partner channels, which shapes how we cache and rate-limit.
  2. Orders & Payment. Once payment completes, the service emits an order-paid event. Allocation is deliberately decoupled from payment — you never want a desk locked to an order that didn’t pay.
  3. Allocation Engine. The core. It loads the building’s configured DPP capacity, pulls currently-free offices from Yardi (cached), runs the two algorithms below, and writes the assigned space back. It is idempotent and scoped per building + date, so a retried event can’t double-book a seat.
  4. Reservations store. The chosen space and its Yardi IDs are persisted, and the booking resolves as SUCCESS (seat assigned) or FAILURE (re-queued / alerted).

The hard constraint: share a room without building a clown car 🤡

Allocation has to keep two invariants true at the same time. One — don’t waste rooms: opening five rooms for three people burns inventory and annoys facilities. Two — don’t overcrowd: cram a premium room to the rafters and you’ve recreated the noisy open hall, and the entire promise of DPP dies.

The lever is a configured DPP capacity X per building — a deliberate ceiling on premium seats we’ll sell there. Everything downstream respects X.

[embed]

Algorithm 1 — Best-fit room selection 🧩

Given the cap X, the engine picks the fewest, best-fit Yardi offices whose capacities sum to X without exceeding it. The rule, in one loop: while seats remain to place, take the largest available office that fits within the remaining cap; if none fits, stop; subtract its capacity; repeat.

Worked example: cap X = 10, available offices of size 12, 8, 6, 4 and 2. Largest at or below 10 is 8 — take it, 2 left. Largest at or below 2 is 2 — take it, 0 left. Done. The 12-seater is never considered — it is larger than the cap, the exact thing the cap exists to prevent.

Result: two rooms (8 + 2 = 10) — fewest rooms, best fit, never over the crowd cap. The greedy pass is O(n log n) on a building’s candidate offices, which is trivial at our per-building room counts.

[embed]

Algorithm 2 — Fill-before-expand 🪑

Selecting rooms is the plan; fill-before-expand is what happens as real bookings land. The first booking for a building-and-date opens one real Yardi office and marks it open. Every subsequent booking fills that same room until it hits capacity. Only when it is full does the next booking open the next room from the best-fit set.

We can see this in the raw data. On 19 Jun 2026 a single order booked 5 seats at Embassy Vertex — and all five were assigned to the same room (01–101) rather than scattered across five rooms. At Embassy TechVillage, 3 seats consolidated into room 04–106; at Zenia, 2 seats shared 08–125. That is fill-before-expand doing its job: high occupancy per opened room, no half-empty premium offices, and a quieter room for the people actually in it.

What one real day looks like 📊

For booking date 19 Jun 2026: 79 orders produced 94 seat-reservations (about 1.19 seats per order), with 81.9% allocated successfully on the first pass. DPP was live in roughly 19 buildings across 3 cities — Delhi, Mumbai and Bengaluru. Channel mix: third-party 65.8%, app 17.7%, website 16.5%.

The 94-seats-from-79-orders ratio is the quiet workhorse here: teams book together, and fill-before-expand keeps those colleagues in shared rooms instead of fragmenting inventory.

The real payoff: idle offices, reused again and again 📈

A single day shows the mechanism; the launch period shows the point. Sampling 10 booking-days from early March to mid-June 2026, DPP placed 858 successful seat-allocations into just 108 distinct private offices. Two numbers tell the story.

First: 83% of those offices (90 of 108) were shared by more than one person. These are not one-and-done bookings — the same enclosed, otherwise-idle room is doing real work for multiple members.

Second: 65 of the 108 offices were reused on more than one of those sampled days — the same office, in the same building, brought back to life weeks apart rather than sitting dark between long-term leases.

And the standouts are striking. One private office at Zenia (Mumbai) hosted 39 different people across about 11 weeks. One at Berger Delhi One stayed in the allocation rotation on 8 of our 10 sampled days, serving 32 people over about 13 weeks. Every one of those member-days is a day that office would otherwise have earned nothing and been seen by no one. (These counts come from sampled days only, so the true totals run higher.)

That is the thesis in data: a long-term asset that used to go dark between tenants now quietly turns over dozens of premium workdays a quarter — without ever breaking its crowd cap.

Impact since launch 🏆

Zoom out to the whole launch window and the impact is concrete. Since the first week of March 2026, Day Pass Plus has taken 6,017 orders into 7,187 seat-bookings, allocated 6,672 of them (92.8% overall — the single busy day above was a tougher outlier), and put 170 distinct private offices back to work across 22 weeks. Every one of those is a room that would otherwise have sat idle between leases.

The trend tells the story: weekly bookings climbed from about 285 in the launch week to a steady 450–515, and the number of distinct offices in rotation each week nearly doubled — from about 28 to about 50. Demand scaled, supply scaled with it, and the per-building cap was never the thing that broke.

When allocation doesn’t succeed ⚠️

About 1 in 6 bookings on that day didn’t get a seat on the first pass. That is not a silent drop — it is the system refusing to break its own invariants, and it falls into a few well-understood buckets.

Cap reached: the building hit its configured X, and honoring the cap (and the premium experience) is the correct behavior. Stale inventory: a room the cache believed was free was no longer available in Yardi at write time — caught at allocation, not after. Unconfigured building: demand arrived for a building that isn’t DPP-enabled yet.

Each failure is re-queued and/or alerted rather than swallowed, which makes the failure rate a capacity-and-coverage signal we tune against — not a dead end for the user.

Why this is quietly clever 🧠

Revenue from idle assets: rooms that earned nothing between contracts now earn — and become visible to brand-new users. Premium stays premium: the per-building cap guarantees a DPP room never turns into a sardine tin. Yardi stays the source of truth: we never invent inventory; we borrow what’s genuinely free and return it instantly when a tenant needs it.

What’s next 🚀

Demand-based pricing, per-building cap auto-tuning from occupancy history, tighter Yardi cache invalidation to shrink the stale-inventory slice of failures, and surfacing these previously-invisible rooms to first-time users. The empty desk doesn’t haunt us anymore — it’s out there working the room.

Written by Rishabh Kumar · Digital Products/ Engineering · WeWork India.


메타데이터
post_id
a6d36bfaada4
slug
day-pass-plus-turning-empty-offices-into-premium-workdays-a6d36bfaada4
url
https://medium.com/@rishabh.kumar_29907/day-pass-plus-turning-empty-offices-into-premium-workdays-a6d36bfaada4
canonical_url
https://medium.com/@rishabh.kumar_29907/day-pass-plus-turning-empty-offices-into-premium-workdays-a6d36bfaada4
author_url
https://medium.com/@rishabh.kumar_29907
status
ok
fetched_at
2026-07-15 17:30:05