Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Ruby
  3. biz

biz

Apache-2.0Ruby

A Ruby gem for performing time calculations based on configurable business hours, holidays, and breaks.

GitHubGitHub
489 stars23 forks0 contributors

What is biz?

Biz is a Ruby library for performing time calculations based on configurable business hours. It solves the problem of accurately computing deadlines, durations, and availability while accounting for holidays, breaks, shifts, and time zones. Developers use it to model real-world operational schedules in applications like customer support systems, project management tools, and service level agreement trackers.

Target Audience

Ruby developers building applications that require business-aware time calculations, such as customer service platforms, ticketing systems, or any software that needs to respect working hours and closures.

Value Proposition

Biz offers a robust, dependency-free solution with second-level precision and comprehensive feature support (holidays, breaks, shifts, DST handling), making it more reliable and configurable than simpler alternatives for complex scheduling needs.

Overview

Time calculations using business hours.

Use Cases

Best For

  • Calculating SLA deadlines in customer support software
  • Modeling business hours for global teams across time zones
  • Scheduling deliveries or appointments within operating hours
  • Tracking project timelines that exclude weekends and holidays
  • Building availability calendars for services or resources
  • Intersecting multiple schedules to find common working times

Not Ideal For

  • Projects with simple, static 9-to-5 Monday-Friday schedules that don't need holiday or break support
  • Non-Ruby applications or teams preferring integrated scheduling in other languages or frameworks
  • Dynamic environments where business hours change frequently, making manual configuration updates cumbersome
  • Use cases requiring only basic date arithmetic without second-level precision or DST handling

Pros & Cons

Pros

Second-Level Precision

Provides exact calculations down to the second for business time, including support for breaks and shifts, as demonstrated in usage examples like 'Biz.time(30, :minutes).before'.

Flexible Schedule Modeling

Allows configuration of multiple intervals per day, full-day coverage, time zones, holidays, breaks, and shifts, enabling accurate representation of complex real-world schedules.

No External Dependencies

Avoids dependencies like ActiveSupport, reducing bloat and compatibility issues, as stated in the anti-features section of the README.

Thread Safety

Designed to be safe in multi-threaded environments, with recommendations for global variable use in threaded apps, making it suitable for scalable applications.

Cons

Verbose Configuration

Setting up hours, shifts, breaks, and holidays requires detailed, manual configuration in Ruby hashes, which can be tedious and error-prone for large or dynamic schedules.

Ambiguous Day Calculations

The README admits that day calculations are inherently ambiguous and may not satisfy all use cases out of the box, potentially requiring custom logic for specific needs.

Performance Overheads

For schedules with many holidays, the README recommends pre-filtering to improve performance, indicating scalability concerns with large datasets.

Frequently Asked Questions

Quick Stats

Stars489
Forks23
Contributors0
Open Issues0
Last commit5 months ago
CreatedSince 2015

Tags

#time-calculation#date-time#dates#workflow-automation#time#ruby-gem#enterprise#holidays#scheduling#ruby#business-hours

Built With

R
Ruby

Included in

Ruby14.1k
Auto-fetched 1 day ago

Related Projects

groupdategroupdate

The simplest way to group temporal data

Stars3,886
Forks237
Last commit1 month ago
chronicchronic

Chronic is a pure Ruby natural language date parser.

Stars3,256
Forks451
Last commit2 years ago
ice_cubeice_cube

Ruby Date Recurrence Library - Allows easy creation of recurrence rules and fast querying

Stars2,467
Forks356
Last commit3 months ago
local_timelocal_time

Rails engine for cache-friendly, client-side local time

Stars2,000
Forks123
Last commit1 month ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub