
#################
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:


.. code-block:: perl

     my $AppointmentCreateObject = $Kernel::OM->Get('Kernel::System::ProcessManagement::TransitionAction::AppointmentCreate');



Run()
=====


Runs TransitionAction AppointmentCreate.


.. code-block:: perl

     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:


.. code-block:: perl

     my $Success = 1;




