Konfiguration von Abrechnungsregeln

Abrechnung pro Stunde


Preis pro Stunde (ActivityHourRate)

Über die Regel "ActivityHourRate" kann die Abrechnungsregel Preis/Stunde  einem Vertrag hinzugefügt werden. Dieser Preis gilt für alle Aktivitätskategorien und wird minutengenau abgerufen.

{ 
	"ruleName": "Geleistete Stunden",
	"calculatorName": "ActivityHourRate",
	"params": {
		"pricePerHour": 10,
		"countAfterMinutes": 60,
		"roundUpAfterMinutes": 1,
		"roundUpAfter": 0.5,
		"capAfterMinutes": 360
	} 
}
Regelparameter  
"ruleName"Bezeichnung der Regel / Bezeichnung des RechnungspostensText
"pricePerHour"Stundensatz/Preis pro Stunde. (Dezimalzeichen muss als Punkt angegeben werden)Dezimalzahl
"countAfterMinutes"Anzahl in Minuten, nach welchen die Abrechnungslogik angewandt wird. Wenn kein Wert gesetzt ist, wird ab der ersten Minute abgerechnet.Zahl
"roundUpAfterMinutes"Anzahl in Minuten, wonach eine angebrochene Stunde auf einen bestimmten Wert, der im Parameter "roundUpAfter" definiert werden kann, aufgerundet wird.Zahl
"roundUpAfter"

Definiert die Rundungsregel bei erfassten Aktivitäten:

  • Minutengenaue Abrechnung: "roundUpAfter": -1
  • auf 6 Minuten aufrunden: "roundUpAfter": 0.1
  • Viertelstündlich aufrunden: "roundUpAfter": 0.25
  • Halbstündlich aufrunden: "roundUpAfter": 0.5
Dezimalzahl
"capAfterMinutes"Anzahl an Minuten, die maximal pro einzelner Leistung abrechnet werden.Zahl

Preis pro Stunde für bestimmte Aktivitäts- und Schichtkategorien (ActivityBonusByHourShiftAndActivityCategory)

Über die Regel "ActivityBonusByHourShiftAndActivityCategory" lässt sich der Preis/Stunde für bestimmte Aktivitäten und für bestimmte Schichtkategorien festlegen. Durch mehrfache Verwendung der Regel, lassen sich verschiedene Preise/Stunde differenziert nach Schichtkategorie und Aktivitätskategorie abrufen.

 {
          "ruleName": "SomeName",
          "calculatorName": "ActivityBonusByHourShiftAndActivityCategory",
          "params": {
            "shiftCategories": ["training"],
            "activityCategories": ["train-drive"],
            "pricePerUnit": 40,
            "countAfterMinutes": 60,
            "roundUpAfterMinutes": 1,
            "roundUpAfter": 0.5,
            "capAfterMinutes": 360
          }
        }
Regelparameter  
"ruleName"Bezeichnung der Regel / Bezeichnung des RechnungspostensText
"shift
Categories"

Definiert ein Set aus Schichtkategorien, für welche die Regel gilt.

Auswahl der Schichtkategorie Normal und Ausbildung:

"shiftCategories": ["training", "normal"]

Übersicht der Schichtkategorien

Array
"activity
Categories"

Definiert ein Set aus Aktivitätskategorien, für welche die Regel gilt:

Auswahl der Aktivitäten Zugfahrt und Rangieren:

"activityCategories": ["train-ride", "guest-ride"] 

Übersicht der Aktivitätskategorien

Array
"pricePerUnit"Stundensatz/Preis pro Stunde. (Dezimalzeichen muss als Punkt angegeben werden)Dezimalzahl
"countAfterMinutes"Anzahl Minuten, nach welchen die Abrechnungslogik angewandt wird. Wenn kein Wert gesetzt ist, wird ab der ersten Minute abgerechnet.Zahl
"roundUpAfterMinutes"Anzahl in Minuten, wonach eine angebrochene Stunde auf einen bestimmten Wert, der im Parameter "roundUpAfter" definiert werden kann, aufgerundet wird.Zahl
"roundUpAfter"

