    TPLINK-TIME-RANGE-MIB DEFINITIONS ::= BEGIN

        IMPORTS
            MODULE-IDENTITY, OBJECT-TYPE, MODULE-IDENTITY, NOTIFICATION-TYPE
                FROM SNMPv2-SMI
            TPRowStatus
            	FROM TPLINK-TC-MIB
			tplinkMgmt	          
				FROM TPLINK-MIB;
                        
        tplinkTimeRangeMIB MODULE-IDENTITY
            LAST-UPDATED    "201307030000Z"
            ORGANIZATION    "TP-LINK"
            CONTACT-INFO    " www.tplink.com.cn"
            DESCRIPTION     "Private MIB for Time Range module."
            REVISION        "201307030000Z"
            DESCRIPTION     "Initial version of this MIB module."
            ::= { tplinkMgmt 55 }
			
 -- (Top) SubNodes
			tplinkTimeRangeMIBObjects OBJECT IDENTIFIER ::= {tplinkTimeRangeMIB 1}
      		
--  (1) tpPoeTimeRange Objects
			tpTimeRangeConfig        OBJECT IDENTIFIER ::= {tplinkTimeRangeMIBObjects 1}  
			tpHolidayConfig          OBJECT IDENTIFIER ::= {tplinkTimeRangeMIBObjects 2} 
	

            
            --(1.1 tpTimeRangeConfig) 
			tpTimeRangeConfigTable OBJECT-TYPE
            SYNTAX  SEQUENCE OF TIMERANGECONFIGENTRY
            MAX-ACCESS  not-accessible
            STATUS  current
            DESCRIPTION
                    "A list of time range entries.
                     Here you can configure the time segment."
            ::= { tpTimeRangeConfig 1 }

            tpTimeRangeConfigEntry OBJECT-TYPE
            SYNTAX  TIMERANGECONFIGENTRY
            MAX-ACCESS  not-accessible
            STATUS  current
            DESCRIPTION
                    "An entry contains of the information of  time segment."
            INDEX   { tpTimeRangeName  }
            ::= { tpTimeRangeConfigTable 1 }
    
        TIMERANGECONFIGENTRY ::=
            SEQUENCE {        
                                tpTimeRangeIndex
                                        INTEGER,            
                                tpTimeRangeName
                                        OCTET STRING (SIZE (0..255)), 
                                tpTimeRangeExcludeHoliday
                                        INTEGER, 
								 tpTimeRangeAbsoluteTime
                                        OCTET STRING (SIZE (0..511)),
                                tpTimeRangePeriodicTime  
                                        OCTET STRING (SIZE (0..511)),
                                 tpTimeRangeStatus
                                 		TPRowStatus       
            }
			
		tpTimeRangeIndex OBJECT-TYPE
			SYNTAX  INTEGER  
			MAX-ACCESS  read-only
			STATUS  current
			DESCRIPTION
				"Index of the time-range for time identification."
			::= { tpTimeRangeConfigEntry 1 }
    
        tpTimeRangeName OBJECT-TYPE
            SYNTAX  OCTET STRING (SIZE (0..255))  
            MAX-ACCESS  read-only
            STATUS  current
            DESCRIPTION
                    "The name of the time-range for time identification."
            ::= { tpTimeRangeConfigEntry 2 }
        
        tpTimeRangeExcludeHoliday OBJECT-TYPE
            SYNTAX  INTEGER{
                include(0),                         
                exclude(1)                      
                }
            MAX-ACCESS  read-create
            STATUS  current
            DESCRIPTION
                    "config time-range include or exclude holiday"
            ::= { tpTimeRangeConfigEntry 3 }
			
		tpTimeRangeAbsoluteTime OBJECT-TYPE
            SYNTAX  OCTET STRING (SIZE (0..511))
            MAX-ACCESS  read-create
            STATUS  current
            DESCRIPTION
                    "The absolute time list, the format for each item is YYYY/MM/DD-hhmm to YYYY/MM/DD-hhmm "
            ::= { tpTimeRangeConfigEntry 4 }
			
		tpTimeRangePeriodicTime OBJECT-TYPE
            SYNTAX  OCTET STRING (SIZE (0..511))
            MAX-ACCESS  read-create
            STATUS  current
            DESCRIPTION
                    "The periodic time list, the format for each item is HH:MM-HH:MM on 'specific day of the week' "
            ::= { tpTimeRangeConfigEntry 5 }
         
         tpTimeRangeStatus OBJECT-TYPE
         	SYNTAX TPRowStatus
         	MAX-ACCESS read-create
         	STATUS current
         	DESCRIPTION
         			"Status of current time range entry(active/createAndGo/Destroy)"
         	::= { tpTimeRangeConfigEntry 6 }			
			
            -- (1.2 tpHolidayConfig)
			tpHolidayConfigTable OBJECT-TYPE
            SYNTAX  SEQUENCE OF HOLIDAYCONFIGENTRY
            MAX-ACCESS  not-accessible
            STATUS  current
            DESCRIPTION
                    "A list of Holiday entries. Here you can configure the Holiday."
            ::= { tpHolidayConfig 1 }   
            
            tpHolidayConfigEntry OBJECT-TYPE
            SYNTAX HOLIDAYCONFIGENTRY
            MAX-ACCESS  not-accessible
            STATUS  current
            DESCRIPTION
                    "An entry s of the information of holiday."
            INDEX   { tpHolidayName  }
            ::= { tpHolidayConfigTable 1 }

            
            HOLIDAYCONFIGENTRY ::=
            SEQUENCE {        
						tpHolidayIndex
							INTEGER,            
                        tpHolidayName
                            OCTET STRING (SIZE (0..255)), 
                        tpHolidayStartDate
                            OCTET STRING (SIZE (0..255)),
                        tpHolidayEndDate
                            OCTET STRING (SIZE (0..255)),
                        tpHolidayStatus
                            TPRowStatus
                    }
			tpHolidayIndex OBJECT-TYPE
				SYNTAX  INTEGER   
				MAX-ACCESS  read-only
				STATUS  current
				DESCRIPTION
					"Index of holiday name."
				::= { tpHolidayConfigEntry 1 }
                        
            tpHolidayName OBJECT-TYPE
              SYNTAX  OCTET STRING (SIZE (0..255))   
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
                      "The name of PoE holiday name."
              ::= { tpHolidayConfigEntry 2 } 
              
			tpHolidayStartDate OBJECT-TYPE
            SYNTAX  OCTET STRING (SIZE (0..255))
            MAX-ACCESS  read-create
            STATUS  current
            DESCRIPTION
                    "The start date in the format MM/DD."
            ::= { tpHolidayConfigEntry 3 }
			
			tpHolidayEndDate OBJECT-TYPE
            SYNTAX  OCTET STRING (SIZE (0..255))
            MAX-ACCESS  read-create
            STATUS  current
            DESCRIPTION
                    "The end date in the format MM/DD. "
            ::= { tpHolidayConfigEntry 4 }
            
            tpHolidayStatus OBJECT-TYPE
            	SYNTAX TPRowStatus
            	MAX-ACCESS read-create
            	STATUS current
            	DESCRIPTION
            			"Status of current holiday entry(active/createAndGo/Destroy)"
            ::= { tpHolidayConfigEntry 5 } 
            
END

	
	
	
	
	
	
	
	