// Copyright (c) 2005 DMTF.  All rights reserved.
// <change cr="ArchCR00066.004" type="add">Add UmlPackagePath
// qualifier values to CIM Schema.</change>
// ==================================================================
//  CIM_TimeZone 
// ==================================================================
   [Version ( "2.6.0" ), 
    UMLPackagePath ( "CIM::System::Time" ), 
    Description ( 
       "The TimeZone class is a set of properties defining a "
       "particular time zone. These properties include the concept of "
       "daylight saving time." )]
class CIM_TimeZone : CIM_Setting {

      [Key, Description ( 
          "Time zone identifier. The Id MAY be expressed in the "
          "form \'area name/city name\' (e.g., \"America/New_York\"), "
          "or as a time zone name (for example, EST or EDT)." )]
   string TimeZoneID;

      [Key, Description ( 
          "The date and time at which this time zone definition "
          "takes effect. The value is specified in UTC." )]
   datetime TimeZoneStartDate;

      [Description ( 
          "Full name of the \'standard\' time zone (e.g., \"U.S. "
          "Eastern Standard Time\"), suitable for presentation to "
          "the user in the default locale." ), 
       ModelCorrespondence { "CIM_TimeZone.StandardCaption" }]
   string StandardName;

      [Description ( 
          "Short name of the \'standard\' time zone (e.g., \"EST\"), "
          "suitable for presentation to the user in the default "
          "locale. Note that a specific StandardCaption property is "
          "defined, instead of using the inherited Caption. This is "
          "done to force consistent property naming for the "
          "StandardXXX and DaylightXXX properties." ), 
       ModelCorrespondence { "CIM_TimeZone.StandardName" }]
   string StandardCaption;

      [Description ( 
          "The number of minutes by which this \'standard\' time "
          "differs from UTC. For example, U.S. EST differs from UTC "
          "by -5.0 hours or -300 minutes, whereas Australia "
          "Adelaide Standard Time differs by 9.5 hours or 570 "
          "minutes." ), 
       Units ( "Minutes" )]
   sint32 StandardOffset;

      [Description ( 
          "The month in which daylight saving time ends (and "
          "\'standard\' time begins). Specify 0 for January, 1 for "
          "February, and so on." ), 
       ValueMap { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", 
          "10", "11" }, 
       Values { "January", "February", "March", "April", "May", 
          "June", "July", "August", "September", "October", 
          "November", "December" }, 
       ModelCorrespondence { "CIM_TimeZone.StandardDay" }]
   uint8 StandardMonth;

      [Description ( 
          "There are two different interpretations for this "
          "property, depending on the value of StandardDayOfWeek. "
          "In one case, StandardDay defines the day-in-month on "
          "which daylight saving time ends. This interpretation is "
          "used when the StandardDayOfWeek is 0. A positive or "
          "negative integer is specified to indicate whether the "
          "StandardDay should be calculated from the beginning or "
          "the end of the month. For example, 5 indicates the fifth "
          "day in the StandardMonth and -1 indicates the last day "
          "in the StandardMonth. \n"
          "\n"
          "When StandardDayOfWeek is not 0, StandardDay is the day- "
          "in-month on which daylight saving time ends, defined in "
          "conjunction with StandardDayOfWeek. For example, if "
          "StandardDay is 15 and StandardDayOfWeek is Saturday, "
          "then daylight saving time ends on the first Saturday on "
          "or after the 15th day in the StandardMonth (i.e., the "
          "third Saturday in the month). If StandardDay is 20 and "
          "StandardDayOfWeek is -Saturday, then this indicates the "
          "first Saturday on or before the 20th day in the "
          "StandardMonth. If StandardDay is -1 and "
          "StandardDayOfWeek is -Sunday, then this indicates the "
          "last Sunday in the StandardMonth." ), 
       MinValue ( -31 ), 
       MaxValue ( 31 ), 
       ModelCorrespondence { "CIM_TimeZone.StandardDayOfWeek" }]
   sint8 StandardDay;

      [Description ( 
          "Positive or negative integer used in conjunction with "
          "StandardDay to indicate the day of the week on which "
          "daylight saving time ends (and \'standard\' time "
          "begins). StandardDayOfWeek is set to 0 to indicate an "
          "exact day of the month, such as March 1. A positive "
          "integer (representing Sunday, Monday, ..., Saturday) "
          "means that the day of week is found on or after the "
          "specified StandardDay. A negative integer (representing "
          "-Sunday, -Monday, ..., -Saturday) means that the day of "
          "week is found on or before the StandardDay." ), 
       ValueMap { "-7", "-6", "-5", "-4", "-3", "-2", "-1", "0", 
          "1", "2", "3", "4", "5", "6", "7" }, 
       Values { "-Saturday", "-Friday", "-Thursday", "-Wednesday", 
          "-Tuesday", "-Monday", "-Sunday", "ExactDayOfMonth", 
          "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", 
          "Friday", "Saturday" }, 
       ModelCorrespondence { "CIM_TimeZone.StandardDay" }]
   sint8 StandardDayOfWeek;