Definiert die Rundungsregel bei erfassten Aktivitäten:

  • Minutengenaue Abrechnung: "roundUpAfter": -1
  • auf 6 Minuten aufrunden: "roundUpAfter": 0.1
  • Viertelstündlich aufrunden: "roundUpAfter": 0.25
  • Halbstündlich aufrunden: "roundUpAfter": 0.5
Dezimalzahl
"capAfterMinutes"Anzahl an Minuten, die maximal pro einzelner Leistung abrechnet werden.Zahl

 

Mindestabnahme pro Schicht (ShiftMinimumRate)

Über die Regel "ShiftMinimumRate" können zusätzlich zu einem Preis/ Stunde Regeln für Mindestabnahmemengen pro Schicht und Aktivitätskategorien definiert werden.

{
    "ruleName": "some name",
    "calculatorName": "ShiftMinimumRate",
    "params": {
      "pricePerUnit": 10,
      "fillUpTo": 8,
      "activityCategoryOptions": [
        {
          "activityCategories": ["train-ride", "guest-ride"],
          "roundUpAfter": 0.2,
          "minimumAmount": 2  
        },
        {
          "activityCategories": ["transfer"],
          "roundUpAfter": 0.1,
          "minimumAmount": 2
        }
      ]
    }
  }
Regelparameter  
"ruleName"Bezeichnung der Regel / Bezeichnung des RechnungspostensText
"pricePerUnit"Stundensatz/Preis pro Stunde. (Dezimalzeichen muss als Punkt angegeben werden)Dezimalzahl 
"fillUpTo"Mindestabnahmemenge an Stunden pro SchichtDezimalzahl
"activity
CategoryOptions"
Der Parameter ermöglicht es für bestimmte Aktivitäten weitere Regeln zu Mindestabnahmen pro Aktivität und zu Rundungsregeln pro Aktivität zu definieren.Array
"activity
Categories"

Definiert ein Set aus Aktivitätskategorien, für welche die nachfolgenden Regeln gelten:

Auswahl der Aktivitäten Zugfahrt und Rangieren:

"activityCategories": ["train-ride", "guest-ride"] 

Übersicht der Aktivitätskategorien

Array
"roundUpAfter"

Definiert die Rundungsregel bei erfassten Aktivitäten:

  • Minutengenaue Abrechnung: "roundUpAfter": -1
  • auf 6 Minuten aufrunden: "roundUpAfter": 0.1
  • Viertelstündlich aufrunden: "roundUpAfter": 0.25
  • Halbstündlich aufrunden: "roundUpAfter": 0.5
Dezimalzahl
"minimumAmount"Definiert die Mindestabnahme pro Aktivität für das gewählte Set an Aktivitäten.Dezimalzahl

Monatliche/wöchentliche Mindestabnahme (TimeFrameMinimumRate)

Über die Regel "TimeFrameMinimumRate" können, zusätzlich zu Abrechnungsregeln für einzelne Aktivitäten und Schichten, Mindestabnahmen für Zeitintervalle (Monat, Woche, 2 Wochen, etc.) erstellt werden.

[
    {
        "ruleName": "Monatsmindestabnahme",
        "calculatorName": "TimeFrameMinimumRate",
        "params": {
            "pricePerUnit": 60,
            "timeFrameFillUpTo": 170,
            "shiftFillUpTo": 8,
            "activityCategoryOptions": [
                {
                    "activityCategories": [
                        "train-drive",
                        "guest-ride"
                    ],
                    "roundUpAfter": -1,
                    "minimumAmount": 0,
                    "pricePerUnit": 60
                },
                {
                    "activityCategories": [
                        "transfer"
                    ],
                    "roundUpAfter": -1,
                    "minimumAmount": 0,
                    "pricePerUnit": 60
                }
            ],
            "absenceCategories": [
                "vacation",
                "sick-leave"
            ],
            "excludeHolidays": true,
            "frequency": {
                "unit": "month",
                "number": 1
            }
        }
    }
]
Regelparameter  
"ruleName"Bezeichnung der Regel / Bezeichnung des RechnungspostensText
"pricePerUnit"Stundensatz/Preis pro Stunde. (Dezimalzeichen muss als Punkt angegeben werden)Dezimalzahl 
"shift
FillUpTo"
Mindestabnahmemenge an Stunden pro SchichtDezimalzahl
"activity
CategoryOptions"
Der Parameter ermöglicht es für bestimmte Aktivitäten weitere Regeln zu Mindestabnahmen pro Aktivität und zu Rundungsregeln pro Aktivität zu definieren.Array
"activity
Categories"

