app.businesscalendar.yamlΒΆ

[engineDir]/configuration/reference/app.businesscalendar.yaml

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
#
# -------------------------------------------
# Axon.ivy Business Calendar Configuration
# -------------------------------------------
#
# This file shows configurations of a Business Calendar.
# @engine.guide.url@/configuration/index.html#business-calendar
# 
# Copy contents of this reference file to 'configuration/app-<APPNAME>.yaml' before adjusting them to your needs.
# @engine.guide.url@/configuration/files/app-yaml.html
#
# Business calendars are organized as trees, with one root / default calendar and an arbitrary number of child calendars.
# Child business calendars inherit the values of their parent. A parent can be the root calendar or any child calendar.
#
# At least one root calendar needs to be defined. If non is configured, a root / default calendar will be created automatically
# with following default values:
#   - Parent is empty
#   - First day of week is: Monday
#   - Working times are: 'morning: 8:00 - 12:00' and 'afternoon: 13:00 - 17:00'
#
# You can reference a business calendars in a ivy projects by its name. E.g ivy.cal.get("myRootBusinessCalendar")

BusinessCalendars:

  # This is an example configuration of a business calendar with the name myRootBusinessCalendar.
  myRootBusinessCalendar:

    # Name of the parent business calendar.
    # If empty or not existing this business calendar will be the root calendar for this application.
    # Only one root calendar is allowed.
    Parent:

    # First day of the week.
    # If empty or not existing the parent calendar's value is inherited. 
    # If not defined by any parent the value is retrieved from the current locale settings
    # Possible values (case insensitive): monday, tuesday, wednesday, thursday, friday, saturday, sunday
    FirstDayOfWeek: monday

    # Name-value pairs of working times during a business day.
    # At least one working time needs to be defined here or in any of the parents for business calendar calculations to work.
    #
    # Warning: 
    # Ensure that your working times in your calendar tree do not overlap. 
    # Otherwise the business calendar calculations may not work correctly! 
    #
    # Value format is : HH:mm-HH:mm
    WorkingTimes:

      # This is an example configuration of a working time with name myMorning from 8 to 12 in the morning.
      myMorning: 8:00-12:00

      # This is an example configuration of a working time with name myMorning from 1 to 5 in the afternoon.
      myAfternoon: 13:00-17:00

    # Name-value pairs of non-working days.
    # There are four different types of non-working days:
    #   - Weekdays 
    #   - Yearly Days 
    #   - Days relative to Easter
    #   - Fixed dates.
    FreeDays:
      # - Weekdays: Days that are always off during a week, e.g. Saturday and Sunday.
      #             Possible values (case insensitive): monday, tuesday, wednesday, thursday, friday, saturday, sunday
      WeekendStart: saturday
      WeekendEnd: sunday

      # - Yearly Days: Recurring non-working days during a year, falling on the same date, e.g. Jan. 1 or Christmas.
      #             Format: MM-dd, e.g. 01-01 (New Year), 12-25 (Christmas Day)
      "New Year": 01-01
      "Christmas Day": 12-25

      # - Relative Easter Days: Recurring non-working days relative to Easter Sunday, e.g. Good Friday or Pentecost.
      #             Format (case insensitive): easter +/- Number, e.g. 'easter - 2' (Good Friday), 'easter + 50' (Pentecost Monday)
      "Good Friday": easter - 2
      "Easter Monday": easter + 1
      "Pentecost Monday": easter + 50

      # - Fixed Dates: Once-off non-working days, e.g. a company celebration day or a special local public holiday.
      #             Format: YYYY-MM-dd
      "50 Years Ivyteam": 2043-04-07

  # This is an example configuration of a child business calendar
  # It defines the root calendar as its parent and extends it by one non-working day (Ascension Day).
  myLocalBusinessCalendar:
    Parent: myRootBusinessCalendar
    FreeDays:
      "Ascension Day": easter + 39