AppointmentCreate#
NAME#
Kernel::System::ProcessManagement::TransitionAction::AppointmentCreate - A module to create an appointment
SYNOPSIS#
All AppointmentCreate functions.
PUBLIC INTERFACE#
new()#
create an object. Do not use it directly, instead use:
my $AppointmentCreateObject = $Kernel::OM->Get('Kernel::System::ProcessManagement::TransitionAction::AppointmentCreate');
Run()#
Runs TransitionAction AppointmentCreate.
my $Success = $AppointmentCreateActionObject->Run(
UserID => 123,
Ticket => \%Ticket, # required
ProcessEntityID => 'P123',
ActivityEntityID => 'A123',
TransitionEntityID => 'T123',
TransitionActionEntityID => 'TA123',
Config => {
CalendarID => 1, # (required) valid CalendarID
# or
CalendarName => 'Calendar 1', # (required) valid CalendarName
Title => 'Webinar', # (required) Title
StartTime => '2016-01-01 16:00:00', # (required)
EndTime => '2016-01-01 17:00:00', # (required)
ParentID => 1, # (optional) valid ParentID for recurring appointments
UniqueID => 'jwioji-fwjio', # (optional) provide desired UniqueID; if there is already existing Appointment
# with same UniqueID, system will delete it
Description => 'How to use Process tickets...', # (optional) Description
Location => 'Berlin', # (optional) Location
AllDay => 0, # (optional) default 0
TeamID => '1', # (optional) must be an array reference if supplied
ResourceID => '1, 3', # (optional) must be an array reference if supplied
Recurring => 1, # (optional) flag the appointment as recurring (parent only!)
RecurringRaw => 1, # (optional) skip loop for recurring appointments (do not create occurrences!)
RecurrenceType => 'Daily', # (required if Recurring) Possible "Daily", "Weekly", "Monthly", "Yearly",
# "CustomWeekly", "CustomMonthly", "CustomYearly"
RecurrenceFrequency => '1, 3, 5', # (required if Custom Recurring) Recurrence pattern
# for CustomWeekly: 1-Mon, 2-Tue,..., 7-Sun
# for CustomMonthly: 1-1st, 2-2nd,.., 31th
# for CustomYearly: 1-Jan, 2-Feb,..., 12-Dec
# ...
RecurrenceCount => 1, # (optional) How many Appointments to create
RecurrenceInterval => 2, # (optional) Repeating interval (default 1)
RecurrenceUntil => '2016-01-10 00:00:00', # (optional) Until date
RecurrenceID => '2016-01-10 00:00:00', # (optional) Expected start time for this occurrence
RecurrenceExclude => '2016-01-10 00:00:00, 2016-01-11 00:00:00', # (optional) Which specific occurrences to exclude
NotificationTime => '2016-01-01 17:00:00', # (optional) Point of time to execute the notification event
NotificationTemplate => 'Custom', # (optional) Template to be used for notification point of time
NotificationCustom => 'relative', # (optional) Type of the custom template notification point of time
# Possible "relative", "datetime"
NotificationCustomRelativeUnitCount => '12', # (optional) minutes, hours or days count for custom template
NotificationCustomRelativeUnit => 'minutes', # (optional) minutes, hours or days unit for custom template
NotificationCustomRelativePointOfTime => 'beforestart', # (optional) Point of execute for custom templates
# Possible "beforestart", "afterstart", "beforeend", "afterend"
NotificationCustomDateTime => '2016-01-01 17:00:00', # (optional) Notification date time for custom template
TicketAppointmentRuleID => '9bb20ea035e7a9930652a9d82d00c725', # (optional) Ticket appointment rule ID (for ticket appointments only!)
DynamicField_AppointmentID => 'AppointmentID', # (optional) dynamic field name to save the AppointmentID in a dynamic field (e.g. to link it afterwards)
UserID => 1, # (optional) UserID
}
);
Returns:
my $Success = 1;