<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Article 226 writ petition - Patras Law Chamber</title>
	<atom:link href="https://patraslawchambers.com/tag/article-226-writ-petition/feed/" rel="self" type="application/rss+xml" />
	<link>https://patraslawchambers.com</link>
	<description>Patras Law Chamber</description>
	<lastBuildDate>Mon, 31 Aug 2026 22:56:36 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.1</generator>
	<item>
		<title>Gradation List &#038; Seniority Disputes in Govt Service</title>
		<link>https://patraslawchambers.com/government-service-seniority-disputes-law/</link>
					<comments>https://patraslawchambers.com/government-service-seniority-disputes-law/#respond</comments>
		
		<dc:creator><![CDATA[Adv. Sudip Patra]]></dc:creator>
		<pubDate>Mon, 31 Aug 2026 21:42:06 +0000</pubDate>
				<category><![CDATA[SERVICE MATTERS]]></category>
		<category><![CDATA[Administrative Tribunals Act 1985]]></category>
		<category><![CDATA[Article 226 writ petition]]></category>
		<category><![CDATA[Article 309]]></category>
		<category><![CDATA[Articles 14 and 16]]></category>
		<category><![CDATA[Central Administrative Tribunal]]></category>
		<category><![CDATA[DoPT OM 13.08.2021]]></category>
		<category><![CDATA[Geetha V.M. v. Rethnasenan K.]]></category>
		<category><![CDATA[gradation list]]></category>
		<category><![CDATA[inter se seniority]]></category>
		<category><![CDATA[K. Meghachandra Singh v. Ningam Siro]]></category>
		<category><![CDATA[K.P. Sudhakaran]]></category>
		<category><![CDATA[N.R. Parmar]]></category>
		<category><![CDATA[patras law chambers]]></category>
		<category><![CDATA[Prabodh Verma]]></category>
		<category><![CDATA[promotion dispute]]></category>
		<category><![CDATA[quota rota rule]]></category>
		<category><![CDATA[R.K. Sabharwal]]></category>
		<category><![CDATA[seniority list]]></category>
		<category><![CDATA[Service Law]]></category>
		<guid isPermaLink="false">https://patraslawchambers.com/?p=4086</guid>

					<description><![CDATA[<p>  Service Law · Seniority &#38; Gradation Lists Your gradation list decides [&#8230;]</p>
<p>The post <a href="https://patraslawchambers.com/government-service-seniority-disputes-law/">Gradation List & Seniority Disputes in Govt Service</a> first appeared on <a href="https://patraslawchambers.com">Patras Law Chamber</a>.</p>]]></description>
										<content:encoded><![CDATA[<p><style>
:root{
  --bg:#0B0C0E; --surface:#16181B; --surface-2:#1D2023;
  --text:#F3F0E8; --text-muted:#D2CCC0;
  --accent:#C9971F; --accent-dim:#4A3D1E; --line:#2A2D30;
}
@property --sweep{syntax:'<number>';inherits:false;initial-value:0}
*{box-sizing:border-box}
.plc-page{background:var(--bg) !important;color:var(--text) !important;font-family:'Source Sans 3',system-ui,sans-serif;font-size:17px;line-height:1.75;margin:0;padding:0;position:relative;overflow-x:hidden}
.plc-page *{font-family:inherit}
/* ---------- ambient ---------- */
.amb{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}
.amb i{position:absolute;display:block;border-radius:50%;filter:blur(30px);will-change:transform,filter}
.amb i:nth-child(1){width:70vw;height:70vw;left:-18vw;top:2vh;background:radial-gradient(circle at 50% 50%,rgba(139,26,26,.62),rgba(139,26,26,0) 68%);animation:hue1 13s ease-in-out infinite}
.amb i:nth-child(2){width:62vw;height:62vw;right:-16vw;top:58vh;background:radial-gradient(circle at 50% 50%,rgba(90,15,15,.66),rgba(90,15,15,0) 70%);animation:hue2 17s ease-in-out infinite}
.amb i:nth-child(3){width:78vw;height:78vw;left:-10vw;top:135vh;background:radial-gradient(circle at 50% 50%,rgba(60,10,10,.7),rgba(60,10,10,0) 72%);animation:hue1 21s ease-in-out infinite}
.amb i:nth-child(4){width:56vw;height:56vw;right:-14vw;top:215vh;background:radial-gradient(circle at 50% 50%,rgba(139,26,26,.5),rgba(139,26,26,0) 70%);animation:hue2 15s ease-in-out infinite}
.amb i:nth-child(5){width:66vw;height:66vw;left:-14vw;top:300vh;background:radial-gradient(circle at 50% 50%,rgba(90,15,15,.58),rgba(90,15,15,0) 70%);animation:hue1 19s ease-in-out infinite}
@keyframes hue1{0%,100%{filter:blur(30px) hue-rotate(0deg) brightness(1) saturate(1)}50%{filter:blur(46px) hue-rotate(24deg) brightness(1.5) saturate(1.5)}}
@keyframes hue2{0%,100%{filter:blur(38px) hue-rotate(12deg) brightness(1.35) saturate(1.35)}50%{filter:blur(26px) hue-rotate(-14deg) brightness(.95) saturate(.95)}}
.wrap{position:relative;z-index:1;max-width:1000px;margin:0 auto;padding:0 20px}
section.plc{padding:64px 0;border-bottom:1px solid var(--line)}
/* ---------- type ---------- */
.plc-page h1,.plc-page h2,.plc-page h3,.plc-page h4{font-family:'Fraunces',Georgia,serif;color:var(--text) !important;line-height:1.15;margin:0 0 18px;font-weight:700;text-align:left !important}
.plc-page h1{font-size:clamp(31px,6.4vw,54px);letter-spacing:-.01em}
.plc-page h2{font-size:clamp(25px,4.4vw,36px)}
.plc-page h3{font-size:clamp(20px,3vw,25px)}
.plc-page h4{font-size:18px;font-family:'Source Sans 3',sans-serif;margin-bottom:8px}
.plc-page h1 em{color:var(--accent) !important;font-style:normal;font-weight:700}
.plc-page p,.plc-page li{color:var(--text-muted) !important;text-align:justify;text-align-last:left;hyphens:auto}
.plc-page p{margin:0 0 16px}
.plc-page a{color:var(--accent) !important;font-weight:700;text-decoration:underline;text-underline-offset:3px}
.plc-page a:hover{color:#EBB63F !important}
.plc-page strong{color:var(--text) !important;font-weight:700}
.eyebrow{font-family:'IBM Plex Mono',monospace !important;font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--accent) !important;font-weight:700;margin:0 0 14px;text-align:left !important;text-align-last:left !important}
.eyebrow.glowing{animation:glow 2.8s ease-in-out infinite}
@keyframes glow{0%,100%{text-shadow:0 0 0 rgba(201,151,31,0)}50%{text-shadow:0 0 16px rgba(201,151,31,.85)}}
.lede{font-size:19px;color:var(--text) !important}
.cursor{display:inline-block;width:.55ch;background:var(--accent);color:transparent !important;animation:blink 1s steps(1) infinite;margin-left:1px}
@keyframes blink{50%{opacity:0}}
[data-type] span{color:inherit !important}
/* ---------- reveal ---------- */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s ease}
.reveal.in{opacity:1;transform:none}
.card.reveal,.compare-item.reveal,.article-img.reveal,.pitfall.reveal,.ledger-item.reveal,.step.reveal{transform:translateY(-38px);transition:opacity .55s ease,transform .8s cubic-bezier(.34,1.56,.64,1)}
.card.reveal.in,.compare-item.reveal.in,.article-img.reveal.in,.pitfall.reveal.in,.ledger-item.reveal.in,.step.reveal.in{transform:none}
/* ---------- hero ---------- */
.hero{padding:78px 0 60px}
.hero .badge{display:inline-block;border:1px solid var(--accent-dim);padding:5px 12px;font-family:'IBM Plex Mono',monospace !important;font-size:11px;letter-spacing:.18em;color:var(--accent) !important;font-weight:700;margin-bottom:22px}
.cta-row{display:flex;flex-wrap:wrap;gap:14px;margin-top:26px}
.btn{display:inline-flex;align-items:center;gap:8px;padding:14px 24px;font-weight:700;text-decoration:none !important;font-size:16px;min-height:48px;border:1px solid var(--accent);transition:transform .25s ease,box-shadow .25s ease,background .25s ease}
.plc-page a.btn-primary,.plc-page .btn-primary{background:var(--accent) !important;color:#100D06 !important}
.plc-page a.btn-primary:hover,.plc-page .btn-primary:hover{transform:translateY(-3px);box-shadow:0 10px 30px rgba(201,151,31,.3);color:#100D06 !important;background:#E4AC2B !important}
.plc-page a.btn-ghost,.plc-page .btn-ghost{background:transparent !important;color:var(--accent) !important}
.plc-page a.btn-ghost:hover,.plc-page .btn-ghost:hover{background:rgba(201,151,31,.12) !important;transform:translateY(-3px);color:var(--accent) !important}
/* ---------- cards ---------- */
.grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px;margin-top:26px}
.card{background:var(--surface) !important;border:1px solid var(--line);padding:22px}
.card p,.card li{text-align:justify;text-align-last:left}
.card .k{font-family:'IBM Plex Mono',monospace !important;font-size:11px;letter-spacing:.16em;color:var(--accent) !important;font-weight:700;display:block;margin-bottom:8px}
/* flip cards */
.flip{perspective:1200px;min-height:210px;cursor:pointer}
.flip-in{position:relative;width:100%;height:100%;min-height:210px;transition:transform .75s cubic-bezier(.4,1.3,.5,1);transform-style:preserve-3d}
.flip.open .flip-in{transform:rotateY(180deg)}
.flip-f,.flip-b{position:absolute;inset:0;backface-visibility:hidden;background:var(--surface) !important;border:1px solid var(--line);padding:20px;display:flex;flex-direction:column;justify-content:center}
.flip-b{transform:rotateY(180deg);background:var(--surface-2) !important;border-color:var(--accent-dim)}
.flip .num{font-family:'Fraunces',serif;font-size:34px;color:var(--accent) !important;font-weight:700;line-height:1}
.flip .tap{font-family:'IBM Plex Mono',monospace !important;font-size:10px;letter-spacing:.18em;color:var(--accent) !important;font-weight:700;margin-top:14px}
/* ---------- compare ---------- */
.compare-wrap{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:14px;margin-top:24px}
.compare-item{background:var(--surface) !important;border:1px solid var(--line);border-top:3px solid var(--accent);padding:18px}
.compare-label{font-family:'IBM Plex Mono',monospace !important;font-size:11px;letter-spacing:.14em;color:var(--accent) !important;font-weight:700;text-transform:uppercase;margin-bottom:10px;display:block;text-align:left !important}
.compare-value{color:var(--text-muted) !important;text-align:justify !important;text-align-last:left !important;font-size:15.5px;margin:0 0 10px}
.compare-cite{font-family:'IBM Plex Mono',monospace !important;font-size:12px;color:var(--text) !important;font-weight:700;text-align:left !important;text-align-last:left !important}
/* ---------- interactive infographics ---------- */
.info{background:var(--surface) !important;border:1px solid var(--line);padding:24px;margin-top:26px}
.info-head{display:flex;flex-wrap:wrap;gap:10px;align-items:baseline;justify-content:space-between;margin-bottom:6px}
.info-title{font-family:'Fraunces',serif;font-size:20px;color:var(--text) !important;font-weight:700}
.info-hint{font-family:'IBM Plex Mono',monospace !important;font-size:10.5px;letter-spacing:.14em;color:var(--accent) !important;font-weight:700;text-transform:uppercase}
.seg{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}
.seg button{font-family:'Source Sans 3',sans-serif;font-size:14px;font-weight:700;padding:11px 16px;min-height:44px;background:transparent !important;color:var(--text-muted) !important;border:1px solid var(--line);cursor:pointer;transition:all .25s ease}
.seg button:hover{border-color:var(--accent);color:var(--text) !important}
.seg button[aria-pressed="true"]{background:var(--accent) !important;color:#100D06 !important;border-color:var(--accent)}
.seg button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
/* donut */
.donut-row{display:flex;flex-wrap:wrap;gap:28px;align-items:center}
.donut{--c1:var(--accent);--c2:#8B7330;--c3:#4A3D1E;width:212px;height:212px;flex:0 0 212px;border-radius:50%;position:relative;
  background:conic-gradient(var(--c1) 0 60%,var(--c2) 60% 85%,var(--c3) 85% 100%);
  opacity:0;transform:scale(.86);transition:opacity .7s ease,transform .9s cubic-bezier(.34,1.5,.6,1),background .4s ease}
.donut.in{opacity:1;transform:none}
.donut::after{content:"";position:absolute;inset:26%;border-radius:50%;background:var(--surface)}
.donut .mask{display:none}
.donut .mid{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:2;text-align:center}
.donut .mid b{font-family:'Fraunces',serif;font-size:32px;color:var(--accent) !important}
.donut .mid s{text-decoration:none;font-family:'IBM Plex Mono',monospace !important;font-size:10px;letter-spacing:.14em;color:var(--text-muted) !important;font-weight:700}
.legend{flex:1 1 240px;display:flex;flex-direction:column;gap:8px}
.legend button{display:flex;align-items:center;gap:12px;text-align:left;background:transparent !important;border:1px solid var(--line);padding:12px 14px;min-height:48px;cursor:pointer;transition:all .25s ease}
.legend button:hover,.legend button[aria-pressed="true"]{border-color:var(--accent);background:rgba(201,151,31,.08) !important}
.legend em{width:14px;height:14px;flex:0 0 14px;display:block;font-style:normal}
.legend span{font-size:14.5px;color:var(--text) !important;font-weight:700}
.legend small{display:block;color:var(--text-muted) !important;font-weight:400;font-size:13px}
/* roster */
.roster{display:grid;grid-template-columns:repeat(auto-fill,minmax(74px,1fr));gap:8px;margin-top:8px}
.slot{border:1px solid var(--line);padding:10px 6px;text-align:center;font-family:'IBM Plex Mono',monospace !important;font-size:11px;font-weight:700;color:var(--text) !important;background:var(--surface-2) !important;transition:transform .5s cubic-bezier(.34,1.56,.64,1),background .4s ease,color .4s ease,border-color .4s ease}
.slot.dr{border-color:var(--accent);color:var(--accent) !important}
.slot.pr{border-color:#5D6266}
.slot b{display:block;font-size:9px;letter-spacing:.1em;opacity:.7;font-weight:700}
.readout{margin-top:16px;border-left:3px solid var(--accent);padding:12px 16px;background:var(--surface-2) !important}
.readout p{margin:0;font-size:15.5px}
.readout .verdict{font-family:'IBM Plex Mono',monospace !important;font-size:11px;letter-spacing:.16em;color:var(--accent) !important;font-weight:700;display:block;margin-bottom:6px;text-align:left !important}
/* seniority ladder */
.ladder{display:flex;flex-direction:column;gap:8px;margin-top:6px}
.rung{display:flex;align-items:center;gap:12px;border:1px solid var(--line);background:var(--surface-2) !important;padding:12px 14px;transition:transform .6s cubic-bezier(.34,1.4,.6,1),border-color .4s ease}
.rung .rank{font-family:'Fraunces',serif;font-size:20px;color:var(--accent) !important;font-weight:700;min-width:34px}
.rung .who{font-weight:700;color:var(--text) !important;font-size:15px}
.rung .meta{font-family:'IBM Plex Mono',monospace !important;font-size:11px;color:var(--text-muted) !important;display:block;font-weight:400}
.rung.tag-dr{border-left:3px solid var(--accent)}
.rung.tag-pr{border-left:3px solid #6E7478}
.rung.moved{border-color:var(--accent)}
/* timeline */
.tl{display:flex;gap:0;margin-top:22px;position:relative;flex-wrap:wrap}
.tl::before{content:"";position:absolute;left:0;right:0;top:19px;height:2px;background:var(--line)}
.tl-node{flex:1 1 120px;position:relative;background:transparent !important;border:0;cursor:pointer;padding:0 6px;text-align:left}
.tl-dot{width:16px;height:16px;border-radius:50%;background:var(--surface-2) !important;border:2px solid var(--accent);margin:12px 0 14px;position:relative;z-index:2;transition:transform .35s ease,background .35s ease}
.tl-node[aria-pressed="true"] .tl-dot,.tl-node:hover .tl-dot{background:var(--accent) !important;transform:scale(1.5)}
.tl-node[aria-pressed="true"] .tl-dot::after{content:"";position:absolute;inset:-6px;border-radius:50%;border:1px solid var(--accent);animation:ripple 1.8s ease-out infinite}
@keyframes ripple{0%{transform:scale(.7);opacity:.9}100%{transform:scale(2.1);opacity:0}}
.tl-year{font-family:'IBM Plex Mono',monospace !important;font-size:12px;font-weight:700;color:var(--accent) !important;display:block}
.tl-cap{font-size:13px;color:var(--text-muted) !important;display:block;text-align:left !important;text-align-last:left !important}
.tl-panel{margin-top:20px;border:1px solid var(--accent-dim);background:var(--surface-2) !important;padding:20px}
.tl-panel h4{color:var(--text) !important}
.tl-panel p{margin:0;font-size:15.5px}
/* decision tree */
.tree{margin-top:8px}
.branchrow{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px}
.branch{border:1px solid var(--line);background:var(--surface-2) !important;padding:18px;cursor:pointer;transition:all .3s ease;text-align:left}
.branch:hover{border-color:var(--accent);transform:translateY(-4px)}
.branch[aria-pressed="true"]{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}
.branch b{display:block;color:var(--text) !important;font-size:16px;margin-bottom:6px}
.branch span{font-size:14px;color:var(--text-muted) !important;display:block;text-align:justify;text-align-last:left}
/* laches meter */
.meter{margin-top:10px}
.meter input[type=range]{width:100%;accent-color:var(--accent);height:44px}
.bar{height:12px;background:var(--surface-2) !important;border:1px solid var(--line);position:relative;overflow:hidden}
.bar i{position:absolute;left:0;top:0;bottom:0;display:block;background:var(--accent);transition:width .3s ease,background .3s ease}
.meter .scale{display:flex;justify-content:space-between;font-family:'IBM Plex Mono',monospace !important;font-size:10.5px;color:var(--text-muted) !important;margin-top:6px;font-weight:700}
/* forum finder */
.forum-out{margin-top:18px;border:1px solid var(--accent-dim);background:var(--surface-2) !important;padding:20px;min-height:120px}
.forum-out .f-name{font-family:'Fraunces',serif;font-size:22px;color:var(--accent) !important;font-weight:700;display:block;margin-bottom:8px}
.forum-out p{margin:0;font-size:15.5px}
/* ledger */
.ledger{margin-top:26px;display:flex;flex-direction:column;gap:14px}
.ledger-item{background:var(--surface) !important;border:1px solid var(--line);padding:20px 22px;position:relative}
.ledger-item .case{font-family:'Fraunces',serif;font-size:20px;color:var(--text) !important;font-weight:700;margin:0 0 4px;padding-right:0}
.ledger-item .cite{font-family:'IBM Plex Mono',monospace !important;font-size:12px;color:var(--accent) !important;font-weight:700;display:block;margin-bottom:10px;text-align:left !important;text-align-last:left !important}
.stamp{display:inline-block;margin:0 0 12px;border:2px solid var(--accent);color:var(--accent) !important;font-family:'IBM Plex Mono',monospace !important;font-weight:700;font-size:10px;letter-spacing:.12em;padding:6px 10px;transform:rotate(-2deg);animation:stampPulse 2.6s ease-in-out infinite}
.stamp span{color:var(--accent) !important;font-size:10px}
@keyframes stampPulse{0%,100%{box-shadow:0 0 0 0 rgba(201,151,31,.5)}70%{box-shadow:0 0 0 14px rgba(201,151,31,0)}}
.holding{border-left:2px solid var(--accent-dim);padding-left:14px;margin:0}
/* steps */
.steps{margin-top:26px;display:flex;flex-direction:column;gap:14px;counter-reset:s}
.step{display:flex;gap:16px;background:var(--surface) !important;border:1px solid var(--line);padding:18px 20px}
.step .n{font-family:'Fraunces',serif;font-size:26px;color:var(--accent) !important;font-weight:700;line-height:1;min-width:44px}
.step h4{margin-bottom:4px}
.step p{margin:0;font-size:15.5px}
/* pitfalls */
.pitfall{display:flex;gap:14px;background:var(--surface) !important;border:1px solid var(--line);border-left:3px solid var(--accent);padding:16px 18px;margin-top:12px}
.pitfall .mk{color:var(--accent) !important;font-weight:700;font-family:'IBM Plex Mono',monospace !important;font-size:15px}
.pitfall p{margin:0;font-size:15.5px}
/* images */
.article-img{margin:28px 0 0;background:var(--surface) !important;border:1px solid var(--line);padding:10px}
.article-img img{display:block;width:100%;height:auto}
.article-img figcaption{font-size:13.5px;color:var(--text-muted) !important;padding:10px 6px 4px;text-align:justify !important;text-align-last:left !important;font-family:'IBM Plex Mono',monospace !important}
/* video */
.video-embed{margin-top:28px;border:1px solid var(--line);background:var(--surface) !important;padding:10px}
.video-embed .vh{font-family:'IBM Plex Mono',monospace !important;font-size:11px;letter-spacing:.16em;color:var(--accent) !important;font-weight:700;padding:6px 4px 12px;text-align:left !important}
.video-frame{position:relative;padding-top:56.25%}
.video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
/* faq */
.faq{margin-top:26px;border-top:1px solid var(--line)}
.q{width:100%;text-align:left;background:transparent !important;border:0;border-bottom:1px solid var(--line);padding:18px 40px 18px 0;position:relative;cursor:pointer;font-family:'Source Sans 3',sans-serif;font-size:17px;font-weight:700;color:var(--text) !important;min-height:56px}
.q::after{content:"+";position:absolute;right:8px;top:50%;transform:translateY(-50%);color:var(--accent) !important;font-size:22px;font-weight:700;transition:transform .3s ease}
.q[aria-expanded="true"]::after{transform:translateY(-50%) rotate(45deg)}
.a{max-height:0;overflow:hidden;transition:max-height .45s ease;border-bottom:1px solid var(--line)}
.a p{margin:0;padding:4px 0 20px;font-size:15.5px}
/* firm block */
.firm-about-wrap{display:flex;gap:20px;align-items:center;background:var(--surface) !important;border:1px solid var(--accent-dim);padding:20px;margin-top:24px;flex-wrap:wrap}
.firm-about-wrap p{margin:0;font-size:15px;flex:1 1 260px;text-align:justify;text-align-last:left}
.mono-badge{width:92px;height:92px;flex:0 0 92px;border-radius:50%;border:2px solid var(--accent);display:flex;align-items:center;justify-content:center;font-family:'Fraunces',serif;font-size:28px;color:var(--accent) !important;font-weight:700;background:var(--surface-2) !important;animation:glowRing 3.4s ease-in-out infinite}
@keyframes glowRing{0%,100%{box-shadow:0 0 0 0 rgba(201,151,31,.28)}50%{box-shadow:0 0 26px 2px rgba(201,151,31,.3)}}
.addr{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;margin-top:18px}
.addr div{border:1px solid var(--line);padding:16px;background:var(--surface) !important}
.addr b{display:block;font-family:'IBM Plex Mono',monospace !important;font-size:11px;letter-spacing:.16em;color:var(--accent) !important;margin-bottom:8px}
.addr p{margin:0;font-size:14.5px;text-align:left;text-align-last:left}
footer.plc{padding:36px 0 48px;text-align:center !important}
footer.plc p{text-align:center !important;text-align-last:center !important;font-size:14px}
footer.plc .credit{font-family:'IBM Plex Mono',monospace !important;color:var(--accent) !important;font-weight:700;letter-spacing:.1em;text-align:center !important;text-align-last:center !important}
@media(max-width:640px){
  .plc-page{font-size:16.5px}
  section.plc{padding:48px 0}
  .card.reveal,.compare-item.reveal,.article-img.reveal,.pitfall.reveal,.ledger-item.reveal,.step.reveal{transform:translateY(-64px);transition:opacity .5s ease,transform .95s cubic-bezier(.32,1.75,.55,1.05)}
  .donut{width:180px;height:180px;flex:0 0 180px}
  .ledger-item .case{padding-right:0}
  .stamp{transform:rotate(-3deg)}
  .tl::before{display:none}
  .tl-node{flex:1 1 45%;margin-bottom:10px}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none !important;transition:none !important}
  .reveal,.card.reveal,.compare-item.reveal,.article-img.reveal,.pitfall.reveal,.ledger-item.reveal,.step.reveal{opacity:1 !important;transform:none !important}
  .donut{opacity:1 !important;transform:none !important}
  .cursor{display:none}
}
</style></p>
<div class="plc-page">
<div id="amb" class="amb"> </div>
<!-- HERO -->
<section class="plc hero">
<div class="wrap"><span class="badge">Service Law · Seniority &amp; Gradation Lists</span>
<h1 data-type-hero="">Your gradation list decides your career. <em>One wrong entry date can cost a promotion.</em></h1>
<p class="lede reveal">Quota-rota mechanics, the fall of <strong>N.R. Parmar</strong>, the rule in <strong>K. Meghachandra Singh</strong>, DoPT OM dated 13.08.2021, and exactly how a wrongly drawn seniority list is challenged before the Central Administrative Tribunal or a High Court under Article 226.</p>
<div class="cta-row reveal"><a class="btn btn-primary" href="tel:+919831019997">Speak to the Chambers</a> <a class="btn btn-ghost" href="#roadmap">See the challenge roadmap</a></div>
</div>
</section>
<!-- 1. FOUNDATIONS -->
<section class="plc">
<div class="wrap">
<p class="eyebrow" data-type="">Constitutional foundations</p>
<h2 data-type="">Seniority is a legal entitlement, not an office courtesy</h2>
<p class="reveal">Public employment in India rests on equality of opportunity and non-arbitrariness under Articles 14 and 16 of the Constitution. Rules framed under the proviso to <a href="https://www.indiacode.nic.in/handle/123456789/1362" target="_blank" rel="noopener">Article 309 of the Constitution</a>, or corresponding statutory enactments, regulate recruitment, conditions of service and relative seniority. A seniority list — usually called a gradation list — is the foundational record that fixes an employee&#8217;s relative standing within a cadre, and that placement dictates career progression, eligibility for promotional consideration, pay-scale progression and postings.</p>
<p class="reveal">A gradation list must follow the governing statutory recruitment rules strictly. Where the appointing authority departs from them — by misapplying quotas, granting unauthorised retrospective seniority, or ignoring the legal consequences of an inter-departmental transfer — the list becomes constitutionally vulnerable and can be assailed by an Original Application before an Administrative Tribunal under the Administrative Tribunals Act, 1985, or by a Writ Petition under Articles 226 and 227 before the High Court.</p>
<figure class="article-img reveal"><img decoding="async" src="https://patraslawchambers.com/wp-content/uploads/2026/08/img-01-right-to-consideration.jpg" alt="Illustration of an open door with light, captioned Right to consideration is fundamental — arbitrary exclusion violates equality, Articles 14 and 16(1) of the Constitution of India" />
<figcaption>Articles 14 and 16(1) guarantee consideration on equal terms. A gradation list that silently pushes an officer below juniors excludes him from that consideration — and that exclusion, not merely the lost promotion, is the constitutional injury.</figcaption>
</figure>
<p class="eyebrow reveal" style="margin-top: 38px;" data-type="">Four recurring defaults</p>
<h3 class="reveal">Tap each card to see how the error shows up on the list</h3>
<div class="grid-2">
<div class="card flip reveal" tabindex="0" role="button" aria-pressed="false">
<div class="flip-in">
<div class="flip-f"><span class="num">01</span>
<h4>Quota-rota misapplied</h4>
<p>The roster between direct recruits and promotees is worked wrongly.</p>
<span class="tap">Tap to reveal</span></div>
<div class="flip-b"><span class="k">Effect on the list</span>
<p>Alternating slots are filled out of turn, so an entire block of officers is displaced for the rest of their service.</p>
</div>
</div>
</div>
<div class="card flip reveal" tabindex="0" role="button" aria-pressed="false">
<div class="flip-in">
<div class="flip-f"><span class="num">02</span>
<h4>Illegal antedating</h4>
<p>Direct recruit seniority is pushed back before actual induction.</p>
<span class="tap">Tap to reveal</span></div>
<div class="flip-b"><span class="k">Effect on the list</span>
<p>Officers who joined later appear above promotees who were already serving — squarely barred after 19 November 2019.</p>
</div>
</div>
</div>
<div class="card flip reveal" tabindex="0" role="button" aria-pressed="false">
<div class="flip-in">
<div class="flip-f"><span class="num">03</span>
<h4>Fortuitous service counted</h4>
<p>Ad-hoc, stop-gap or emergency service outside the quota is added in.</p>
<span class="tap">Tap to reveal</span></div>
<div class="flip-b"><span class="k">Effect on the list</span>
<p>Temporary officiation is treated as regular service, inflating a promotee&#8217;s position against the rule in C.K. Antony.</p>
</div>
</div>
</div>
<div class="card flip reveal" tabindex="0" role="button" aria-pressed="false">
<div class="flip-in">
<div class="flip-f"><span class="num">04</span>
<h4>Transfers misclassified</h4>
<p>A policy absorption is recorded as a personal request transfer.</p>
<span class="tap">Tap to reveal</span></div>
<div class="flip-b"><span class="k">Effect on the list</span>
<p>Accrued service is forfeited and the officer is dropped to the bottom of the receiving cadre, though public interest moved him.</p>
</div>
</div>
</div>
</div>
<div class="video-embed reveal">
<div class="vh">Watch · Seniority, gradation lists and promotion disputes explained</div>
<div class="video-frame"><iframe title="YouTube video player" src="https://www.youtube.com/embed/TcHkyGtTq9c?si=CJ9izde77ngZFolm" allowfullscreen="allowfullscreen"></iframe></div>
</div>
</div>
</section>
<!-- 2. QUOTA-ROTA -->
<section class="plc">
<div class="wrap">
<p class="eyebrow" data-type="">Quota &amp; rota</p>
<h2 data-type="">Two rules that are constantly confused</h2>
<p class="reveal">The quota-rota system harmonises officers entering one cadre from different streams — chiefly direct recruitment and internal promotion. The <strong>quota</strong> rule prescribes the share of substantive vacancies for each stream. The <strong>rota</strong> rule governs inter se seniority by rotating positions among those recruits according to a prescribed roster cycle. A statutory quota does not automatically imply a rota: in <em>Paramjit Singh Sandhu v. Ram Rakha</em> the Supreme Court held that rota cannot be read into service rules unless the rules specifically mandate a rotational mechanism.</p>
<div id="quota-info" class="info reveal">
<div class="info-head"><span class="info-title">A typical quota split</span><span class="info-hint">Tap a stream</span></div>
<div class="donut-row">
<div id="donut" class="donut"><span class="mid"><b id="d-val">60%</b><s id="d-key">Direct recruitment</s></span></div>
<div id="legend" class="legend"><button type="button" aria-pressed="true" data-v="60" data-k="Direct recruitment" data-c="1">Direct recruitment<small>Selection through the recruiting agency, against quota vacancies.</small></button> <button type="button" aria-pressed="false" data-v="25" data-k="Promotion" data-c="2">Promotion<small>Departmental Promotion Committee, from the feeder cadre.</small></button> <button type="button" aria-pressed="false" data-v="15" data-k="Deputation / transfer" data-c="3">Deputation or transfer<small>Absorption from another cadre or department.</small></button></div>
</div>
<div class="readout">
<p><span class="verdict">Note</span>The figures illustrate a common 60:25:15 division. Your own share is whatever your recruitment rules prescribe — the first document to read in any seniority dispute is the rule, not the list.</p>
</div>
</div>
<p class="eyebrow reveal" style="margin-top: 40px;" data-type="">The breakdown doctrine</p>
<h3 class="reveal">When does the roster actually collapse?</h3>
<p class="reveal">Where the administration fails to recruit or to hold Departmental Promotion Committees for years, promotees serving on ad-hoc basis argue that the quota-rota rule has broken down and that their continuous officiation must count. Courts test that claim strictly.</p>
<div id="rota-info" class="info reveal">
<div class="info-head"><span class="info-title">Roster simulator</span><span class="info-hint">Switch the scenario</span></div>
<div id="rota-seg" class="seg"><button type="button" aria-pressed="true" data-m="intact">Rules followed</button> <button type="button" aria-pressed="false" data-m="delay">Sporadic delay</button> <button type="button" aria-pressed="false" data-m="breakdown">Massive, years-long deviation</button></div>
<div id="roster" class="roster"> </div>
<div class="readout">
<p><span id="rota-verdict" class="verdict">Rota operative</span><span id="rota-text">Seniority is fixed strictly by the rotational roster: direct recruit and promotee slots alternate in the prescribed cycle.</span></p>
</div>
</div>
<div class="grid-2">
<div class="card reveal"><span class="k">Delay is not breakdown</span>
<p><em>M.S.L. Patil v. State of Maharashtra</em> and <em>C. Jayachandran v. State of Kerala</em>: mere delay, omission or failure to prepare annual select lists does not amount to a breakdown of the quota rule.</p>
</div>
<div class="card reveal"><span class="k">Scattered appointments</span>
<p><em>Union of India v. Harish Chander Bhatia</em>: sporadic appointments made to meet immediate administrative exigencies do not show a collapse of the statutory quota system.</p>
</div>
<div class="card reveal"><span class="k">Breakdown recognised</span>
<p><em>B.S. Mathur</em> and <em>G.S. Lamba v. Union of India</em>: breakdown arises only where enforcing rota becomes impossible after massive, continuous, long-standing departures from the quota.</p>
</div>
<div class="card reveal"><span class="k">Consequence of breakdown</span>
<p>Once breakdown is judicially found, the rota collapses and inter se seniority is recalculated on the length of continuous, regularised officiation.</p>
</div>
</div>
<figure class="article-img reveal"><img decoding="async" src="https://patraslawchambers.com/wp-content/uploads/2026/08/img-04-delayed-dpc.jpg" alt="Illustration of a cracked hourglass pouring gold into a coin purse, captioned Delayed DPC — retrospective promotion granted, P.N. Premachandran v. Kerala" />
<figcaption>Administrative delay cuts both ways. It does not by itself break the quota rule — but where a Departmental Promotion Committee was held late purely through the department&#8217;s own error, courts have granted promotion retrospectively rather than let the employee bear the cost.</figcaption>
</figure>
<p class="eyebrow reveal" style="margin-top: 38px;" data-type="">Fortuitous service</p>
<h3 class="reveal">Rule A and Rule B — the Constitution Bench test</h3>
<p class="reveal">Where promotees are appointed in excess of quota or under emergency provisions — such as Rule 9(a)(i) of the Kerala State and Subordinate Service Rules — the initial service is &#8220;fortuitous&#8221; or &#8220;stop-gap&#8221;. In <em>C.K. Antony v. B. Muraleedharan</em> the Supreme Court held that such service cannot be counted; seniority runs only from regular appointment against a substantive vacancy within the appointee&#8217;s own quota, because no one can claim seniority from a date on which he was not validly borne in the cadre. This mirrors the Constitution Bench in <em>Direct Recruit Class II Engineering Officers Association v. State of Maharashtra</em> (1990).</p>
<div class="compare-wrap">
<div class="compare-item reveal"><span class="compare-label">Rule A · counts</span>
<p class="compare-value">Where the initial appointment followed the procedure prescribed by the recruitment rules, continuous officiation in the post counts towards seniority.</p>
<span class="compare-cite">Direct Recruit Class II (1990)</span></div>
<div class="compare-item reveal"><span class="compare-label">Rule B · does not count</span>
<p class="compare-value">Where the initial appointment was purely ad-hoc, stop-gap or fortuitous and the officer was regularised later, the earlier service is excluded and seniority runs from regular induction.</p>
<span class="compare-cite">Direct Recruit Class II (1990)</span></div>
</div>
</div>
</section>
<!-- 3. PARMAR TO MEGHACHANDRA -->
<section class="plc">
<div class="wrap">
<p class="eyebrow" data-type="">The paradigm shift</p>
<h2 data-type="">From paper seniority to date of induction</h2>
<p class="reveal">The rule deciding inter se seniority between direct recruits and promotees changed fundamentally between 2012 and 2021, and every central and state gradation list drawn in that window is worth re-reading.</p>
<div id="tl-info" class="info reveal">
<div class="info-head"><span class="info-title">Nine years, four moments</span><span class="info-hint">Tap a milestone</span></div>
<div id="tl" class="tl"><button class="tl-node" type="button" aria-pressed="true" data-i="0"><span class="tl-year">2012</span><span class="tl-cap">N.R. Parmar</span></button> <button class="tl-node" type="button" aria-pressed="false" data-i="1"><span class="tl-year">19 Nov 2019</span><span class="tl-cap">Meghachandra Singh</span></button> <button class="tl-node" type="button" aria-pressed="false" data-i="2"><span class="tl-year">13 Aug 2021</span><span class="tl-cap">DoPT OM</span></button> <button class="tl-node" type="button" aria-pressed="false" data-i="3"><span class="tl-year">2022–</span><span class="tl-cap">Transitional challenges</span></button></div>
<div id="tl-panel" class="tl-panel"> </div>
</div>
<div id="sen-info" class="info reveal">
<div class="info-head"><span class="info-title">Same cadre, two rules — watch the list reorder</span><span class="info-hint">Switch the regime</span></div>
<div id="sen-seg" class="seg"><button type="button" aria-pressed="true" data-m="parmar">N.R. Parmar (vacancy year)</button> <button type="button" aria-pressed="false" data-m="megha">Meghachandra (date of induction)</button></div>
<div id="ladder" class="ladder"> </div>
<div class="readout">
<p><span id="sen-verdict" class="verdict">Under N.R. Parmar</span><span id="sen-text">Direct recruits carry seniority back to the year the vacancy arose, so officers who joined in 2018 sit above promotees regularised in 2015.</span></p>
</div>
</div>
<div class="grid-2">
<div class="card reveal"><span class="k">Borne in cadre</span>
<p>A government servant cannot claim seniority from a date earlier than actual entry into the cadre.</p>
</div>
<div class="card reveal"><span class="k">No retrospective seniority</span>
<p>Seniority cannot be given to a direct recruit from the vacancy year or the date of advertisement when he was not yet appointed.</p>
</div>
<div class="card reveal"><span class="k">Date of appointment</span>
<p>Inter se seniority is reckoned from the date of actual regular appointment or induction into service.</p>
</div>
<div class="card reveal"><span class="k">Prospective operation</span>
<p>Lists finalised under <em>N.R. Parmar</em> before 19 November 2019 were protected, so settled cadres were not reopened.</p>
</div>
</div>
<p class="reveal" style="margin-top: 26px;">Following <em>K. Meghachandra Singh v. Ningam Siro</em>, the Department of Personnel and Training issued Office Memorandum No. 20011/2/2019-Estt.(D) dated 13 August 2021, withdrawing its 2014 Parmar-based instructions. The 2021 OM fixes relative seniority by actual dates of appointment or promotion and keeps the rotational quota only among candidates appointed in the same recruitment year. Paragraph 7(iii), which dealt with transitional cases, has itself been litigated: in <em>Ashwani Kumar Anand v. Union of India</em> (O.A. 991/2022, affirmed by the High Court of Bombay) seniority lists antedating direct recruit seniority under transitional clauses were quashed. After 19 November 2019, backdating a direct recruit above a promotee who joined earlier offends both <a href="https://indiankanoon.org/doc/161125717/" target="_blank" rel="noopener">binding Supreme Court authority</a> and Article 14.</p>
<figure class="article-img reveal"><img decoding="async" src="https://patraslawchambers.com/wp-content/uploads/2026/08/img-02-equality-service-span.jpg" alt="Illustration of three classical pillars, the central gold one intact, captioned Equality extends beyond appointment to entire service span, Ajit Singh v. State of Punjab" />
<figcaption>Equality under Articles 14 and 16 does not exhaust itself at the moment of appointment. <em>Ajit Singh v. State of Punjab</em> extends it across the whole service span — including promotion, seniority and pay upgradation.</figcaption>
</figure>
</div>
</section>
<!-- 4. TRANSFERS -->
<section class="plc">
<div class="wrap">
<p class="eyebrow" data-type="">Transfers and absorption</p>
<h2 data-type="">Who asked for the move decides who keeps the seniority</h2>
<p class="reveal">Disputes also arise when officers move across cadres, districts or departments. Service jurisprudence separates the transfer an employee asks for from the transfer the State orders in public interest.</p>
<div id="tree-info" class="info reveal">
<div class="info-head"><span class="info-title">Who initiated the move?</span><span class="info-hint">Tap a branch</span></div>
<div class="tree">
<div class="branchrow"><button class="branch" type="button" aria-pressed="true" data-b="req"><b>The employee asked</b>Request transfer to another cadre, district or unit for personal convenience — medical grounds, spouse posting, family need.</button> <button class="branch" type="button" aria-pressed="false" data-b="pub"><b>The State ordered</b>Transfer or absorption in public interest, or an option exercised under a departmental reorganisation policy.</button></div>
<div id="tree-out" class="readout"> </div>
</div>
</div>
<div class="compare-wrap">
<div class="compare-item reveal"><span class="compare-label">Request transfer</span>
<p class="compare-value">Accrued seniority in the parent cadre is forfeited and the officer is placed at the bottom of the target cadre&#8217;s list on the date of joining, so the promotional prospects of officers already in the receiving cadre are protected.</p>
<span class="compare-cite">K.P. Sudhakaran v. State of Kerala (2006)</span></div>
<div class="compare-item reveal"><span class="compare-label">Public interest transfer</span>
<p class="compare-value">The officer carries forward continuous length of service and retains original seniority in the new cadre, because the move served the administration and not personal convenience.</p>
<span class="compare-cite">K.P. Sudhakaran — public interest exception</span></div>
<div class="compare-item reveal"><span class="compare-label">Policy absorption</span>
<p class="compare-value">Exercising an option for absorption under a State reorganisation plan is not an individual request transfer; forfeiture does not apply, and inter se seniority is protected on original appointment and advice dates.</p>
<span class="compare-cite">Geetha V.M. v. Rethnasenan K. (2025)</span></div>
</div>
<p class="reveal" style="margin-top: 22px;">In <em>Geetha V.M.</em> health department personnel had opted for absorption into the newly created Department of Medical Education under a State policy decision. A Division Bench had treated those options as voluntary request transfers under the proviso to Rule 27(a) of the KS&amp;SS Rules and pushed the staff to bottom seniority. The Supreme Court set that aside and restored their original seniority — the distinction between a policy absorption and a personal request is now the first question in any transfer-seniority dispute.</p>
</div>
</section>
<!-- 5. SUMMARY GRID -->
<section class="plc">
<div class="wrap">
<p class="eyebrow" data-type="">Principles at a glance</p>
<h2 data-type="">Nine settled propositions</h2>
<div class="compare-wrap">
<div class="compare-item reveal"><span class="compare-label">Quota-rota inter se</span>
<p class="compare-value">Rota depends on quota adherence; the rotational roster fixes alternating slots between direct recruits and promotees only where the rules mandate it.</p>
<span class="compare-cite">Paramjit Singh Sandhu · DoPT OMs 1959/1986</span></div>
<div class="compare-item reveal"><span class="compare-label">Quota breakdown</span>
<p class="compare-value">Breakdown requires systemic unworkability, not routine DPC delay or temporary stop-gap promotion. If proved, seniority follows continuous regular service.</p>
<span class="compare-cite">B.S. Mathur · G.S. Lamba · Suraj Parkash Gupta</span></div>
<div class="compare-item reveal"><span class="compare-label">Ad-hoc promotions</span>
<p class="compare-value">Emergency service outside the statutory quota is fortuitous and confers no seniority; the clock starts at regular substantive appointment.</p>
<span class="compare-cite">C.K. Antony · Direct Recruit Class II (Rule B)</span></div>
<div class="compare-item reveal"><span class="compare-label">Direct recruit v. promotee</span>
<p class="compare-value">Seniority is reckoned from the actual date of appointment; a direct recruit joining later cannot override a promotee already validly serving in a regular post.</p>
<span class="compare-cite">K. Meghachandra Singh · DoPT OM 13.08.2021</span></div>
<div class="compare-item reveal"><span class="compare-label">Request transfers</span>
<p class="compare-value">A transfer sought by the employee forfeits parent cadre seniority; the transferee goes to the bottom of the target cadre on the date of joining.</p>
<span class="compare-cite">K.P. Sudhakaran · proviso to Rule 27(a) KS&amp;SS</span></div>
<div class="compare-item reveal"><span class="compare-label">Policy absorption</span>
<p class="compare-value">Options exercised under a State reorganisation policy preserve past continuous service and inter se seniority in the absorbed cadre.</p>
<span class="compare-cite">Geetha V.M. (2025) · Kartar Singh</span></div>
<div class="compare-item reveal"><span class="compare-label">Reservation roster</span>
<p class="compare-value">Post-based rosters replace vacancy-based rosters, holding percentage quotas against total cadre strength and preventing over-reservation.</p>
<span class="compare-cite">R.K. Sabharwal v. State of Punjab</span></div>
<div class="compare-item reveal"><span class="compare-label">Necessary parties</span>
<p class="compare-value">Officers whose ranking would fall if the petition succeeds must be impleaded; otherwise the challenge is defective for non-joinder.</p>
<span class="compare-cite">Prabodh Verma · J.S. Yadav</span></div>
<div class="compare-item reveal"><span class="compare-label">Right to be considered</span>
<p class="compare-value">There is no vested right to promotion itself, but there is an enforceable right to fair consideration — which is exactly what a wrong gradation list destroys.</p>
<span class="compare-cite">Ajit Singh v. State of Punjab</span></div>
</div>
<figure class="article-img reveal"><img decoding="async" src="https://patraslawchambers.com/wp-content/uploads/2026/08/img-03-no-vested-right.jpg" alt="Illustration of a hand reaching for a glowing crown, captioned No vested right to actual promotion — the State guarantees fair evaluation, not automatic advancement" />
<figcaption>The distinction that decides most service petitions: the State owes you fair, rule-based consideration on a correctly drawn seniority list — it does not owe you the promotion itself.</figcaption>
</figure>
</div>
</section>
<!-- 6. ROADMAP -->
<section id="roadmap" class="plc">
<div class="wrap">
<p class="eyebrow" data-type="">Challenging the list</p>
<h2 data-type="">The procedural spine of a seniority challenge</h2>
<p class="reveal">A judicial challenge follows a sequence, and each step creates or destroys the case. Litigation against a draft list without first filing formal objections is usually treated as premature.</p>
<div class="steps">
<div class="step reveal"><span class="n">1</span>
<div>
<h4>Read the draft gradation list line by line</h4>
<p>Examine the dates, quota categories and entry mode assigned to every officer in the cadre, not merely your own row.</p>
</div>
</div>
<div class="step reveal"><span class="n">2</span>
<div>
<h4>File written objections within the circular&#8217;s time limit</h4>
<p>Set out the exact statutory rule violated, the continuous service left uncounted and every instance of improper backdating.</p>
</div>
</div>
<div class="step reveal"><span class="n">3</span>
<div>
<h4>Obtain the final list and the speaking order</h4>
<p>If objections are rejected, the authority must pass a reasoned order. The final list plus that order is your cause of action.</p>
</div>
</div>
<div class="step reveal"><span class="n">4</span>
<div>
<h4>Check necessary parties and limitation</h4>
<p>Implead every officer who would be pushed down — individually or by representation under Order 1 Rule 8 CPC — and move promptly.</p>
</div>
</div>
<div class="step reveal"><span class="n">5</span>
<div>
<h4>File before the correct forum</h4>
<p>An Original Application before CAT under Section 19 of the Administrative Tribunals Act, 1985, or a Writ Petition under Article 226.</p>
</div>
</div>
</div>
<div id="forum-info" class="info reveal">
<div class="info-head"><span class="info-title">Forum finder</span><span class="info-hint">Tap your service</span></div>
<div id="forum-seg" class="seg"><button type="button" aria-pressed="false" data-f="central">Central Civil Service</button> <button type="button" aria-pressed="false" data-f="state">State Government service</button> <button type="button" aria-pressed="false" data-f="forces">Armed Forces</button></div>
<div id="forum-out" class="forum-out">
<p>Choose your service above and the forum, the enabling provision and the first thing to file will appear here.</p>
</div>
</div>
<figure class="article-img reveal"><img decoding="async" src="https://patraslawchambers.com/wp-content/uploads/2026/08/img-06-where-to-file.jpg" alt="Illustration of a golden compass with three needles labelled Central CAT, State High Court and Military AFT, captioned Where to file? Act within one year" />
<figcaption>Forum first, then speed. The wrong forum costs months; delay costs the case altogether — courts refuse to disturb long-settled seniority lists.</figcaption>
</figure>
<div id="laches-info" class="info reveal">
<div class="info-head"><span class="info-title">Delay and laches meter</span><span class="info-hint">Drag the slider</span></div>
<label class="compare-label" for="laches">Months since the final gradation list was published</label>
<div class="meter"><input id="laches" max="72" min="0" step="1" type="range" value="4" aria-describedby="laches-out" />
<div class="bar"> </div>
<div class="scale">0122436486072</div>
</div>
<div id="laches-out" class="readout">
<p><span id="laches-v" class="verdict">4 months · strong</span><span id="laches-t">Well within a defensible period. Move now, while the record and the officers affected are all traceable.</span></p>
</div>
<p class="reveal" style="margin-top: 14px; font-size: 14.5px;">Indicative only. There is no fixed statutory bar for every forum, but the cause of action arises when the final list adversely affecting your rank is published, or when you are passed over because of that ranking — and an unexplained lapse of years invites dismissal at the threshold.</p>
</div>
<figure class="article-img reveal"><img decoding="async" src="https://patraslawchambers.com/wp-content/uploads/2026/08/img-05-bypassing-statutory-remedy.jpg" alt="Illustration of a staircase beside an open trapdoor, captioned Bypassing statutory complaints to sue directly — tribunals reject premature cases" />
<figcaption>The trapdoor beside the staircase: filing before the statutory representation is decided is the commonest way a good seniority case is thrown out as premature.</figcaption>
</figure>
<p class="eyebrow reveal" style="margin-top: 38px;" data-type="">Where cases die</p>
<h3 class="reveal">Five avoidable mistakes</h3>
<div class="pitfall reveal"><span class="mk">01</span>
<p>Challenging a provisional or draft list without first filing objections — dismissed as premature.</p>
</div>
<div class="pitfall reveal"><span class="mk">02</span>
<p>Suing only the department and omitting the officers whose rank would fall — defective for non-joinder under <em>Prabodh Verma</em>.</p>
</div>
<div class="pitfall reveal"><span class="mk">03</span>
<p>Waiting until a promotion is actually denied, years after the final list — laches.</p>
</div>
<div class="pitfall reveal"><span class="mk">04</span>
<p>Pleading &#8220;breakdown of quota&#8221; on the strength of ordinary DPC delay, without showing years of massive deviation.</p>
</div>
<div class="pitfall reveal"><span class="mk">05</span>
<p>Relying on <em>N.R. Parmar</em> for a list finalised after 19 November 2019 — the authority no longer holds.</p>
</div>
</div>
</section>
<!-- 7. LEDGER -->
<section class="plc">
<div class="wrap">
<p class="eyebrow" data-type="">Controlling precedent</p>
<h2 data-type="">The judgments a seniority petition is argued on</h2>
<div class="ledger">
<div class="ledger-item reveal"><span class="stamp">OVERRULED</span>
<p class="case">Union of India v. N.R. Parmar</p>
<span class="cite">(2012) · Supreme Court of India</span>
<p class="holding">Direct recruits could carry seniority back to the recruitment year in which the vacancy arose. The resulting &#8220;paper seniority&#8221; placed later-joining recruits above promotees who had served throughout. No longer good law.</p>
</div>
<div class="ledger-item reveal"><span class="stamp">GOVERNING</span>
<p class="case">K. Meghachandra Singh v. Ningam Siro</p>
<span class="cite">(2020) · Three-Judge Bench · 19 November 2019</span>
<p class="holding">Overruled <em>Parmar</em>. Seniority runs from actual regular appointment or induction into the cadre; retrospective seniority is prohibited; the overruling operates prospectively, protecting lists finalised earlier.</p>
</div>
<div class="ledger-item reveal"><span class="stamp">CONSTITUTION BENCH</span>
<p class="case">Direct Recruit Class II Engineering Officers Association v. State of Maharashtra</p>
<span class="cite">(1990) · Constitution Bench</span>
<p class="holding">Rule A and Rule B: officiation after a rule-compliant appointment counts for seniority; ad-hoc, stop-gap or fortuitous service before regularisation does not.</p>
</div>
<div class="ledger-item reveal"><span class="stamp">QUOTA</span>
<p class="case">C.K. Antony v. B. Muraleedharan</p>
<span class="cite">Supreme Court of India · Kerala Forest Service</span>
<p class="holding">Emergency appointments beyond quota are fortuitous. Seniority accrues only from regular appointment against a substantive vacancy within the officer&#8217;s own quota.</p>
</div>
<div class="ledger-item reveal"><span class="stamp">TRANSFER</span>
<p class="case">K.P. Sudhakaran v. State of Kerala</p>
<span class="cite">(2006) · Supreme Court of India</span>
<p class="holding">A request transfer for personal convenience forfeits parent cadre seniority and places the officer at the bottom of the receiving cadre — subject to the public interest exception.</p>
</div>
<div class="ledger-item reveal"><span class="stamp">2025</span>
<p class="case">Geetha V.M. v. Rethnasenan K.</p>
<span class="cite">2025 INSC 33 · [2025] 1 S.C.R. 515</span>
<p class="holding">Absorption under a State reorganisation policy is not a voluntary request transfer; continuity of service and inter se seniority are preserved.</p>
</div>
<div class="ledger-item reveal"><span class="stamp">ROSTER</span>
<p class="case">R.K. Sabharwal v. State of Punjab</p>
<span class="cite">Supreme Court of India</span>
<p class="holding">Reservation is worked on post-based, not vacancy-based, rosters — percentages run against total cadre strength, preventing over-reservation.</p>
</div>
<div class="ledger-item reveal"><span class="stamp">PROCEDURE</span>
<p class="case">Prabodh Verma v. State of U.P. · J.S. Yadav v. State of U.P.</p>
<span class="cite">Supreme Court of India</span>
<p class="holding">Officers whose seniority would be lowered are necessary parties. Their absence renders the petition defective and offends natural justice.</p>
</div>
</div>
</div>
</section>
<!-- 8. REPRESENTATION -->
<section class="plc">
<div class="wrap">
<p class="eyebrow" data-type="">Representation</p>
<h2 data-type="">Bring us the list, the rules and the dates</h2>
<p class="reveal">A seniority dispute is won on documents: the recruitment rules, the advice and appointment dates, the DPC minutes, the earlier gradation lists and the objections filed. Patra&#8217;s Law Chambers appears in service matters before the Central Administrative Tribunal, the Armed Forces Tribunal, the Calcutta High Court and the Supreme Court of India, and drafts the statutory objections that keep the case alive before litigation begins.</p>
<div class="cta-row reveal"><a class="btn btn-primary" href="tel:+919831019997">Call the Chambers now</a></div>
<div class="firm-about-wrap reveal"><span class="mono-badge">PLC</span>
<p>Established by a distinguished alumnus of IIT Kharagpur, Patra&#8217;s Law Chambers stands as a beacon of legal expertise in Kolkata &amp; Delhi. <a href="https://patraslawchambers.com/about-us/">Know more →</a></p>
</div>
<div class="addr">
<div><b>Kolkata</b>
<p>Patra&#8217;s Law Chambers, Kolkata, West Bengal — High Court, City Civil &amp; Sessions Court, CAT, AFT and DRT matters.</p>
</div>
<div><b>Delhi</b>
<p>Patra&#8217;s Law Chambers, New Delhi — Supreme Court of India, Central Administrative Tribunal (Principal Bench) and Delhi High Court matters.</p>
</div>
</div>
</div>
</section>
<!-- 9. FAQ -->
<section class="plc">
<div class="wrap">
<p class="eyebrow" data-type="">Questions</p>
<h2 data-type="">Frequently asked</h2>
<div id="faq" class="faq"><button class="q" type="button" aria-expanded="false">Can my seniority be fixed from the year the vacancy arose, before I joined?</button>
<div class="a">
<p>No. After <em>K. Meghachandra Singh v. Ningam Siro</em>, seniority is reckoned from the date of actual regular appointment or induction into the cadre. Retrospective or &#8220;paper&#8221; seniority from the vacancy year or the date of advertisement is impermissible. Lists finalised under <em>N.R. Parmar</em> before 19 November 2019 were, however, protected from being reopened.</p>
</div>
<button class="q" type="button" aria-expanded="false">Does my ad-hoc or officiating service count towards seniority?</button>
<div class="a">
<p>Only if the initial appointment was made following the procedure prescribed by the recruitment rules — Rule A of <em>Direct Recruit Class II</em>. Purely ad-hoc, stop-gap or fortuitous service outside the quota is excluded, and seniority runs from the date of regular substantive appointment.</p>
</div>
<button class="q" type="button" aria-expanded="false">The department has not held a DPC for six years. Has the quota rule broken down?</button>
<div class="a">
<p>Not automatically. Mere delay, omission or failure to prepare select lists does not amount to breakdown. Breakdown is recognised only where enforcing the rota has become impossible because of massive, continuous and long-standing departures from the quota over many years, and it must be pleaded with figures for each recruitment year.</p>
</div>
<button class="q" type="button" aria-expanded="false">I took a transfer to my home district on request. Do I lose my seniority?</button>
<div class="a">
<p>Ordinarily yes. Under <em>K.P. Sudhakaran</em>, a transfer sought for personal convenience forfeits accrued seniority in the parent cadre and you join at the bottom of the target cadre. If, however, the move was ordered in public interest or was an absorption under a State reorganisation policy, <em>Geetha V.M.</em> protects your continuous service and original seniority.</p>
</div>
<button class="q" type="button" aria-expanded="false">Whom must I make a party to the petition?</button>
<div class="a">
<p>Every officer whose ranking would be lowered if you succeed, besides the department and the appointing authority. <em>Prabodh Verma</em> and <em>J.S. Yadav</em> require it; affected officers may be impleaded individually or through representative respondents under Order 1 Rule 8 CPC. Omitting them makes the petition defective for non-joinder.</p>
</div>
<button class="q" type="button" aria-expanded="false">Should I file against the draft list or wait for the final list?</button>
<div class="a">
<p>File written objections against the draft list within the time given in the circular, and litigate against the final list read with the speaking order rejecting your objections. A petition against a provisional list, without exhausting the objection stage, is usually dismissed as premature.</p>
</div>
<button class="q" type="button" aria-expanded="false">How late is too late?</button>
<div class="a">
<p>There is no single answer, but the cause of action arises on publication of the final list or on being passed over because of the wrong ranking. Courts decline to unsettle long-established seniority; an unexplained delay of several years commonly leads to dismissal on laches, so the safe course is to move within months, not years.</p>
</div>
<button class="q" type="button" aria-expanded="false">Which forum hears my seniority dispute?</button>
<div class="a">
<p>Central Civil Services employees file an Original Application before the Central Administrative Tribunal under Section 19 of the Administrative Tribunals Act, 1985. State employees approach the State Administrative Tribunal where one functions, or file a Writ Petition under Article 226 before the High Court. Armed forces personnel go to the Armed Forces Tribunal.</p>
</div>
</div>
</div>
</section>
<footer class="plc">
<div class="wrap">
<p class="credit">Creditor and contributor: © Patra&#8217;s Law Chambers © 2026</p>
<p>Patra&#8217;s Law Chambers is a litigation law firm in Kolkata and Delhi handling all kinds of Supreme Court and High Court matters, including civil, criminal, banking, service, taxation, import-export, property, and inheritance matters.</p>
</div>
</footer></div>
<p><script>
(function(){
var reduce = window.matchMedia('(prefers-reduced-motion: reduce)').matches;

/* ---------- ambient drift ---------- */
var amb = document.getElementById('amb');
if(amb){ if(!reduce){
  var blobs = amb.querySelectorAll('i');
  var target = 0, cur = 0;
  window.addEventListener('scroll', function(){ target = window.pageYOffset; }, {passive:true});
  (function loop(){
    cur += (target - cur) * 0.06;
    for(var i=0;i<blobs.length;i++){
      var d = (i%2===0? -1:1) * (0.10 + i*0.035);
      blobs[i].style.transform = 'translate3d('+(Math.sin(cur/700+i)*26)+'px,'+(cur*d)+'px,0)';
    }
    requestAnimationFrame(loop);
  })();
} }

/* ---------- typewriter ---------- */
function typeNode(el, done){
  var nodes = [], total = 0;
  (function walk(parent){
    Array.prototype.forEach.call(parent.childNodes, function(n){
      if(n.nodeType === 3){ nodes.push({t:n.nodeValue, p:parent}); total += n.nodeValue.length; }
      else if(n.nodeType === 1){ walk(n); }
    });
  })(el);
  var clone = el.cloneNode(true);
  el.setAttribute('data-typed','1');
  el.setAttribute('data-typed','1');
  /* rebuild: empty every text node, then fill char by char */
  var seq = [];
  (function build(src, dst){
    var s = src.childNodes, d = dst.childNodes;
    for(var i=0;i<s.length;i++){
      if(s[i].nodeType===3){
        var txt = s[i].nodeValue, holder = document.createElement('span');
        holder.style.color = 'inherit';
        d[i].parentNode.replaceChild(holder, d[i]);
        seq.push({holder:holder, txt:txt});
      } else if(s[i].nodeType===1){ build(s[i], d[i]); }
    }
  })(clone, el);
  var cursor = document.createElement('span');
  cursor.className = 'cursor';
  cursor.textContent = '\u00a0';
  el.appendChild(cursor);
  var si = 0, ci = 0;
  var speed = total > 90 ? 12 : 26;
  (function tick(){
    if(si >= seq.length){ if(done) done(); return; }
    var item = seq[si];
    var sp = document.createElement('span');
    sp.style.color = 'inherit';
    sp.textContent = item.txt.charAt(ci);
    item.holder.appendChild(sp);
    ci++;
    if(ci >= item.txt.length){ si++; ci = 0; }
    setTimeout(tick, speed);
  })();
}

var watched = [];
function activate(el){
  el.classList.add('in');
  if(el.getAttribute('data-typed') === '1') return;
  if(!(el.hasAttribute('data-type') || el.hasAttribute('data-type-hero'))) return;
  el.setAttribute('data-typed','1');
  if(reduce){ if(el.classList.contains('eyebrow')) el.classList.add('glowing'); return; }
  typeNode(el, function(){ if(el.classList.contains('eyebrow')) el.classList.add('glowing'); });
}
function sweep(){
  var vh = window.innerHeight || document.documentElement.clientHeight || 800;
  var pending = 0;
  for(var i=0;i<watched.length;i++){
    var el = watched[i];
    if(el.__done) continue;
    var r = el.getBoundingClientRect();
    if(r.height === 0){ if(r.top === 0){ pending++; continue; } }
    if(r.top < vh * 0.92){ el.__done = 1; activate(el); }
    else pending++;
  }
  return pending;
}
function initReveal(){
  watched = Array.prototype.slice.call(document.querySelectorAll('.reveal,[data-type],[data-type-hero],.donut'));
  sweep();
  window.addEventListener('scroll', sweep, {passive:true});
  window.addEventListener('resize', sweep);
  setInterval(sweep, 350);
  /* last resort: only if geometry never resolved at all */
  setTimeout(function(){
    var any = 0;
    for(var i=0;i<watched.length;i++){ if(watched[i].__done) any++; }
    if(any) return;
    for(var j=0;j<watched.length;j++){ watched[j].classList.add('in'); }
  }, 2500);
}
if(document.readyState === 'loading') document.addEventListener('DOMContentLoaded', initReveal);
else requestAnimationFrame(initReveal);
window.addEventListener('load', function(){ requestAnimationFrame(sweep); });

/* ---------- flip cards ---------- */
document.querySelectorAll('.flip').forEach(function(f){
  function toggle(){ var open = f.classList.toggle('open'); f.setAttribute('aria-pressed', open?'true':'false'); }
  f.addEventListener('click', toggle);
  f.addEventListener('keydown', function(ev){ if(ev.key==='Enter'||ev.key===' '){ ev.preventDefault(); toggle(); } });
});

/* ---------- donut legend ---------- */
var legend = document.getElementById('legend'), donut = document.getElementById('donut');
if(legend){
  legend.addEventListener('click', function(ev){
    var b = ev.target.closest('button'); if(!b) return;
    legend.querySelectorAll('button').forEach(function(x){ x.setAttribute('aria-pressed', x===b?'true':'false'); });
    document.getElementById('d-val').textContent = b.dataset.v + '%';
    document.getElementById('d-key').textContent = b.dataset.k;
    var c = b.dataset.c;
    donut.style.setProperty('--c1', c==='1' ? '#E9B32E' : '#6B5A24');
    donut.style.setProperty('--c2', c==='2' ? '#E9B32E' : '#6B5A24');
    donut.style.setProperty('--c3', c==='3' ? '#E9B32E' : '#3A3018');
  });
}

/* ---------- roster simulator ---------- */
var roster = document.getElementById('roster');
var rotaModes = {
  intact: {
    pattern: function(i){ return (i%4===0||i%4===1||i%4===2) ? 'DR' : 'PR'; },
    v: 'Rota operative',
    t: 'Seniority is fixed strictly by the rotational roster: direct recruit and promotee slots fall in the prescribed cycle, whatever the order of joining.'
  },
  delay: {
    pattern: function(i){ if(i%4===3) return 'PR'; if(i>13){ if(i%3===0) return 'PR'; } return 'DR'; },
    v: 'Still no breakdown',
    t: 'Sporadic delay in selection, or a few stop-gap promotions to meet exigencies, does not collapse the quota — M.S.L. Patil, C. Jayachandran and Harish Chander Bhatia.'
  },
  breakdown: {
    pattern: function(i){ return i < 15 ? 'PR' : 'DR'; },
    v: 'Breakdown arguable',
    t: 'Years of massive, continuous deviation — here promotees filling almost the whole cadre — can make rota unworkable. Seniority is then recalculated on continuous regularised officiation.'
  }
};
function drawRoster(mode){
  var m = rotaModes[mode];
  roster.innerHTML = '';
  for(var i=0;i<20;i++){
    var kind = m.pattern(i);
    var d = document.createElement('div');
    d.className = 'slot ' + (kind==='DR'?'dr':'pr');
    d.innerHTML = '<b>Slot '+(i+1)+'</b>'+kind;
    d.style.transform = 'translateY(-14px)';
    d.style.opacity = '0';
    roster.appendChild(d);
    (function(el,i){ setTimeout(function(){ el.style.transform='none'; el.style.opacity='1'; }, reduce?0:i*26); })(d,i);
  }
  document.getElementById('rota-verdict').textContent = m.v;
  document.getElementById('rota-text').textContent = m.t;
}
var rotaSeg = document.getElementById('rota-seg');
if(rotaSeg){
  drawRoster('intact');
  rotaSeg.addEventListener('click', function(ev){
    var b = ev.target.closest('button'); if(!b) return;
    rotaSeg.querySelectorAll('button').forEach(function(x){ x.setAttribute('aria-pressed', x===b?'true':'false'); });
    drawRoster(b.dataset.m);
  });
}

/* ---------- seniority ladder with FLIP ---------- */
var officers = [
  {n:'Ms A. Sen', k:'PR', joined:'Regularised 2015', vac:'2017 vacancy year'},
  {n:'Mr B. Rao',  k:'PR', joined:'Regularised 2016', vac:'2017 vacancy year'},
  {n:'Mr C. Iyer', k:'DR', joined:'Joined 2018', vac:'2016 vacancy year'},
  {n:'Ms D. Khan', k:'DR', joined:'Joined 2019', vac:'2016 vacancy year'},
  {n:'Mr E. Bose', k:'PR', joined:'Regularised 2017', vac:'2018 vacancy year'},
  {n:'Ms F. Nair', k:'DR', joined:'Joined 2020', vac:'2018 vacancy year'}
];
var orders = { parmar:[2,3,0,1,5,4], megha:[0,1,4,2,3,5] };
var ladder = document.getElementById('ladder');
function drawLadder(mode, animate){
  var prev = {};
  if(animate){ ladder.querySelectorAll('.rung').forEach(function(r){ prev[r.dataset.id] = r.getBoundingClientRect().top; }); }
  var order = orders[mode];
  ladder.innerHTML = '';
  order.forEach(function(idx, pos){
    var o = officers[idx];
    var r = document.createElement('div');
    r.className = 'rung ' + (o.k==='DR'?'tag-dr':'tag-pr');
    r.dataset.id = idx;
    r.innerHTML = '<span class="rank">'+(pos+1)+'</span><span class="who">'+o.n+' · '+(o.k==='DR'?'Direct recruit':'Promotee')+
      '<span class="meta">'+(mode==='parmar'? o.vac+' · '+o.joined : o.joined)+'</span></span>';
    ladder.appendChild(r);
  });
  if(animate){ if(!reduce){
    ladder.querySelectorAll('.rung').forEach(function(r){
      var was = prev[r.dataset.id];
      if(was === undefined) return;
      var now = r.getBoundingClientRect().top;
      var dy = was - now;
      if(!dy) return;
      r.style.transition = 'none';
      r.style.transform = 'translateY('+dy+'px)';
      r.classList.add('moved');
      requestAnimationFrame(function(){
        r.style.transition = '';
        r.style.transform = 'none';
        setTimeout(function(){ r.classList.remove('moved'); }, 900);
      });
    });
  } }
}
var senSeg = document.getElementById('sen-seg');
if(senSeg){
  drawLadder('parmar', false);
  senSeg.addEventListener('click', function(ev){
    var b = ev.target.closest('button'); if(!b) return;
    senSeg.querySelectorAll('button').forEach(function(x){ x.setAttribute('aria-pressed', x===b?'true':'false'); });
    drawLadder(b.dataset.m, true);
    var megha = b.dataset.m === 'megha';
    document.getElementById('sen-verdict').textContent = megha ? 'Under K. Meghachandra Singh' : 'Under N.R. Parmar';
    document.getElementById('sen-text').textContent = megha
      ? 'Seniority follows actual induction, so promotees regularised in 2015 and 2016 rise above direct recruits who joined in 2018 and 2019.'
      : 'Direct recruits carry seniority back to the vacancy year, so officers who joined in 2018 and 2019 sit above promotees who were already serving.';
  });
}

/* ---------- timeline ---------- */
var tlData = [
  {h:'Union of India v. N.R. Parmar (2012)', p:'Direct recruits were allowed to carry seniority back to the recruitment year in which the vacancies arose, or when the process was initiated, irrespective of when they were actually selected and joined. Officers appointed years later were placed above promotees who had been regularised and were serving in the interim — "paper seniority" before entry into service.'},
  {h:'K. Meghachandra Singh v. Ningam Siro — 19 November 2019', p:'A Three-Judge Bench overruled Parmar. A government servant cannot claim seniority from a date before actual entry into the cadre; inter se seniority is reckoned from actual regular appointment. To avoid unsettling cadres, the overruling operates prospectively, protecting seniority lists finalised before 19 November 2019.'},
  {h:'DoPT Office Memorandum dated 13 August 2021', p:'OM No. 20011/2/2019-Estt.(D) withdrew the 2014 Parmar-based guidelines. Relative seniority between direct recruits and promotees now follows actual dates of appointment or promotion, with the rotational quota applied only among candidates appointed in the same recruitment year.'},
  {h:'Transitional litigation, 2022 onwards', p:'Paragraph 7(iii) of the 2021 OM, dealing with cases falling between Parmar and Meghachandra, was challenged before tribunals and High Courts. In Ashwani Kumar Anand v. Union of India (O.A. 991/2022, affirmed by the High Court of Bombay), lists antedating direct recruit seniority under transitional clauses were quashed as contrary to Meghachandra and Article 14.'}
];
var tl = document.getElementById('tl'), tlPanel = document.getElementById('tl-panel');
function setTl(i){
  tlPanel.innerHTML = '<h4>'+tlData[i].h+'</h4><p>'+tlData[i].p+'</p>';
  tlPanel.style.opacity = '0';
  tlPanel.style.transform = 'translateY(10px)';
  requestAnimationFrame(function(){
    tlPanel.style.transition = 'opacity .45s ease, transform .45s ease';
    tlPanel.style.opacity = '1'; tlPanel.style.transform = 'none';
  });
}
if(tl){
  setTl(0);
  tl.addEventListener('click', function(ev){
    var b = ev.target.closest('.tl-node'); if(!b) return;
    tl.querySelectorAll('.tl-node').forEach(function(x){ x.setAttribute('aria-pressed', x===b?'true':'false'); });
    setTl(+b.dataset.i);
  });
}

/* ---------- transfer decision tree ---------- */
var treeOut = document.getElementById('tree-out');
var treeData = {
  req:{v:'Seniority forfeited', t:'K.P. Sudhakaran v. State of Kerala: a transfer sought for personal convenience forfeits accrued seniority in the parent cadre. You are placed at the bottom of the target cadre on the date of joining, so officers already there are not displaced.'},
  pub:{v:'Seniority preserved', t:'Where the State moved you in public interest, or you exercised an option under a departmental reorganisation policy, continuity of service is carried forward. Geetha V.M. (2025) holds that policy absorption is not a request transfer, and inter se seniority is protected on original appointment and advice dates.'}
};
function setTree(k){
  treeOut.innerHTML = '<p><span class="verdict">'+treeData[k].v+'</span>'+treeData[k].t+'</p>';
}
var treeInfo = document.getElementById('tree-info');
if(treeInfo){
  setTree('req');
  treeInfo.addEventListener('click', function(ev){
    var b = ev.target.closest('.branch'); if(!b) return;
    treeInfo.querySelectorAll('.branch').forEach(function(x){ x.setAttribute('aria-pressed', x===b?'true':'false'); });
    setTree(b.dataset.b);
  });
}

/* ---------- forum finder ---------- */
var forumData = {
  central:{n:'Central Administrative Tribunal', p:'Central Civil Services employees file an Original Application under Section 19 of the Administrative Tribunals Act, 1985, before the CAT bench having jurisdiction. File the statutory representation against the draft list first, then the O.A. against the final list read with the order rejecting objections.'},
  state:{n:'State Administrative Tribunal or High Court', p:'State civil servants approach the State Administrative Tribunal where one functions; otherwise a Writ Petition under Article 226 of the Constitution before the High Court exercising jurisdiction over the appointing authority. Implead the officers whose ranking would fall.'},
  forces:{n:'Armed Forces Tribunal', p:'Service and seniority grievances of armed forces personnel go to the Armed Forces Tribunal under the AFT Act, 2007 — but only after the statutory complaint or redressal channel has been exhausted; a premature application is dismissed.'}
};
var forumSeg = document.getElementById('forum-seg'), forumOut = document.getElementById('forum-out');
if(forumSeg){
  forumSeg.addEventListener('click', function(ev){
    var b = ev.target.closest('button'); if(!b) return;
    forumSeg.querySelectorAll('button').forEach(function(x){ x.setAttribute('aria-pressed', x===b?'true':'false'); });
    var d = forumData[b.dataset.f];
    forumOut.innerHTML = '<span class="f-name">'+d.n+'</span><p>'+d.p+'</p>';
    forumOut.style.opacity='0';
    requestAnimationFrame(function(){ forumOut.style.transition='opacity .4s ease'; forumOut.style.opacity='1'; });
  });
}

/* ---------- laches meter ---------- */
var la = document.getElementById('laches');
if(la){
  var bar = document.getElementById('laches-bar'), lv = document.getElementById('laches-v'), lt = document.getElementById('laches-t');
  function upd(){
    var m = +la.value;
    bar.style.width = Math.max(3, (m/72)*100) + '%';
    var band, txt, col;
    if(m <= 6){ band='strong'; col='#C9971F'; txt='Well within a defensible period. Move now, while the record and the officers affected are all traceable.'; }
    else if(m <= 18){ band='defensible'; col='#C9971F'; txt='Still arguable, but the petition should explain every month of the gap — representations pending, replies awaited, the promotion order that triggered the grievance.'; }
    else if(m <= 36){ band='laches risk'; col='#B4711E'; txt='Serious laches risk. Expect the delay to be argued as the first objection, and be ready with a continuing cause of action — a fresh final list or a supersession order.'; }
    else { band='likely barred'; col='#9C3B1B'; txt='Courts consistently refuse to unsettle long-established seniority lists. Without a fresh, documented cause of action, dismissal at the threshold is likely.'; }
    bar.style.background = col;
    lv.textContent = m + (m===1?' month · ':' months · ') + band;
    lt.textContent = txt;
  }
  la.addEventListener('input', upd); upd();
}

/* ---------- faq ---------- */
var faq = document.getElementById('faq');
if(faq){
  faq.addEventListener('click', function(ev){
    var q = ev.target.closest('.q'); if(!q) return;
    var a = q.nextElementSibling, open = q.getAttribute('aria-expanded') === 'true';
    faq.querySelectorAll('.q').forEach(function(x){ x.setAttribute('aria-expanded','false'); x.nextElementSibling.style.maxHeight = '0px'; });
    if(!open){ q.setAttribute('aria-expanded','true'); a.style.maxHeight = a.scrollHeight + 'px'; }
  });
}
})();
</script></p>

<p>&nbsp;</p><p>The post <a href="https://patraslawchambers.com/government-service-seniority-disputes-law/">Gradation List & Seniority Disputes in Govt Service</a> first appeared on <a href="https://patraslawchambers.com">Patras Law Chamber</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://patraslawchambers.com/government-service-seniority-disputes-law/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