Definiert ein Set aus Aktivitätskategorien, für welche die nachfolgenden Regeln gelten:

Auswahl der Aktivitäten Zugfahrt und Rangieren:

"activityCategories": ["train-ride", "guest-ride"] 

Übersicht der Aktivitätskategorien

Array
"roundUpAfter"

Definiert die Rundungsregel bei erfassten Aktivitäten:

  • Minutengenaue Abrechnung: "roundUpAfter": -1
  • auf 10 Minuten aufrunden: "roundUpAfter": 0.1
  • Viertelstündlich aufrunden: "roundUpAfter": 0.25
  • Halbstündlich aufrunden: "roundUpAfter": 0.5
Dezimalzahl
"minimum
Amount"
Definiert die Mindestabnahme pro Aktivität für das gewählte Set an Aktivitäten.Dezimalzahl
"absence
Categories"

Definiert welche Abwesenheiten mit der Mindestabnahme im gewählten Zeitintervall verrechnet werden. Für die Berechnung der verrechneten Stunden wird das hinterlegte Arbeitszeitmodell der betroffenen Mitarbeiter berücksichtigt.

Verrechnung von Krankentagen und Urlaubstagen:

"absenceCategories": ["vacation", "sick-leave"]

Übersicht der Abwesenheitskategorien

Text
"excludeHolidays"Definiert ob Feiertage mit der Mindestabnahme im gewählten Zeitintervall verrechnet werden. Für die Berechnung der verrechneten Stunden wird das hinterlegte Arbeitszeitmodell der betroffenen Mitarbeiter berücksichtigt. Defaultwert ist false .
"excludeHolidays": true/[false]
 
"frequency"

Definiert für welches Zeitintervall die Mindestabnahme abgerufen wird. Über den parameter "unit" kann zwischen Monat oder Woche gewählt werden:

"unit": "month" / "week" 

Der Parameter "number" definiert die Anzahl der Wochen/Monate des Intervalls:

"number": 1 / 2 /...

Zahl

 

Festpreise


Festpreis pro Aktivität (ActivityFlatRate)

Über die Regel "ActivityFlatRate" kann ein Festpreis pro geleisteter Aktivität definiert werden.

{
    "ruleName": "Fixpreis Zugfahrt",
    "calculatorName": "ActivityFlatRate",
    "params": { "pricePerUnit": 500 }
  }
Regelparameter  
"ruleName"Bezeichnung der Regel / Bezeichnung des RechnungspostensText
"pricePerUnit"Definiert den Festpreis-Betrag. (Dezimalzeichen muss als Punkt angegeben werden)Dezimalzahl
"activity
Categories"

Definiert ein Set aus Aktivitätskategorien, für welche die nachfolgenden Regeln gelten:

Auswahl der Aktivitäten Zugfahrt und Rangieren:

"activityCategories": ["train-ride", "guest-ride"] 

Übersicht der Aktivitätskategorien

Dezimalzahl

 

Festpreis pro Aktivität (ActivityByCategoryFlatRate)

Über die Regel "ActivityByCategoryFlatRate" kann ein Festpreis pro geleisteter Aktivität definiert werden.

 {
  "ruleName": "some name",
  "calculatorName": "ActivityByCategoryFlatRate",
  "params": {
    "activityCategories": ["some category"],
    "pricePerUnit": 100
  }
}
Regelparameter  
"ruleName"Bezeichnung der Regel / Bezeichnung des RechnungspostensText
"pricePerUnit"Definiert den Betrag des Festpreises pro Aktivität. (Dezimalzeichen muss als Punkt angegeben werden)Dezimalzahl
"activity
Categories"

