/business-hours

Multi-platform library helps to persist, manage, distribute and present business hours using a simple but powerful human-readable language.

MIT LicenseMIT

Experimental State of the library (features do not exist, are not fully tested or can not be used the way they should be used)

Animated Usage Example

Business Hours Twitter

GitHub issues GitHub license

This multi-platform library helps to persist, manage, distribute and present business hours using a simple but powerful language. It can handle different timezones and languages with ease. The language covers all kinds of use-cases, as seasons, even/odd weeks, holidays, open-end and much more. If you find one that is not covered, we encourage you to report it or provide a pull-request yourself and become a contributor.

Features

  • Human-readable language to easily represent business hours (also for non-technical persons)
  • Translatable language and presentation
  • Multi-platform support using Kotlin as language
  • Full support for timezones
  • Presentation/render engine to represent business hours as HTML or text
  • Covering all kinds of use-cases for business hours (seasons, even/odd weeks, holidays, ...)

Language

You can validate and play around with the "business hours" language using the official Demo website. A detailed documentation and handbook can be found in the Wiki.

Installation

Maven

<dependency>
    <groupId>codes.stephan</groupId>
    <artifactId>business-hours</artifactId>
    <version>0.0.1</version>
</dependency>

Usage

Roadmap

Contributing

Acknowledgment

The human-readable languages general concept is heavily inspired by Patrick Ryan's Time::Period module.