      [Description ( 
          "The time interval after midnight when daylight saving "
          "time ends. For example, \n"
          "00000000020000.000000:000 \n"
          "indicates that daylight saving time ends at two o\'clock, "
          "local time (usually, daylight saving time)." )]
   datetime StandardStartInterval;

      [Description ( 
          "Full name of the \'daylight\' time zone (e.g., \"U.S. "
          "Eastern Daylight Saving Time\"), suitable for "
          "presentation to the user in the default locale." ), 
       ModelCorrespondence { "CIM_TimeZone.DaylightCaption" }]
   string DaylightName;

      [Description ( 
          "Short name of the \'daylight\' time zone (e.g., \"EDT\"), "
          "suitable for presentation to the user in the default "
          "locale. Note that a specific DaylightCaption property is "
          "defined, instead of using the inherited Caption. This is "
          "done to force consistent property naming for the "
          "StandardXXX and DaylightXXX properties." ), 
       ModelCorrespondence { "CIM_TimeZone.DaylightName" }]
   string DaylightCaption;

      [Description ( 
          "The number of minutes by which this daylight saving time "
          "differs from UTC. For example, U.S. EDT differs from UTC "
          "by -4.0 hours or -240 minutes, whereas Australia "
          "Adelaide Daylight Time differs by 10.5 hours or 630 "
          "minutes." ), 
       Units ( "Minutes" )]
   sint32 DaylightOffset;

      [Description ( 
          "The month in which daylight saving time starts. Specify "
          "0 for January, 1 for February, and so on." ), 
       ValueMap { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", 
          "10", "11" }, 
       Values { "January", "February", "March", "April", "May", 
          "June", "July", "August", "September", "October", 
          "November", "December" }, 
       ModelCorrespondence { "CIM_TimeZone.DaylightDay" }]
   uint8 DaylightMonth;

      [Description ( 
          "There are two different interpretations for this "
          "property, depending on the value of DaylightDayOfWeek. "
          "In one case, DaylightDay defines the day-in-month on "
          "which daylight saving time starts. This interpretation "
          "is used when the DaylightDayOfWeek is 0. A positive or "
          "negative integer is specified to indicate whether the "
          "DaylightDay should be calculated from the beginning or "
          "the end of the month. For example, 5 indicates the fifth "
          "day in the DaylightMonth and -1 indicates the last day "
          "in the DaylightMonth. \n"
          "\n"
          "When DaylightDayOfWeek is not 0, DaylightDay is the day- "
          "in-month on which daylight saving time starts, defined "
          "in conjunction with DaylightDayOfWeek. For example, if "
          "DaylightDay is 15 and DaylightDayOfWeek is Saturday, "
          "then daylight saving time starts on the first Saturday "
          "on or after the 15th day in the DaylightMonth (i.e., the "
          "third Saturday in the month). If DaylightDay is 20 and "
          "DaylightDayOfWeek is -Saturday, then this indicates the "
          "first Saturday on or before the 20th day in the "
          "DaylightMonth. If DaylightDay is -1 and "
          "DaylightDayOfWeek is -Sunday, then this indicates the "
          "last Sunday in the month." ), 
       MinValue ( -31 ), 
       MaxValue ( 31 ), 
       ModelCorrespondence { "CIM_TimeZone.DaylightDayOfWeek" }]
   sint8 DaylightDay;

      [Description ( 
          "Positive or negative integer used in conjunction with "
          "DaylightDay to indicate the day of the week on which "
          "daylight saving time starts. Set DaylightDayOfWeek to 0 "
          "to indicate an exact day of month, such as March 1. "
          "Positive integer (Sunday, Monday, ..., Saturday) means "
          "that the day of week is found on or after DaylightDay. "
          "Negative integer (-Sunday, -Monday, ..., -Saturday) "
          "means that the day of week is found on or before "
          "DaylightDay." ), 
       ValueMap { "-7", "-6", "-5", "-4", "-3", "-2", "-1", "0", 
          "1", "2", "3", "4", "5", "6", "7" }, 
       Values { "-Saturday", "-Friday", "-Thursday", "-Wednesday", 
          "-Tuesday", "-Monday", "-Sunday", "ExactDayOfMonth", 
          "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", 
          "Friday", "Saturday" }, 
       ModelCorrespondence { "CIM_TimeZone.DaylightDay" }]
   sint8 DaylightDayOfWeek;

      [Description ( 
          "The time interval after midnight when daylight saving "
          "time starts. For example, \n"
          "00000000020000.000000:000 \n"
          "indicates that daylight saving time starts at two "
          "o\'clock, local time (usually, standard time)." )]
   datetime DaylightStartInterval;


};
