# What does BY\_DAY\_COUNT and BY\_WEEKDAY\_COUNT mean in IfcRecurrenceTypeEnum?

**URL:** <https://forums.buildingsmart.org/t/what-does-by-day-count-and-by-weekday-count-mean-in-ifcrecurrencetypeenum/3571>\
**Category:** Developers\
**Created:** [April 29, 2021, 2:09am UTC](https://forums.buildingsmart.org/t/what-does-by-day-count-and-by-weekday-count-mean-in-ifcrecurrencetypeenum/3571 "2021-04-29T02:09:17Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![Moult](https://sea2.discourse-cdn.com/flex016/user_avatar/forums.buildingsmart.org/moult/32/196_2.png) [@Moult](https://forums.buildingsmart.org/u/Moult)\
**Post date:** [April 29, 2021, 2:09am UTC](https://forums.buildingsmart.org/t/what-does-by-day-count-and-by-weekday-count-mean-in-ifcrecurrencetypeenum/3571/1 "2021-04-29T02:09:17Z")

</div>

Here is my understanding with some examples to illustrate:

- DAILY: every Nth (interval) day for up to X (Occurrences) occurrences. e.g. Every 2 days.
- WEEKLY: every Nth (interval) MTWTFSS (WeekdayComponent) for up to X (Occurrences) occurrences. e.g. Every Monday.
- MONTHLY\_BY\_DAY\_OF\_MONTH: every Nth (DayComponent) of every Xth (Interval) Month up to Y (Occurrences) occurrences. e.g. Every 15th of the Month.
- MONTHLY\_BY\_POSITION: Every Nth (Position) MTWTFSS (WeekdayComponent) of every Xth (Interval) Month up to Y (Occurrences) occurrences. e.g. Every second Tuesday of the Month.
- YEARLY\_BY\_DAY\_OF\_MONTH: every Nth (DayComponent) of every JFMAMJJASOND (MonthComponent) month of every Yth (Interval) Year up to Z (Occurrences) occurrences. e.g. every 25th of December.
- YEARLY\_BY\_POSITION: every Nth (Position) MTWTFSS (WeekdayComponent) of every JFMAMJJASOND (MonthComponent) month of every Yth (Interval) Year up to Z (Occurrences) occurrences. e.g. every third Wednesday of January.

What is `BY_DAY_COUNT` and `BY_WEEKDAY_COUNT`? It seems to be identical to `DAILY` and `WEEKLY`.

Oh, and there’s a typo for `nterval` in the row in the table.

 ![2021-04-29-115213_1257x590_scrot](https://us1.discourse-cdn.com/flex016/uploads/buildingsmart1/original/2X/d/d271327aab4dd11ee6acc56ec714a91f5b70b7b1.png)

For reference here is some examples in the BlenderBIM Add-on source code:

```auto
    recurrence_types: EnumProperty(items=[
        ("DAILY", "Daily", "e.g. Every day"),
        ("WEEKLY", "Weekly", "e.g. Every Friday"),
        ("MONTHLY_BY_DAY_OF_MONTH", "Monthly on Specified Date", "e.g. Every 2nd of each Month"),
        ("MONTHLY_BY_POSITION", "Monthly on Specified Weekday", "e.g. Every 1st Friday of each Month"),
        # https://forums.buildingsmart.org/t/what-does-by-day-count-and-by-weekday-count-mean-in-ifcrecurrencetypeenum/3571
        # ("BY_DAY_COUNT", "", ""),
        # ("BY_WEEKDAY_COUNT", "", ""),
        ("YEARLY_BY_DAY_OF_MONTH", "Yearly on Specified Date", "e.g. Every 2nd of October"),
        ("YEARLY_BY_POSITION", "Yearly on Specified Weekday", "e.g. Every 1st Friday of October"),
    ], name="Recurrence Types")

```

---

<div class="post-metadata">

**Author:** ![aothms](https://avatars.discourse-cdn.com/v4/letter/a/c67d28/32.png) [@aothms](https://forums.buildingsmart.org/u/aothms)\
**Post date:** [May 3, 2021, 10:05am UTC](https://forums.buildingsmart.org/t/what-does-by-day-count-and-by-weekday-count-mean-in-ifcrecurrencetypeenum/3571/2 "2021-05-03T10:05:13Z")

</div>

I think it is to be used in conjunction with `Interval`. So `BY_DAY_COUNT` with Interval=2 means once every two days. WEEKDAY\_COUNT same, except it excludes weekends?

Interval [IfcInteger](https://standards.buildingsmart.org/IFC/RELEASE/IFC4/ADD2_TC1/HTML/schema/ifcmeasureresource/lexical/ifcinteger.htm) ? An interval can be given according to the pattern type. An interval value of 2 can for instance every two days, weeks, months, years. An empty interval value is regarded as 1. The used interval values should be in a reasonable range, e.g. not 0 or \<0.

> [IfcRecurrencePattern](https://standards.buildingsmart.org/IFC/RELEASE/IFC4/ADD2_TC1/HTML/schema/ifcdatetimeresource/lexical/ifcrecurrencepattern.htm)

---

<div class="post-metadata">

**Author:** ![Moult](https://sea2.discourse-cdn.com/flex016/user_avatar/forums.buildingsmart.org/moult/32/196_2.png) [@Moult](https://forums.buildingsmart.org/u/Moult)\
**Post date:** [May 3, 2021, 10:34pm UTC](https://forums.buildingsmart.org/t/what-does-by-day-count-and-by-weekday-count-mean-in-ifcrecurrencetypeenum/3571/3 "2021-05-03T22:34:26Z")

</div>

@aothms however `DAILY` is also allowed to be used in conjunction with `Interval` (see table in screenshot). Therefore, i can equally specify `DAILY` + `Interval=2`. Thoughts?

---

<div class="post-metadata">

**Author:** ![aothms](https://avatars.discourse-cdn.com/v4/letter/a/c67d28/32.png) [@aothms](https://forums.buildingsmart.org/u/aothms)\
**Post date:** [May 4, 2021, 11:10am UTC](https://forums.buildingsmart.org/t/what-does-by-day-count-and-by-weekday-count-mean-in-ifcrecurrencetypeenum/3571/4 "2021-05-04T11:10:43Z")

</div>

Ok, but with DAILY Interval=2 you cannot exclude the weekends (BY\_WEEKDAY\_COUNT). I’m just guessing here though.

---

<div class="post-metadata">

**Author:** ![Moult](https://sea2.discourse-cdn.com/flex016/user_avatar/forums.buildingsmart.org/moult/32/196_2.png) [@Moult](https://forums.buildingsmart.org/u/Moult)\
**Post date:** [May 4, 2021, 11:54am UTC](https://forums.buildingsmart.org/t/what-does-by-day-count-and-by-weekday-count-mean-in-ifcrecurrencetypeenum/3571/5 "2021-05-04T11:54:56Z")

</div>

Uh, I think BY\_WEEKDAY\_COUNT is a totally separate concept to DAILY. BY\_WEEKDAY\_COUNT basically equivalent to WEEKLY. Weekday doesn’t mean excludes weekends, it means you specify the list of valid weekdays (which may or may not include weekends)

The ambiguity:

- DAILY = BY\_DAY\_COUNT
- WEEKLY = BY\_WEEKDAY\_COUNT

Hopefully the examples I give in the first post can clarify.
