Configure Planon ProCenter
The following figure displays all steps for configuring Planon ProCenter with respect to Connect for Calendars (C4C).
image dispalying the configure planon flowimage dispalying the configure planon flow
Configure User Groups and Users
The sequence below shows a list of actions to perform such that the User groups and Users are correctly configured for Connect for Calendars.
Steps for configuring User groups and Users for C4CSteps for configuring User groups and Users for C4C
Create C4C Admin Group & C4C Admin User
1. Create a new User group: C4C Admins and create a new User linked to that user group: C4C Admin.
2. Make sure that the User Group has similar rights as the User Group System Administrators​​​​​​​.
3. Generate an Access Key for the C4C Admin Account.
Link product definitions
C4C requires that for User Groups (aka Account Groups) involved in Reservation Management are linked to certain Product Definitions. The table below provides an overview of the Product Definitions and to which type of User Group need to be linked.
Product Definition
User Group
Reason
EnterpriseServiceAPI
C4C Admins
This product definition is required by the C4C app so that it can use the PaaP API.
EventConnector
All Reservation Management-related User Groups including the C4C Admins
This product definition is required so that the C4C app and C4C can use the Event Connector when an Event/Reservation has to be synchronized.
JSONServices
C4C Admins
This product definition is required by the C4C app so that it can use the PaaP API.
Scheduler
C4C Admins
This product definition is required by the C4C app so that it can use the PaaP API.
PPWeb
All Reservation Management-related User Groups including the C4C Admins
This product definition allows a User to use the Task Specific Interfaces (TSIs) in Web client.
PSS2
All Reservation Management-related User Groups including the C4C Admins
This product definition allows a User to use the Reservation Wizard.
Provide contact's email address for each user
Provide a contact's Email address for each User (including the C4C Admin). This email address will be used by C4C to send notifications to a User about the status of synchronizing an Event and a Reservation.
If errors occur duing synchronization, a notification will be sent to the C4C Admin.
Notifications
Notification templates
C4C includes a set of hard-coded notification templates by default. However, customers can configure their own notification templates in two ways:
Via the C4C-App Connection
Custom templates can be provided through the C4C-App Connection setup.
Using Event-Based Notifications
Customers can create reports on the C4C Mail Reports business object and configure Event-Based Notifications for External Reservation Units.
Important to note
There is a functional difference between the delivery timings of the various template types:
Notifications using the hard-coded templates or templates from the C4C-App Connection are sent immediately after synchronization.
Event-Based Notifications depend on the frequency of the Scheduled Task responsible for sending them. This task can be configured to run at intervals, with a minimum frequency of every 5 minutes.
Notification templates
This section describes the configuration of notification templates for Connect for Calendars (C4C).
There are three types of notification templates:
Hard-coded templates
* 
Ask your Planon account manager for these hard coded templates. These can be used as a basis for customer-specific templates.
Customer-specific templates based on the hard-coded templates
Customer-specific templates related to a Report for the C4C Mail Report
In general there are two main templates:
A template to notify about a single Reservation
A template to notify about a recurrent Reservation
Single reservation template
The template for a single reservation can have two optional parts:
Failure-part: part that describes the failure reason when the synchronization between Planon and the third-party reservation management system failed
PSS URL-part: Part that provides a link to the reservation in the Reservation Wizard. The link is constructed by taking the configured PSS URL on the External reservation unit.
The notification template for a single reservation follows the structure below:
Header background image
Title banner
Reservation details
(Optional) Failure Reason
(Optional) PSS URL
Company Logo
Recurrent reservation template
The template for a recurrent reservation has a required Occurrence-part for each occurrence in the recurrence. And each occurrence can have the same optional parts a single reservation.
The notification template for a recurrent reservation follows the structure below:
Header background image
Title banner
Basic Reservation details
Occurrence
Occurrence details
(Optional) Failure Reason
(Optional) PSS URL
Company Logo
Template modification
The hard-coded templates can be influenced by configuration on the C4C-App Connection's Notifications tab.
Header background image
You can provide a different background image for the header. This image will be sized to a height of 175px and full-width (so the image may get stretched). Ideally, the background image should have width of 600px.
Title background color
You can configure colors that will be used as the background color of the title banner of the email. The title's text has the color white by default, hence the advice is not to use bright (pastel-like) colors otherwise the title might become unreadable. Depending on the synchronization type and outcome, you can define colors for the following:
Base
Accept
Tentatively Accept
Decline
Changed
Canceled
Deleted
Exception
Company Logo
You can also modify the template's background image and company logo.
How to make a customer-specific template?
This section describes how you can modify notification templates.
Procedure
1. Get the hard-coded templates via your Planon consultant and open your favorite text-editor/mail-template editor OR build a new template from scratch.
2. The template must implement certain place holders for images, colors, labels and data. A place holder must be enclosed with ‘[’ and ‘]’. Example usage of a place holder:
<table cellpadding="0" cellspacing="0" class="es-header" width="100%"
style="mso-table-lspace: 0pt; mso-table-rspace: 0pt; border-collapse: collapse; border-spacing: 0px; width: 100%; table-layout:
fixed !important;">
<tr>
<td align="center" bgcolor="[TemplateColor]"
style="padding: 0px; margin: 0; width: 100%; background: [TemplateColor]; background: linear-gradient(90deg,
[TemplateColor], 40%, [TemplateColorBase] 100%)">
<table class="es-header-body" align="center" cellpadding="0" cellspacing="0" style="mso-table-lspace: 0pt;
mso-table-rspace: 0pt; border-collapse: collapse; border-spacing: 0px; table-layout:fixed !important;
background-color:transparent; background-repeat:repeat;background-position:center top; width: 600px">
<tr>
<td class="es-m-p10b" align="center" style="padding: 10px 0; margin: 0;">
<h1 style="margin: 0; font-family: 'Fira Sans', sans-serif; font-size: 36px; font-weight: 400; color: #FFFFFF">
[TemplateHeader]</h1>
<p style="margin: 0; mso-line-height-rule: exactly; font-family: -apple-system, BlinkMacSystemFont,
'Segoe UI', Roboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';
line-height: 21px; letter-spacing: 0; color: #402218; font-size: 14px; display: none">
<br>
</p>
</td>
</tr>
</table>
</td>
</tr>
</table>
Overview of these place holders:
Place Holder
Type
Usage
TemplateLogo
Style
The logo to be displayed at the bottom of the email
TemplateBackgroundImage
Style
The image to be displayed in the header of the email
TemplateColorBase
Style
Base color for the template
TemplateColor
Style
Indicates the color belonging to the state of the Reservation
TemplateTitle
Label
Will be used as the <title/> of the HTML of the email
TemplateHeader
Label
Will be used in the title banner of the email
MailMeeting
Label
Will be used as the section header for Meeting details
MailLocation
Label
Will be used as the section header for Location details
MailWho
Label
Will be used as the section header for Organizer/Booker details
MailWhen
Label
Will be used as the section header for the moment of the Reservation
MailOrganizer
Label
Will be used as label in front of the Organizer
MailBooker
Label
Will be used as label in front of the Booker
MailOccurrences
Label
Will be used as the section header for the list of Occurrences
MailReservationNumber
Data
The Order Number of the Reservation in Planon
MailReservationStatus
Data
The status of the Reservation in Planon
CalendarItemIdentifier
Data
Will take the data of the field Calendar Item Identifier of the C4C Mail Report
CalendarItemMasterIdentifier
Data
Will take the data of the field Master Calendar Item Identifier of the C4C Mail Report
CalendarItemResourceIdentifier
Data
Will take the data of the field Resource Identifier of the C4C Mail Report
CalendarItemSubject
Data
Will take the data of the field Subject of the C4C Mail Report
CalendarItemStartDateTime
Data
Will take the data of the field Start date/time of the C4C Mail Report
CalendarItemEndDateTime
Data
Will take the data of the field End date/time of the C4C Mail Report
CalendarItemOrganizerAccountIdentifier
Data
Will take the data of the field Organizer Account Identifier of the C4C Mail Report
CalendarItemBookerAccountIdentifier
Data
Will take the data of the field Booker Account Identifier of the C4C Mail Report
CalendarItemStatus
Data
Will take the data of the field Calendar Item Status of the C4C Mail Report
Reservation.
Prefix
Prefix to be used in combination with a field of the referenced Reservation (e.g. Reservation.OrderNumber)
ReservationUnit.
Prefix
Prefix to be used in combination with a field of the referenced Reservation Unit (e.g. ReservationUnit.Code)
TemplateFailureMessage
Data
Will take the data of the field failure reason of the C4C Mail Report
TemplateFailureTitle
Label
Text to be displayed to introduce the failure reason
OccurrenceFailureMessage
Data
Will take the data of the field failure reason of the C4C Mail Report
OccurrenceFailureTitle
Label
Text to be displayed to introduce the failure reason
OccurrenceFailure
Section
This section marker gets replaced by the Failure Message notification-part for the Occurrence
OccurrencePSS
Section
This section marker gets replaced by the PSS notification-part for the Occurrence
OccurrenceColor
Style
Indicates the color belonging to the state of the Occurrence
TemplatePSSLinkURL
Data
Will take the data of the field PSS URL of the C4C Mail Report
OccurrencePSSLinkURL
Data
Will take the data of the field PSS URL of the C4C Mail Report for the Occurrence
TemplatePSSTitle
Label
Text to be displayed to introduce the PSS Link
TemplatePSSLinkTitle
Label
Text to be displayed instead of the link
OccurrencePSSTitle
Label
Text to be displayed to introduce the PSS Link for the Occurrence
OccurrencePSSLinkTitle
Label
Text to be displayed instead of the link for the Occurrence
Occurrences
Section
This section marker gets replaced by the Occurrence-parts for the Recurrent Meeting
TemplateFailure
Section
This section marker gets replaced by the Failure Message notification-part
TemplatePSS
Section
This section marker gets replaced by the PSS notification-part
Customer-specific notification templates based on a C4C Mail Report
A third way to configure notifications is to generate a report for one or more synchronization outcomes and recipient report based on the C4C Mail report and configure Event-based notifications, which have to be referenced by the External Reservation Unit.
* 
Event-based notifications are sent with a configured frequency interval as defined with the scheduled task for event-based notifications.
Install & configure C4C app for Microsoft EWS API
Prior installing the C4C app you should acquire its license from the Planon License Desk. Once the license for the C4C app for Microsoft Graph API has been acquired you can add that license through the TSI - AppCenter. By adding the license through the AppCenter, the C4C app will be downloaded and installed from the Planon Marketplace.
steps for installing and configuring C4C app for Microsoft EWS APIsteps for installing and configuring C4C app for Microsoft EWS API
Procedure
1. Acquire the license for the C4C app for Microsoft EWS API.
2. Navigate to the TSI, AppCenter.
3. Click Add License and provide the license acquired.
* 
This will cause Planon ProCenter to download & install the latest compatible version of the C4C app for Microsoft EWS API for the version of the Planon ProCenter environment.
4. Click Configure.
The C4C app will be in the state Configuration.
5. Click Link App User Group and select the C4C Admin user's user group.
6. Go to Apps > Modules > Details and select the step Module Settings.
7. Select the module c4cappews.
8. Provide the following settings:
Access Key: The generated access key for the C4C Admin User.
Notification URL: The URL that Exchange will use to send notifications to the C4C app is:
https://<your Planon environment>/sdk/platform/jaxrs/planonsoftware/com/c4cappews/c4cappewsrest/rest/notification
Subscription check frequency (in minutes): The C4C app for Microsoft EWS API uses the subscription model of an on-premise Exchange environment. The Subscription check frequency will be used by Exchange to send a Status notification when the Room Resource has been idle for the provided time.
The C4C app for Microsoft EWS API will process this Status notification so that it knows that the subscription is still active.
We recommend to use 30 minutes as the subscription check frequency.
(Follows only!) Event Recovery days past: This value is used in the Recovery Task and determines the start date of the period for which Events are retrieved from a Resource's Calendar (now - days past = start date).
(Follows only!) Event Recovery days future: This value is used in the Recovery Task and determines the end date of the period for which Events are retrieved from a Resource's Calendar (now + days future = end date).
Configure C4C linking objects
Once the C4Ca pp for Microsoft EWS API is installed, you can start to configure the C4C linking objects:
C4C app Connection
External Accounts
External Reservation Units.
The following figure shows the steps that need to be performed.
steps for configuring C4C linking objectssteps for configuring C4C linking objects
Configure C4C app connection
Procedure
1. Navigate to the TSI C4C app connection.
2. Click Add to create a new C4C app connection.
3. Provide a Name.
4. Provide a Synchronization behavior (In-the-Lead or Follows) for the C4C app connection​​​​​​​​​​​​​​.
5. Configure the account that is used as C4C Administrator. This account will receive the notifications of the type EXCEPTION, when there is a problem in the synchronization.
6. Select the Classname belonging to the installed C4C app's implementation of the Calendar Item Processor.
7. Provide the settings for the Calendar Item Processor. For C4C app for Microsoft EWS API, these are:
a. Authentication-related:
- Exchange EWS URL: The URL of the Exchange Web Services for the Exchange Server.
- Exchange Version: The version of the Exchange Server. Valid values are 2013, 2016 and 2019.
- Username: The email address of a service account in AD that is allowed to impersonate the Room Resources.
- Password: The password belonging to the service account in AD.
b. Synchronization-related:
- Send Outbound Invitation (Y/N): Indication whether C4C should add the organizer as an attendee to the event that is created in a Room resource for an outbound synchronization. Adding an attendee to the event will cause Exchange to send an invite to that attendee.
- Prevent inbound decline (Y/N): Indication whether the C4C-App should decline the inbound synchronization of an Event in case no Reservation could be created for it.
* 
This setting is useful in the “true”-FOLLOWS scenario and when performing a dry-run of a C4C Onboarding scenario.
- Delete original subject (Y/N): Deletes the original subject when enabled (if Append Organizer to Subject is not enabled, then subject will be replaced by a translation of “No subject”)
- Append Organizer to Subject (Y/N): Adds either the name (inbound sync) or email address (outbound sync) to the subject.
8. (Optional) Configure a password (can be used instead of the Client Secret)
9. Configure the notification behavior:
Notification Behavior: Configure who should receive the notification: No notifications, Booker, Organizer or Booker and Organizer
Use User's Sender's email address (Y/N): Configure whether Planon should use the sender's email address of the User if applicable (default: Yes).
Separate notifications for occurrences (Y/N): Configure whether Planon should send separate notifications for occurrences or one notification for the recurrent Meeting (default: No).
10. (Optional) Configure C4C Notification Templates.
11. Save the C4C app connection.
12. Change status to ACTIVATED.
(For the C4C-App for Microsoft Graph API, this will trigger a subscription process for each External reservation unit that is active and belongs to the activated C4C-App Connection).
Configure external accounts
Complete the following steps to configure the External accounts for a C4C app connection.
Procedure
1. Navigate to the TSI Enterprise Talk.
2. Import Enterprise Talk definition C4C-ONB-EA.
3. Select the imported Enterprise Talk definition and go to the level Documents and select the document C4C-ONB-IMP-EA1.
4. Go to and select the step Business Objects and select the business object related to External Accounts.
5. Go to and select the field definition C4CAppConnectionRef, which is the reference to a C4C app connection.
6. Configure the default value for this to be the C4C app connection that was created in the previous step.
7. Go back to the level Definitions and run the Enterprise Talk definition C4C-ONB-EA
8. After the run is done, you can go to the TSI C4C Processing and select the step External Accounts to verify the outcome.
Configure external accounts - without Enterprise Talk definition
If you do not want to run the Enterprise Talk definition, you can also add an External Account by completing the following steps.
Procedure
1. Navigate to the TSI C4C Processing.
2. Go to the step External accounts.
3. Click Add to create a new External account.
4. Provide the following details:
​​​​​​​Account Identifier: the identifier for the User, which is used by the installed C4C app (e.g. the C4C-App for Microsoft Graph API requires this to be the email address of the User).
Account: The Account in Planon ProCenter to which the User should be linked.
C4C app connection: The C4C app connection for which this External account is active.
Is primary?: Whether the External account should be used as the primary External account in an outbound synchronization.
5. ​​​​​​​Save the External account.
Configure external reservation units
Complete the following steps to configure an External Reservation Unit.
Procedure
1. Navigate to the TSI C4C Processing.
2. Go to the step External Reservation Units.
3. Click Add to create a new External reservation unit.
4. Provide the following details:
Resource Identifier: The identifier for the Resource, which is used by the installed C4C app (e.g. the C4C-App for Microsoft EWS API requires this to be the email address of the Resource).
Reservation Unit: A Reservation Unit in Planon ProCenter to which the Resource should be linked.
The Reservation Unit must reference a Standard Order or a Standard Order has been configured in Order Settings.
Is production mailbox?: Indicator whether the External Reservation Unit is in use given the environment (e.g. in non-production environments, this indicator should be set to No when you want to be able to synchronize the Resource).
C4C app connection: The C4C app connection for which this External reservation unit is active.
Provide a user status for a reservation's status corresponding with an Event being CANCELED.
(Optional) Provide a user status for a reservation's status corresponding with an Event being ACCEPTED.
(Optional) Provide a user status for a reservation's status corresponding with an Event being TENTATIVELY ACCEPTED.
(Optional) Provide links to Event-based notifications for the notifications sent by C4C upon a synchronization action (e.g. Accept, Decline, Cancel, etc.).
5. Save the External reservation unit.
6. Change status to ACTIVATED
(For the C4C-App for Microsoft Graph API, this will trigger a subscription process for the involved Resource. After a subscription attempt, the field App - Custom field will show the outcome of the subscription).
Configure C4C scheduled tasks
The following diagram shows a series of Scheduled tasks related to C4C that have to be configured.
There are system scheduled tasks that come with the product C4C and there are user scheduled tasks that come with the C4C app for Microsoft EWS API.
Configuring scheduled tasksConfiguring scheduled tasks
Configure system scheduled tasks for C4C
The product C4C has three System scheduled tasks that can be configured in a similar way. Complete the following steps to configure the task.
Procedure
1. Navigate to the TSI Scheduled tasks and step Scheduled tasks.
2. Select one of the following System scheduled tasks:
Remove obsolete External Reservations & External Non-Bookable Periods (including C4C Processing Items).
Archive External Reservations (including C4C Processing Items) that are successfully synchronized and for which the start date/time of the Reservation is 30 days ago.
Remove C4C Mail Reports that are older than 7 days.
3. Select the and configure the frequency of the Task:
Remove obsolete External Reservations: each day
Archive External Reservations: each week
Remove C4C Mail Reports: each week
4. Save the Task.
5. Activate the Task.
Configure user scheduled tasks for C4C
Prior to the configuration, check the configuration of the existing System scheduled task Task User Extension, which has to be configured correctly for the Task user extensions. This task needs to run each 5 minutes.
The C4C app for Microsoft Graph API provides two Task user extensions that can be configured in a similar way. Take the following steps to configure the tasks.
Procedure
1. Navigate to the TSI Scheduled tasks and step Task user extensions.
2. Click Add to create a new task.
3. Provide a Code for the task (e.g. C4C-SUB for the Subscription Task).
4. Select a Classname:
C4C Subscription: This Task user extension will periodically create and patch subscriptions for Resources that are linked to active External reservation units.
C4C Recovery: This Task user extension will periodically recover Events and Reservations. The behavior of this recovery depends on the Synchronization behavior of the C4C app connection.
5. Select the C4C Admin User for the field User.
6. Select the and configure the frequency of the task:
C4C Subscription: This depends on the number of External reservation units configured and when one run of subscription completes for them. If this is less than 110 minutes, then change it to 110 minutes.
C4C Recovery: This depends on the synchronization behavior of the C4C app connection and the number of External reservation units configured.
- For Synchronization Behavior In-the-Lead: 4 hours (as it only needs to synchronize pending Event Messages).
- For Synchronization Behavior Follows: 12 hours (as it needs to synchronize all Events in the Calendar of the Resource for a period bounded by the C4C-App module settings' configuration for recovery number of days past and future).
7. Provide a start date/time (in the future).
8. Save the Task.
9. Activate the Task.