This page explores the different methods you can use to create a combined calendar with items of multiple types. Let's say you have a bunch of different items in your workspace that have a date and you want to show them all on one calendar. Unfortunately it's not as straight forward as you might think, Notion calendars can only show the date of a single property. That means if you want to create a calendar that contains dates from multiple types of items, you need to get them all into a single database property somehow. Luckily there are some ways you can do this but keep in mind that all of these methods are workarounds for something that may (or may not) be added to Notion in the future. Big thanks to Reddit user WellSpentTime1 who really got me thinking on this.
In each example we have tasks with a start & due date, appointments with an appointment date and deadlines with a deadline date.
By far the easiest way is to simply store every item that has a date into one single database with a single date property. To differentiate between different types of items you have you can use a Select property to indicate the type. Since you only have a single date property, the calendar shows every item like you'd expect and you can even show the type on the calendar.
However there are some serious disadvantages with this method, which are clear in the example below. Each record has properties that are only being used for one specific type of item. If you want to add a property or formula that is only relevant for tasks, you'll always have to take into account what needs to be shown for appointments and deadlines. And what if you have a separate database somewhere and you decide to add a date property there, you'd have to merge that entire database with this one. What if you already have multiple databases set up, you'd have to migrate everything to a single one. This method is easy to set up but it's not very expandable or future-proof.
Single Calendar: Single Property