pm4py.util.business_hours module#

PM4Py – A Process Mining Library for Python Copyright (C) 2026 Process Intelligence Solutions GmbH

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public License along with this program. If not, see this software project’s root or visit <https://www.gnu.org/licenses/>.

Website: https://processintelligence.solutions Contact: info@processintelligence.solutions

class pm4py.util.business_hours.BusinessHours(datetime1, datetime2, **kwargs)[source]#

Bases: object

business_seconds_from_week_start(dt)[source]#

Calculate business seconds from the start of the week to the given datetime.

get_seconds()[source]#

Calculate total business seconds between datetime1 and datetime2.

pm4py.util.business_hours.soj_time_business_hours_diff(st: datetime, et: datetime, business_hour_slots: List[Tuple[int]], work_calendar=None) → float[source]#

Calculates the difference between the provided timestamps based on business hours.

Parameters:
  • st (datetime) – Start timestamp

  • et (datetime) – End timestamp

  • business_hour_slots (List[Tuple[int]]) – Work schedule as list of tuples (start, end) in seconds since week start

  • work_calendar – Work calendar (unused in this implementation)

Returns:

Difference in business hours (seconds)

Return type:

float