Examples
Examples
Try the starting example
- Room identifiers; enter JSON
- ["101","102"]
- Bookings [room,check-in ISO date,check-out ISO date]; enter JSON
- [["101","2026-11-01","2026-11-03"],["102","2026-11-02","2026-11-04"]]
- Room blocks [room,start ISO date,end ISO date]; enter JSON
- [["102","2026-11-01","2026-11-02"]]
- Calendar start (ISO date)
- 2026-11-01
- Calendar end excluded (ISO date)
- 2026-11-04
- Nightly [date,available,occupied,blocked] and conflicts (JSON)
- {"nights":[["2026-11-01",1,1,1],["2026-11-02",2,2,0],["2026-11-03",2,1,0]],"conflicts":[]}
- Available room-nights (count)
- 5
- Occupancy fraction of available room-nights
- 0.8
Try another scenario
- Room identifiers; enter JSON
- ["101","102","103"]
- Bookings [room,check-in ISO date,check-out ISO date]; enter JSON
- [["101","2026-11-01","2026-11-04"],["102","2026-11-01","2026-11-03"]]
- Room blocks [room,start ISO date,end ISO date]; enter JSON
- [["103","2026-11-02","2026-11-04"]]
- Calendar start (ISO date)
- 2026-11-01
- Calendar end excluded (ISO date)
- 2026-11-04
- Nightly [date,available,occupied,blocked] and conflicts (JSON)
- {"nights":[["2026-11-01",3,2,0],["2026-11-02",2,2,1],["2026-11-03",2,1,1]],"conflicts":[]}
- Available room-nights (count)
- 7
- Occupancy fraction of available room-nights
- 0.714286
Calculation method
Calculation method
Nightly [date,available,occupied,blocked] and conflicts (JSON)
Enumerate each room-night; count unique occupied available room-nights; report double-booked or blocked-booked room-nights.
Available room-nights (count)
Sum available rooms over calendar nights.
Occupancy fraction of available room-nights
Occupied available room-nights/available room-nights; text if no available supply.
Symbols and units
- a
- Room identifiers; enter JSON
- b
- Bookings [room,check-in ISO date,check-out ISO date]; enter JSON
- c
- Room blocks [room,start ISO date,end ISO date]; enter JSON
- d
- Calendar start (ISO date)
- e
- Calendar end excluded (ISO date)
Use the units shown. A list keeps the order in which you enter its values. The symbol ^ means “raised to the power of”.
Assumptions & limits
Assumptions & limits
- Exact named-room, nightly calendar; departure date is excluded and blocked rooms leave available supply. Supported limits: All numeric inputs and computed intermediates must remain finite. Supported numeric input magnitude is zero or 1e-12 through 1e12 in absolute value; reject values outside this bounded range. All lists/JSON record tables are limited to 100 records unless a stricter bound is stated; reject malformed record arity and wrong member types. Unique nonempty room ids; referenced rooms exist; valid ISO start<end; calendar at most 366 days; <=100 rooms/stays/blocks.
Are these inputs private?
These calculations run in your browser. A shared link contains the values you choose to share. Only questions submitted to the separate AI finder are sent to OpenAI.