Definiert ein Set aus Aktivitätskategorien, für welche die nachfolgenden Regeln gelten:

Auswahl der Aktivitäten Zugfahrt und Rangieren:

"activityCategories": ["train-ride", "guest-ride"] 

Übersicht der Aktivitätskategorien

Dezimalzahl

 

Festpreis pro Schicht (FixedShiftCategoryRate)

Über die Regel "FixedShiftCategoryRate" kann ein Festpreis pro geleisteter Schicht definiert werden.

 {
  "ruleName": "some name",
  "calculatorName": "FixedShiftCategoryRate",
  "params": {
    "shiftCategories": ["some category"],
    "pricePerUnit": 100
  }
}
Regelparameter  
"ruleName"Bezeichnung der Regel / Bezeichnung des RechnungspostensText

"shift
Categories"

 

Definiert ein Set aus Schichtkategorien, für welche die Regel gilt.

Auswahl der Schichtkategorie Normal und Ausbildung:

"shiftCategories": ["training", "normal"]

Übersicht der Schichtkategorien

Array
"pricePerUnit"Definiert den Betrag des Festpreises pro Schicht. (Dezimalzeichen muss als Punkt angegeben werden).Dezimalzahl

 

AdHocShiftRate

Über die Regel "AdHocShiftRate" können Aufschläge pro Schicht definiert werden, die für kurzfristig übernommene Schichten abgerufen werden. Schichten können über die Schichtdetailseite als kurzfristige Übernahme markiert werden.

{
  "ruleName": "some name",
  "calculatorName": "AdHocShiftRate",
  "params": {
    "pricePerUnit": 10
  }
}
Regelparameter  
"ruleName"Bezeichnung der Regel / Bezeichnung des RechnungspostensText
"pricePerUnit"Definiert den Betrag des Aufpreises pro (kurzfristig übernommene) Schicht. (Dezimalzeichen muss als Punkt angegeben werden).Dezimalzahl

 

Abrechnung nach Tonnage oder Anzahl transportierter Wagen


ActivityByTonnage

Über die Regel "ActivityByTonnage" lässt sich ein Preis pro transportierte Tonne definieren. Tonnagen lassen sich über das WILSON Portal in Leistungen erfassen.

 {
  "ruleName": "some name",
  "calculatorName": "ActivityByTonnage",
  "params": {
    "minimumAmount": 10,
    "pricePerUnit": 20
  }
}
Regelparameter  
"ruleName"Bezeichnung der Regel / Bezeichnung des RechnungspostensText
"minimumAmount"

Mindestabnahme in Tonnen.

Für min. 10t: "minimumAmount": 10

Ohne Mindestabnahme: "minimumAmount": 0

Ganzzahl
"pricePerUnit"Preis pro Einheit - in diesem Fall Preis pro Tonne. (Dezimalzeichen muss als Punkt angegeben werden)Dezimalzahl

 

ActivityByWagonNumber

Über die Regel "ActivityByWagonNumber" lässt sich ein Preis pro transportierten Wagen definieren. Die Anzahl der Wagen lassen sich über das WILSON Portal in Leistungen erfassen.

 {
  "ruleName": "some name",
  "calculatorName": "ActivityByWagonNumber",
  "params": {
    "minimumAmount": 1,
    "pricePerUnit": 1
  }
}
Regelparameter  
"ruleName"Bezeichnung der Regel / Bezeichnung des RechnungspostensText
"minimumAmount"

Mindestabnahme (Anzahl transportierter Wagen):

Für min. 1 transportierte Wagen: "minimumAmount": 1

Ohne Mindestabnahme: "minimumAmount": 0

Ganzzahl
"pricePerUnit"Preis pro Einheit - in diesem Fall Preis pro Wagen. (Dezimalzeichen muss als Punkt angegeben werden)Dezimalzahl

 

Abrechnung von Zuschlagszahlungen


TimeFrameBonus

