AppointmentCreate

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;