Calendar Web Services

Overview

Universal Controller supports the following RESTful-based web services for Calendar operations, which are listed alphabetically on this page.

Formatting specifications for each web service, including details about parameter requirements, are provided.


Note

You can create and modify a Calendar that contains one or more global Custom Days only if the Custom Day Global Permitted Universal Controller system property is set to true.

Add an Existing Custom Day to a Calendar


Description

URI

http://host_name/uc/resources/calendar/customdays

HTTP Method

POST

Description

Adds the specified Custom Day to the specified Calendar.

URI Parameters

See Add an Existing Custom Day to a Calendar: URI Parameters, below.

Example URI

http://localhost:8080/uc/resources/calendar/customdays?calendarname=test&customdayid=sfsdffsf123456dfhkjhk

Example Response

  • Status 200 /OK
    Custom day <customDay> successfully added to the calendar <calendar>.
  • Status 400 /Bad Request
    Calendar <calendarName> doesn`t exist.
  • Status 400 /Bad Request
    Custom Day <customDay> is already in the Calendar <calendarName>.

Add an Existing Custom Day to a Calendar: URI Parameters

Name

Description

Specifications

Required

Mutually Exclusive With

calendarid

Unique ID for the Calendar.


Y
(unless calendarname
is specified)

calendarname

calendarname

Name used within the Controller to identify the Calendar.

Maximum 40 alphanumerics.

Y
(unless calendarid
is specified)

calendarid

customdayid

Unique ID for the Custom Day.


Y
(unless customdayname
is specified)

customdayname

customdayname

Name used within the Controller to identify the Custom Day.

Maximum 40 alphanumerics.

Y
(unless customdayid
is specified)

customdayid

Create a Calendar


Description

URI

HTTP Method

POST

Description

Creates a new Calendar.

Example URI

http://localhost:8080/uc/resources/calendar

Consumes Content-Type

application/xml, application/json

Produces Content-Type

n/a

Example Request

See Create a Calendar: Example Request, below.

Calendar Properties

See Create a Calendar: Calendar Properties.

Custom Day Properties

See Create a Calendar: Custom Day Properties.

Local Custom Day Properties

See Create a Calendar: Local Custom Day Properties.

Example Response

  • Status 200 /OK
    Successfully created the calendar with sysId <sysId>.

Create a Calendar: Example Request

XML Request

JSON Request

 XML Request
<calendar retainSysIds="true">
       <businessDays>Monday,Tuesday,Wednesday,Thursday,Friday</businessDays>
       <customDays>
              <customDay>
                     <name>uc - Christmas</name>
                     <sysId>daf16d70c0a801650040c4d58a3feebd</sysId>
              </customDay>
              <customDay>
                     <name>uc - Flag Day</name>
                     <sysId>daf16d8fc0a801650040c4d54b2432fb</sysId>
              </customDay>
       </customDays>
       <comments>American Calendar</comments>
       <firstDayOfWeek>Sunday</firstDayOfWeek>
       <localCustomDays>
              <localCustomDay>
                     <adjustment>None</adjustment>
                     <adjustmentAmount>1</adjustmentAmount>
                     <adjustmentType>Day</adjustmentType>
                     <category>Holiday</category>
                     <comments />
                     <ctype>Single Date</ctype>
                     <date>2017-08-23</date>
                     <dateList />
                     <day>1</day>
                     <dayofweek>Sun</dayofweek>
                     <month>Jan</month>
                     <name>local custom day</name>
                     <observedRules />
                     <relfreq>1st</relfreq>
                     <sysId>616ec15e7a5e40dbaae421e3688a25e5</sysId>
              </localCustomDay>
       </localCustomDays>
       <name>uc - American Calendar</name>
       <opswiseGroups />
       <sysId>da24b953c0a8016501fbcb18464d8328</sysId>
</calendar>
 JSON Request
{
  "businessDays": {
     "value": "Monday,Tuesday,Wednesday,Thursday,Friday"
  },
  "comments": "American Calendar",
  "customDays": [
    {
    "name": "uc - Christmas",
    "sysId": "daf16d70c0a801650040c4d58a3feebd"
    },
    {
    "name": "uc - Flag Day",
    "sysId": "daf16d8fc0a801650040c4d54b2432fb"
    }
  ],
  "firstDayOfWeek": "Sunday",
  "localCustomDays": [
    {
    "adjustment": "None",
    "adjustmentAmount": 1,
    "adjustmentType": "Day",
    "category": "Holiday",
    "comments": null,
    "ctype": "Single Date",
    "date": "2017-08-23",
    "dateList": [],
    "day": 1,
    "dayofweek": "Sun",
    "month": "Jan",
    "name": "local custom day",
    "observedRules": [],
    "relfreq": "1st",
    "sysId": "616ec15e7a5e40dbaae421e3688a25e5"
    }
  ],
  "name": "uc - American Calendar",
  "opswiseGroups": [],
  "retainSysIds": true,
  "sysId": "da24b953c0a8016501fbcb18464d8328"
}

Create a Calendar: Calendar Properties

Property

UI Field Name

Description

Specifications

Required

businessDays

Business Days

Comma-separated list of days.

Valid values:

  • Sunday
  • Monday
  • Tuesday
  • Wednesday
  • Thursday
  • Friday
  • Saturday

Optional: useDefaultIfBlank attribute. Boolean; Valid values: true/false.

  • If businessDays is blank or is not specified in the Request, businessDays defaults to Monday,Tuesday,Wednesday,Thursday,Friday. To disable this behavior, set useDefaultIfBlank to false. That is, to set businessDays to blank when a calendar contains "Business Day" Custom Day(s), specify: <businessDays useDefaultIfBlank="false"></businessDays>.
  • If businessDays is blank and the useDefaultIfBlank attribute is not included in the Request (<businessDays />), businessDaysdefaults to Monday,Tuesday,Wednesday,Thursday,Friday.
  • If businessDays is not blank, useDefaultIfBlank is ignored.
  • If useDefaultIfBlank is set to true (<businessDays useDefaultIfBlank="true"></businessDays>), businessDaysdefaults to Monday,Tuesday,Wednesday,Thursday,Friday.
  • If useDefaultIfBlank is set to false (<businessDays useDefaultIfBlank="false"></businessDays>), business days are not set.

The Read a Calendar web service will return useDefaultIfBlank only if businessDays is empty; useDefaultIfBlank will be set to false.

N

comments

Description

User-defined; description for the calendar.


N

excludeRelated

n/a

Specification for whether or not to exclude related records (Custom Days, Local Custom Days) from an update, even if they are provided in the request.

Valid values: true/false (default is false).

N

exportReleaseLevel

n/a

Universal Controller release that the record was exported from.

read onlyN

exportTable

n/aRecord table information.read onlyN

firstDayOfWeek

First Day Of Week

Day that is considered the start of the week.

Valid values:

  • Sunday
  • Monday
  • Tuesday
  • Wednesday
  • Thursday
  • Friday
  • Saturday

N

name

Name

Name used within the Controller to identify this calendar.

Maximum 40 alphanumerics.

Y

opswiseGroups

Member of Business Services

List of Business Services:
 
XML


<opswiseGroups>
	<opswiseGroup>test</opswiseGroup>
</opswiseGroups>


 
JSON


"opswiseGroups": [
"test"
]


N

retainSysIds

n/a

Specification for whether or not the Create a Calendar web service will persist the sysId property.


  • If retainSysIds="true" and sysId is included in the request/response, sysId will be persisted to the database.
  • If retainSysIds="false" and sysId is included in the request/response, sysId will be ignored; it will be autogenerated by the Controller.


Note

In XML web services, retainSysIds is specified as an attribute in the <calendar> element.

Valid values: true/false (default is true).

N

sysId

n/a

System ID field in the database for this Calendar record.

Persisted only if retainSysIds is set to true.

N

firstQuarterStart

1st Quarter Start

To specify the start of the 1st Quarter, a day and month must be specified as shown below.
 
XML

    <firstQuarterStart>
        <day>15</day>
        <month>01</month>
    </firstQuarterStart>

 JSON

    "firstQuarterStart": {
        "day": "15",
        "month": "Jan"
    }

Valid values:

  • month:

    • integer value between 1-12

    • string value 3 letter month

      • Jan

      • Feb

      • Mar

      • Apr

      • May

      • Jun

      • Jul

      • Aug

      • Sep

      • Oct

      • Nov

      • Dec

  • The day must also be valid for the given month. For example, Feb 30 is not allowed.

If any other Quarter is specified then this property is also required.

secondQuarterStart

2nd Quarter Start

To specify the start of the 1st Quarter, a day and month must be specified as shown below.
 
XML

    <secondQuarterStart>
        <day>14</day>
        <month>Apr</month>
    </secondQuarterStart>

 JSON

   "secondQuarterStart": {
        "day": "14",
        "month": "Apr"
    }

Valid values:

  • month:

    • integer value between 1-12

    • string value 3 letter month

      • Jan

      • Feb

      • Mar

      • Apr

      • May

      • Jun

      • Jul

      • Aug

      • Sep

      • Oct

      • Nov

      • Dec

  • The day must also be valid for the given month. For example, Feb 30 is not allowed.

If any other Quarter is specified then this property is also required.

thirdQuarterStart

3rd Quarter Start

To specify the start of the 1st Quarter, a day and month must be specified as shown below.
 
XML

    <thirdQuarterStart>
        <day>16</day>
        <month>Jul</month>
    </thirdQuarterStart>

 JSON

   "thirdQuarterStart": {
        "day": "16",
        "month": "Jul"
    }

Valid values:

  • month:

    • integer value between 1-12

    • string value 3 letter month

      • Jan

      • Feb

      • Mar

      • Apr

      • May

      • Jun

      • Jul

      • Aug

      • Sep

      • Oct

      • Nov

      • Dec

  • The day must also be valid for the given month. For example, Feb 30 is not allowed.

If any other Quarter is specified then this property is also required.

fourthQuarterStart

4th Quarter Start

To specify the start of the 1st Quarter, a day and month must be specified as shown below.
 
XML

    <fourthQuarterStart>
        <day>13</day>
        <month>10</month>
    </fourthQuarterStart>

 JSON

    "fourthQuarterStart": {
        "day": "13",
        "month": "Oct"
    }

Valid values:

  • month:

    • integer value between 1-12

    • string value 3 letter month

      • Jan

      • Feb

      • Mar

      • Apr

      • May

      • Jun

      • Jul

      • Aug

      • Sep

      • Oct

      • Nov

      • Dec

  • The day must also be valid for the given month. For example, Feb 30 is not allowed.

If any other Quarter is specified then this property is also required.

Create a Calendar: Custom Day Properties

Property

UI Field Name

Description

Specifications

Required

name

Name

Name used within the Controller to identify this Custom Day.

Maximum 40 alphanumerics.

Y

sysId

n/a

sysId of the Calendar-to-Custom Day relationship.


N

Create a Calendar: Local Custom Day Properties

Property

UI Field Name

Description

Specifications

Required

Mutually Exclusive With

adjustment

Adjustment

If ctype is Relative Repeating Date (1); Adjustment for the repeating date.

Valid values:

  • As String = None, As Value = 0
  • As String = Less, As Value = 1
  • As String = Plus, As Value = 2

Default is None (0).

N


adjustmentAmount

Adjustment Amount

If adjustment is Less (1) or Plus (2); Amount (number of days) of the adjustment to be made.

Default is 1.

N


adjustmentType

Adjustment Type

If adjustment is Less (1) or Plus (2); Type of day on which to make the adjustment.

Valid values:

  • As String = Day, As Value = 1
  • As String = Business Day, As Value = 2

Default is Day (1).

N


category

Category

Category of this Local Custom Day.

Valid values:

  • As String = Day, As Value = 1
  • As String = Business Day, As Value = 2
  • As String = Holiday, As Value = 3
  • As String = Period, As Value = 4

Default is Day (1).

N


comments

Description

Description of this Local Custom Day.


N


ctype

Type

Type of this Local Custom Day.

Valid values:

  • As String = Single Date, As Value = 0
  • As String = Relative Repeating Date, As Value = 1
  • As String = Absolute Repeating Date, As Value = 2
  • As String = List of Dates, As Value = 3

Default is Single Date (0).

N


date

Date

Specific date for this Local Custom Day

Format: yyyy-mm-dd.

Y
(if ctype =
Single Date. )

datelist

dateList

Dates

Multiple specific dates for this Local Custom Day.

XML


<dateList>
        <date>2017-12-13</date>
        <date>2017-12-14</date>
</dateList>


 
JSON


"dateList": [
        "2017-12-13",
        "2017-12-14"
    ],

Y
(if ctype
is List of Dates.)

date

day

Day

Day of the month.

Integer; Valid values: 1-31.

Y
(if ctype
is Absolute Repeating Date)


dayofweek

Day Of Week

Day of the week.

Valid values:

  • As String = Sun, As Value = 1
  • As String = Mon, As Value = 2
  • As String = Tue, As Value = 3
  • As String = Wed, As Value = 4
  • As String = Thu, As Value = 5
  • As String = Fri, As Value = 6
  • As String = Sat, As Value = 7

Default is Mon (2).

Y
(if ctype
is Relative Repeating Date)


month

Month

Month of the year.

Valid values:

  • As String = Jan, As Value = 0
  • As String = Feb, As Value = 1
  • As String = Mar, As Value = 2
  • As String = Apr, As Value = 3
  • As String = May, As Value = 4
  • As String = Jun, As Value = 5
  • As String = Jul, As Value = 6
  • As String = Aug, As Value = 7
  • As String = Sep, As Value = 8
  • As String = Oct, As Value = 9
  • As String = Nov, As Value = 10
  • As String = Dec, As Value = 11
  • As String = ALL, As Value = 12

Default is Jan (0).

Y
(if ctype is
Relative Repeating Date
or
Absolute Repeating Date)


name

Name

Name of this Local Custom Day.


Y


observedRules

Observed Rules

If category is Holiday (3) and ctype is Relative Repeating Date (1) or Absolute Repeating Date (2); Rules for when the holiday will be observed.
 
XML


<observedRules> 
      <observedRule>            
            <actualDayOfWeek>Sat</actualDayOfWeek>           
            <observedDayOfWeek>Fri</observedDayOfWeek> 
      </observedRule> 
      <observedRule>                    
            <actualDayOfWeek>Sun</actualDayOfWeek>               
            <observedDayOfWeek>Mon</observedDayOfWeek> 
      </observedRule> 
</observedRules>


 
JSON


"observedRules" : [ { 
      "actualDayOfWeek" : "Sat", 
      "observedDayOfWeek" : "Fri" 
    }, { 
      "actualDayOfWeek" : "Sun", 
      "observedDayOfWeek" : "Mon" 
    } ] 

Valid day of week values:

  • Sun, Mon, Tue, Wed, Thu, Fri, Sat

N


relfreq

When

Occurrence of this day in the month.

Valid values:

  • As String = 1st, As Value = 1
  • As String = 2nd, As Value = 2
  • As String = 3rd, As Value = 3
  • As String = 4th, As Value = 4
  • As String = Last, As Value = 5
  • As String = Every, As Value = 6

Default is 1st (1).

Y
(if ctype
is Relative Repeating Date)


sysId

n/a

System ID in the database for this Local Custom Day.

Persisted only if retainSysIds is set to true.

Y
(if retainSysIds
is true.)


Delete a Calendar


Description

URI

http://host_name/uc/resources/calendar

HTTP Method

DELETE

Description

Deletes the specified Calendar.

URI Parameters

See Delete a Calendar: URI Parameters, below.

Example URI

Authentication

HTTP Basic

Example Response

  • Status 200 /OK
    Calendar deleted successfully.
  • Status 404 /Not Found
    A calendar with id "f87848b00a0001037f43e7c81c8ec969" does not exist.

Delete a Calendar: URI Parameters

Name

Description

Specifications

Required

Mutually Exclusive With

calendarid

Unique ID for this Calendar.


Y
(unless calendarname
is specified)

calendarname

calendarname

Name used within the Controller to identify this Calendar.

Maximum 40 alphanumerics.

Y
(unless calendarid
is specified)

calendarid

List Calendars


Description

URI

http://host_name/uc/resources/calendar/list

HTTP Method

GET

Description

Retrieves information on all Calendar.

Example URI

http://localhost:8080/uc/resources/calendar/list

Authentication

HTTP Basic

Consumes Content-Type

n/a

Produces Content-Type

application/xml, application/json

Example Response

See List Calendars: Example Response, below.

Calendar Properties

See Create a Calendar: Calendar Properties.

Custom Day Properties

See Create a Calendar: Custom Day Properties.

Local Custom Day Properties

See Create a Calendar: Local Custom Day Properties.

List Calendars: Example Response

XML Response

JSON Response

 XML Response
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<calendar retainSysIds="true" version="2">
    <businessDays>Monday,Tuesday,Wednesday,Thursday,Friday</businessDays>
    <customDays/>
    <comments />
    <firstDayOfWeek>Monday</firstDayOfWeek>
    <firstQuarterStart>
        <day>15</day>
        <month>Jan</month>
    </firstQuarterStart>
    <fourthQuarterStart>
        <day>15</day>
        <month>Oct</month>
    </fourthQuarterStart>
    <localCustomDays/>
    <name>Q15</name>
    <opswiseGroups/>
    <secondQuarterStart>
        <day>15</day>
        <month>Apr</month>
    </secondQuarterStart>
    <sysId>8aad692481794d928161539552cb61c1</sysId>
    <thirdQuarterStart>
        <day>15</day>
        <month>Jul</month>
    </thirdQuarterStart>
</calendar>
 JSON Response
{
    "businessDays": {
        "value": "Monday,Tuesday,Wednesday,Thursday,Friday"
    },
    "comments": null,
    "customDays": [],
    "firstDayOfWeek": "Monday",
    "firstQuarterStart": {
        "day": "15",
        "month": "Jan"
    },
    "fourthQuarterStart": {
        "day": "15",
        "month": "Oct"
    },
    "localCustomDays": [],
    "name": "Q15",
    "opswiseGroups": [],
    "retainSysIds": true,
    "secondQuarterStart": {
        "day": "15",
        "month": "Apr"
    },
    "sysId": "8aad692481794d928161539552cb61c1",
    "thirdQuarterStart": {
        "day": "15",
        "month": "Jul"
    },
    "version": 2
}

List Local Custom Day Qualifying Dates


Description

URI

HTTP Method

GET

Description

Retrieves information on Qualifying Dates for a specific Local Custom Day.

URI Parameters

See List Local Custom Day Qualifying Dates URI Parameters: URI Parameters, below.

Example URI

http://localhost:8080/uc/resources/calendar/localcustomdays/qualifyingdates?customdayname=testLocalCustomDay&calendarname=testCalendar

Authentication

HTTP Basic

Consumes Content-Type

n/a

Produces Content-Type

application/xml, application/json

Example Response

See List Local Custom Day Qualifying Dates: Example Response, below.

List Local Custom Day Qualifying Dates: URI Parameters

Name

Description

Specifications

Required

Mutually Exclusive With

customdayname

Name used within the Controller to identify this Local Custom Day.

Maximum 40 alphanumerics.

Y


calendarid

Unique ID for this calendar.


Y
(unless calendarname
is specified)

calendarname

calendarname

Name used within the Controller to identify this calendar.

Maximum 40 alphanumerics.

Y
(unless calendarid
is specified)

calendarid

List Local Custom Day Qualifying Dates: Example Response

XML Response

JSON Response

 XML Response
<qualifyingDates>
	<qualifyingDate>Mon, Jan 1, 2018</qualifyingDate>
	<qualifyingDate>Tue, Jan 1, 2019</qualifyingDate>
	<qualifyingDate>Wed, Jan 1, 2020</qualifyingDate>
	<qualifyingDate>Fri, Jan 1, 2021</qualifyingDate>
	<qualifyingDate>Sat, Jan 1, 2022</qualifyingDate>
	<qualifyingDate>Sun, Jan 1, 2023</qualifyingDate>
	<qualifyingDate>Mon, Jan 1, 2024</qualifyingDate>
	<qualifyingDate>Wed, Jan 1, 2025</qualifyingDate>
	<qualifyingDate>Thu, Jan 1, 2026</qualifyingDate>
	<qualifyingDate>Fri, Jan 1, 2027</qualifyingDate>
	<qualifyingDate>Sat, Jan 1, 2028</qualifyingDate>
	<qualifyingDate>Mon, Jan 1, 2029</qualifyingDate>
	<qualifyingDate>Tue, Jan 1, 2030</qualifyingDate>
	<qualifyingDate>Wed, Jan 1, 2031</qualifyingDate>
	<qualifyingDate>Thu, Jan 1, 2032</qualifyingDate>
	<qualifyingDate>Sat, Jan 1, 2033</qualifyingDate>
	<qualifyingDate>Sun, Jan 1, 2034</qualifyingDate>
	<qualifyingDate>Mon, Jan 1, 2035</qualifyingDate>
	<qualifyingDate>Tue, Jan 1, 2036</qualifyingDate>
	<qualifyingDate>Thu, Jan 1, 2037</qualifyingDate>
	<qualifyingDate>Fri, Jan 1, 2038</qualifyingDate>
	<qualifyingDate>Sat, Jan 1, 2039</qualifyingDate>
	<qualifyingDate>Sun, Jan 1, 2040</qualifyingDate>
	<qualifyingDate>Tue, Jan 1, 2041</qualifyingDate>
	<qualifyingDate>Wed, Jan 1, 2042</qualifyingDate>
	<qualifyingDate>Thu, Jan 1, 2043</qualifyingDate>
	<qualifyingDate>Fri, Jan 1, 2044</qualifyingDate>
	<qualifyingDate>Sun, Jan 1, 2045</qualifyingDate>
	<qualifyingDate>Mon, Jan 1, 2046</qualifyingDate>
	<qualifyingDate>Tue, Jan 1, 2047</qualifyingDate>
</qualifyingDates>
 JSON Response
[
    "Mon, Jan 1, 2018",
    "Tue, Jan 2, 2019",
    "Wed, Jan 1, 2020",
    "Fri, Jan 1, 2021"
]

List Local Custom Day Qualifying Periods


Description

URI

HTTP Method

GET

Description

Retrieves information on Qualifying Periods for a specific Local Custom Day.

URI Parameters

See List Local Custom Day Qualifying Periods URI Parameters: URI Parameters, below.

Example URI

http://localhost:8080/uc/resources/calendar/localcustomdays/qualifyingperiods?customdayname=testLocalCustomDay&calendarname=testCalendar

Authentication

HTTP Basic

Consumes Content-Type

n/a

Produces Content-Type

application/xml, application/json

Example Response

See List Local Custom Day Qualifying Periods: Example Response, below.

List Local Custom Day Qualifying Periods: Example Response

XML Response

JSON Response

 XML Response
<qualifyingPeriods>
    <qualifyingPeriod>
        <startDate>Sun, Jan 1, 2017</startDate>
        <endDate>Sat, Jan 6, 2018</endDate>
    </qualifyingPeriod>
    <qualifyingPeriod>
        <startDate>Sun, Jan 7, 2018</startDate>
        <endDate>Sat, Jan 5, 2019</endDate>
    </qualifyingPeriod>
    <qualifyingPeriod>
        <startDate>Sun, Jan 6, 2019</startDate>
        <endDate>Sat, Jan 4, 2020</endDate>
    </qualifyingPeriod>
    <qualifyingPeriod>
        <startDate>Sun, Jan 5, 2020</startDate>
        <endDate>Sat, Jan 2, 2021</endDate>
    </qualifyingPeriod>
    <qualifyingPeriod>
        <startDate>Sun, Jan 3, 2021</startDate>
        <endDate>Sat, Jan 1, 2022</endDate>
    </qualifyingPeriod>
    <qualifyingPeriod>
        <startDate>Sun, Jan 2, 2022</startDate>
        <endDate>Sat, Dec 31, 2022</endDate>
    </qualifyingPeriod>
</qualifyingPeriods>
 JSON Response
[
  {
  "startDate": "Sun, Jan 1, 2017",
  "endDate": "Sat, Jan 6, 2018"
  },
  {
  "startDate": "Sun, Jan 7, 2018",
  "endDate": "Sat, Jan 5, 2019"
  }
]

List Custom Day Qualifying Periods: URI Parameters

Name

Description

Specifications

Required

Mutually Exclusive With

customdayname

Name used within the Controller to identify this Local Custom Day.

Maximum 40 alphanumerics.

Y


calendarid

Unique ID for this calendar.


Y
(unless calendarname
is specified)

calendarname

calendarname

Name used within the Controller to identify this calendar.

Maximum 40 alphanumerics.

Y
(unless calendarid
is specified)

calendarid

Modify a Calendar


Description

URI

HTTP Method

PUT

Description

Modifies the Calendar specified by the sysId.
 
To modify Calendar properties without modifying related records, see the excludeRelated property.

Example URI

http://localhost:8080/uc/resources/calendar

Consumes Content-Type

application/xml, application/json

Produces Content-Type

n/a

Example Request

See Modify a Calendar: Example Request, below.

Calendar Properties

See Create a Calendar: Calendar Properties.

Custom Day Properties

See Create a Calendar: Custom Day Properties.

Local Custom Day Properties

See Create a Calendar: Local Custom Day Properties.

Example Response

  • Status 200 /OK
    Successfully updated the calendar with sysId <sysId> to version <version>.

Modify a Calendar: Example Request

The excludeRelated property is included in the XML as an attribute.
 

XML Request

JSON Request

 XML Request
<calendar>
       <businessDays>Monday,Tuesday,Wednesday,Thursday,Friday</businessDays>
       <customDays>
              <customDay>
                     <name>uc - Christmas</name>
                     <sysId>daf16d70c0a801650040c4d58a3feebd</sysId>
              </customDay>
              <customDay>
                     <name>uc - Flag Day</name>
                     <sysId>daf16d8fc0a801650040c4d54b2432fb</sysId>
              </customDay>
       </customDays>
       <comments>American Calendar</comments>
       <firstDayOfWeek>Sunday</firstDayOfWeek>
       <localCustomDays>
              <localCustomDay>
                     <adjustment>None</adjustment>
                     <adjustmentAmount>1</adjustmentAmount>
                     <adjustmentType>Day</adjustmentType>
                     <category>Holiday</category>
                     <comments/>
                     <ctype>Single Date</ctype>
                     <date>2017-08-23</date>
                     <dateList/>
                     <day>1</day>
                     <dayofweek>Sun</dayofweek>
                     <month>Jan</month>
                     <name>local custom day</name>
                     <relfreq>1st</relfreq>
                     <sysId>616ec15e7a5e40dbaae421e3688a25e5</sysId>
              </localCustomDay>
       </localCustomDays>
       <name>uc - American Calendar</name>
       <opswiseGroups />
       <sysId>da24b953c0a8016501fbcb18464d8328</sysId>
</calendar>
 JSON Request
{
  "businessDays": {
     "value": "Monday,Tuesday,Wednesday,Thursday,Friday"
  },
  "comments": "American Calendar",
  "customDays": [
    {
    "name": "uc - Christmas",
    "sysId": "daf16d70c0a801650040c4d58a3feebd"
    },
    {
    "name": "uc - Flag Day",
    "sysId": "daf16d8fc0a801650040c4d54b2432fb"
    }
  ],
  "firstDayOfWeek": "Sunday",
  "localCustomDays": [
    {
    "adjustment": "None",
    "adjustmentAmount": 1,
    "adjustmentType": "Day",
    "category": "Holiday",
    "comments": null,
    "ctype": "Single Date",
    "date": "2017-08-23",
    "dateList": [],
    "day": 1,
    "dayofweek": "Sun",
    "month": "Jan",
    "name": "local custom day",
    "relfreq": "1st",
    "sysId": "616ec15e7a5e40dbaae421e3688a25e5"
    }
  ],
  "name": "uc - American Calendar",
  "opswiseGroups": [],
  "sysId": "da24b953c0a8016501fbcb18464d8328"
}

Read a Calendar


Description

URI

HTTP Method

GET

Description

Retrieves information on a specific Calendar.

URI Parameters

See Read a Calendar: URI Parameters, below.

Example URI

Consumes Content-Type

n/a

Produces Content-Type

application/xml, application/json

Example Response

Calendar Properties

See Create a Calendar: Calendar Properties.

Custom Day Properties

See Create a Calendar: Custom Day Properties.

Local Custom Day Properties

See Create a Calendar: Local Custom Day Properties.

Read a Calendar: URI Parameters

Name

Description

Specifications

Required

Mutually Exclusive With

calendarid

Unique ID for this Calendar.


Y
(unless calendarname
is specified)

calendarname

calendarname

Name used within the Controller to identify this Calendar.

Maximum 40 alphanumerics.

Y
(unless calendarid
is specified)

calendarid

Read a Calendar: Example Response

The retainSysIds and version properties are specified as attributes in XML.

The exportReleaseLevel and exportTable properties are specified as attributes in XML.

XML Response

JSON Response

 XML Response
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<calendar retainSysIds="true" version="2">
    <businessDays>Monday,Tuesday,Wednesday,Thursday,Friday</businessDays>
    <customDays/>
    <comments />
    <firstDayOfWeek>Monday</firstDayOfWeek>
    <firstQuarterStart>
        <day>15</day>
        <month>Jan</month>
    </firstQuarterStart>
    <fourthQuarterStart>
        <day>15</day>
        <month>Oct</month>
    </fourthQuarterStart>
    <localCustomDays/>
    <name>Q15</name>
    <opswiseGroups/>
    <secondQuarterStart>
        <day>15</day>
        <month>Apr</month>
    </secondQuarterStart>
    <sysId>8aad692481794d928161539552cb61c1</sysId>
    <thirdQuarterStart>
        <day>15</day>
        <month>Jul</month>
    </thirdQuarterStart>
</calendar>
 JSON Response
{
    "businessDays": {
        "value": "Monday,Tuesday,Wednesday,Thursday,Friday"
    },
    "comments": null,
    "customDays": [],
    "firstDayOfWeek": "Monday",
    "firstQuarterStart": {
        "day": "15",
        "month": "Jan"
    },
    "fourthQuarterStart": {
        "day": "15",
        "month": "Oct"
    },
    "localCustomDays": [],
    "name": "Q15",
    "opswiseGroups": [],
    "retainSysIds": true,
    "secondQuarterStart": {
        "day": "15",
        "month": "Apr"
    },
    "sysId": "8aad692481794d928161539552cb61c1",
    "thirdQuarterStart": {
        "day": "15",
        "month": "Jul"
    },
    "version": 2
}

Read All Custom Days of a Calendar


Description

URI

HTTP Method

GET

Description

Retrieves information on all Custom Days of a specific Calendar.

URI Parameters

See Read All Custom Days of a Calendar: URI Parameters, below.

Example URI

http://localhost:8080/uc/resources/calendar/customdays?calendarname=test

Consumes Content-Type

application/xml, application/json

Produces Content-Type

n/a

Example Response

Response Properties

See Read All Custom Days of a Calendar: Response Properties, below.

Read All Custom Days of a Calendar: URI Parameters

Name

Description

Specifications

Required

Mutually Exclusive With

calendarid

Unique ID for this Calendar.


Y
(unless calendarname
is specified)

calendarname

calendarname

Name used within the Controller to identify this Calendar.

Maximum 40 alphanumerics.

Y
(unless calendarid
is specified)

calendarid

Read All Custom Days of a Calendar: Example Response

The exportReleaseLevel and exportTable properties are specified as attributes in XML.

XML Response

JSON Response

 XML Response
<customDays>
      <customDay> exportReleaseLevel="7.2.0.0" exportTable="ops_customdays"
            <adjustment>None</adjustment>
            <adjustmentAmount>1</adjustmentAmount>
            <adjustmentType>Day</adjustmentType>
            <category>Holiday</category>
            <comments>New Year's Day - Jan 1st</comments>
            <ctype>Absolute Repeating Date</ctype>
            <date />
            <dateList />
            <day>1</day>
            <dayofweek>Sun</dayofweek>
            <holiday>true</holiday>
            <month>Jan</month>
            <name>uc - New Year's Day</name>
            <period>false</period>
            <relfreq>1st</relfreq>
            <sysId>dae77560c0a80165006d8051753b806c</sysId>
      </customDay>
      <customDay> exportReleaseLevel="7.2.0.0" exportTable="ops_customdays"
            <adjustment>None</adjustment>
            <adjustmentAmount>1</adjustmentAmount>
            <adjustmentType>Day</adjustmentType>
            <category>Holiday</category>
            <comments>New Year's Day - Jan 1st</comments>
            <ctype>Absolute Repeating Date</ctype>
            <date />
            <dateList />
            <day>1</day>
            <dayofweek>Sun</dayofweek>
            <holiday>true</holiday>
            <month>Jan</month>
            <name>uc - New Year's Day</name>
            <period>false</period>
            <relfreq>1st</relfreq>
            <sysId>dae77560c0a80165006d8051753b806c</sysId>
      </customDay>
</customDays>

 JSON Response
[
  {
  "adjustment": "None",
  "adjustmentAmount": 1,
  "adjustmentType": "Day",
  "category": "Holiday",
  "comments": "New Year's Day - Jan 1st",
  "ctype": "Absolute Repeating Date",
  "date: null,
  "dateList: [ ],
  "day": 1,
  "dayofweek": "Sun",
"exportReleaseLevel": "7.2.0.0",
"exportTable": "ops_customdays", "holiday": true, "month": "Jan", "name": "uc - New Year's Day", "period": false, "relfreq": "1st", "sysId": "dae77560c0a80165006d8051753b806c" }, { "adjustment": "None", "adjustmentAmount": 1, "adjustmentType": "Day", "category"": Holiday", "comments": "New Year's Day - Jan 1st", "ctype"": Absolute Repeating Date", "date : null, "dateList : [], "day": 1, "dayofweek": "Sun",
"exportReleaseLevel": "7.2.0.0",
"exportTable": "ops_customdays", "holiday": true, "month": "Jan", "name": "uc - New Year's Day", "period": false", "relfreq": "1st", "sysId": "dae77560c0a80165006d8051753b806c } ]

Read All Custom Days of a Calendar: Properties

Property

UI Field Name

Description

adjustment

Adjustment

Adjustment for the repeating date.

adjustmentAmount

Adjustment Amount

Amount (number of days) of the adjustment to be made.

adjustmentType

Adjustment Type

Type of day on which to make the adjustment.

category

Category

Category of this Local Custom Day.

comments

Description

Description of this Custom Day.

ctype

Type

Type of this Custom Day.

date

Date

Specific date for this Custom Day

dateList

Dates

Multiple specific dates for this Custom Day.

day

Day

Day of the month.

dayofweek

Day Of Week

Day of the week.

exportReleaseLevel

n/aUniversal Controller release that the record was exported from.

exportTable

n/aRecord table information.

holiday

Holiday

Deprecated.   Indication of whether or not this Custom Day is a holiday.

month

Month

Month of the year.

name

Name

Name of this Custom Day.

period

Period

Deprecated.   Indication of whether or not this Custom Day defines a custom period of days.

relfreq

When

Occurrence of this day in the month.

sysId

n/a

System ID in the database for this Custom Day.

Remove a Custom Day from a Calendar


Description

URI

http://host_name/uc/resources/calendar/customdays

HTTP Method

DELETE

Description

Removes the specified Custom Day from a specific Calendar.

URI Parameters

See Remove a Custom Day from a Calendar: URI Parameters, below.

Example URI

http://localhost:8080/uc/resources/calendar/customdays?calendarname=ExampleCalendar&customdayid=977e7539af6e450d924a92e1ad39a256

Authentication

HTTP Basic

Example Response

  • Status 200 /OK
    Successfully removed custom day <customDay> from calendar <calendar>.
  • Status 400 /Bad Request
    Calendar <calendarName> doesn`t exist.

Remove a Custom Day from a Calendar: URI Parameters

Name

Description

Specifications

Required

Mutually Exclusive With

calendarid

Unique ID for the Calendar.


Y
(unless calendarname
is specified)

calendarname

calendarname

Name used within the Controller to identify the Calendar.

Maximum 40 alphanumerics.

Y
(unless calendarid
is specified)

calendarid

customdayid

Unique ID for the Custom Day.


Y
(unless customdayname
is specified)

customdayname

customdayname

Name used within the Controller to identify the Custom Day.

Maximum 40 alphanumerics.

Y
(unless customdayid
is specified)

customdayid