Über die Regel "TimeFrameBonus" lassen sich Zuschlagszahlungen für bestimmte Zeiträume oder Feiertage berechnen und umlegen (Nachtzuschlag, Samstags-/Sonntagszulage, Feiertagszulage, etc.).

 {
      "ruleName": "Personalkosten/h",
      "calculatorName": "TimeFrameBonus",
      "params": {
            "timeBonusCalculationMethod": "hierarchal-calculation",
            "bonuses": [
              {
                "ruleName": "Nachtzuschlag",
                "isoWeekdays": [1, 2, 3, 4, 5, 6, 7],
                "onHolidaysRegion": [],
                "timeFrame": { "start": "22:00", "end": "06:00" },
                "roundUpAfter": -1,
                "pricePerUnit": 1,
                "notConsideredActivityCategories": ["guest-ride"],
                "priority": 0.1
              },
              {
                "ruleName": "Sonntagszuschlag",
                "isoWeekdays": [7],
                "onHolidaysRegion": [],
                "timeFrame": { "start": "00:00", "end": "00:00" },
                "roundUpAfter": -1,
                "pricePerUnit": 2,
                "notConsideredActivityCategories": ["guest-ride"],
                "priority": 0.2
              },
              {
                "ruleName": "Feiertagszuschlag",
                "isoWeekdays": [1, 2, 3, 4, 5, 6, 7],
                "onHolidaysRegion": ["DE", "BB"],
                "timeFrame": { "start": "00:00", "end": "00:00" },
                "roundUpAfter": -1,
                "pricePerUnit": 2,
                "notConsideredActivityCategories": ["guest-ride"],
                "priority": 0.3
              }
            ]
          }
        }
Regelparameter  
"ruleName"Bezeichnung der Regel / Bezeichnung des RechnungspostensText
"timeBonus
Calculation
Method"

Definiert das Verhalten, wenn mehrere Zuschlagsregeln gleichzeitig greifen:

  • Sollen sich einzelne Zuschlagsregeln addieren: "flat-calculation"  
  • Soll nur die Regel mit der höchsten Priorität berücksichtigt werden: "hierarchal-calculation"
 
"bonuses"Definiert einzelne Zuschlagsregeln (Array aus einzelnen Regeln).Array
  • "ruleName"
Definiert die Bezeichnung der einzelnen Regeln und des erstellten Rechnungsposten.Text
  • "isoWeekdays"

Definiert die gültigen Wochentage der Regel:

1 steht für Montage
2 für Dienstage
3  ...
7 für Sonntage

Für Montag- Freitag:
"isoWeekdays": [1, 2, 3, 4, 5]

 
  • "onHolidays
    Region"
Definiert den zu berücksichtigen Urlaubskalender im Format [Ländercode, Regionscode]
Beispiel für Brandenburg, Deutschland:
[“DE”, “BB”]  

Liste der Länder und Regionscodes
Array
  • "timeFrame"

Definiert das zu berücksichtigende Zeitintervall über Start- und Endzeit:

{ "start": "00:00", "end": "00:00" }

Zeit (HH:MM)
  • "roundUpAfter"

Definiert die Rundungsregel bei erfassten Zulagen:

  • Minutengenaue Abrechnung: "roundUpAfter": -1
  • auf 10 Minuten aufrunden: "roundUpAfter": 0.1
  • Viertelstündlich aufrunden: "roundUpAfter": 0.25
  • Halbstündlich aufrunden: "roundUpAfter": 0.5
 
  • "pricePerUnit"
Betrag des Zuschlags pro Stunde. (Dezimalzeichen muss als Punkt angegeben werden)Dezimalzahl
  • "notConsidered
    Activity
    Categories"

Definiert welche Aktivitäten von Bonuszahlungen ausgenommen sind.

"notConsideredActivityCategories": ["guest-ride", "pause"]

Übersicht der Aktivitätskategorien

Array
  • "priority"
Definiert die Priorität der Regeln zueinander als Dezimalzahl zwischen 0 und 1. Nur die höchste Priorität wird berücksichtigt. Zulagen mit gleichen Prioritäten werden addiert. Dezimalzahl