Skip to main content

🔒 Entity Level Direct Restriction Template

User Level Direct Restriction Feature is used by Admin users to restrict transactions (Restrict Fresh Buy, Restrict Fresh Sell, Only Square Allowed, Square off and Rollover Allowed) on users directly (individual clients) for a period based on various conditions.

📝 Record Creation

User/Entity Selection

System should have two dropdown options to select the users and entities.

Control Name 📋Control Type ⚙️Business Logic 📝
Entity IDEntry field + Drop down listShould display the list of entity users available in the system

Rule Combination Selections

System should have following drop-down options to set transaction restriction rule:

Control Name 📋Control Type ⚙️Business Logic 📝
Market SegmentDrop Down- Should display the list of Market Segment available in the system based on the license
- If license is updated with New Segment, same should display here in the Dropdown list
- "All Equity" option should be available in the dropdown list – "All Equity" refers to clubbing of All Equity Market Segment available in the system
- "All FNO" option should be available in the dropdown list – "All FNO" refers to clubbing of All Derivative Market Segment available in the system
- "All CDS" option should be available in the dropdown list – "All CDS" refers to clubbing of All Currency Market Segments available in the system
- "MCX, NCDEX, NSE COMM" should be available in the dropdown list
- Base exchange should also be available in the dropdown list
Instrument TypeDrop DownInstrument name drop down shall be enabled only in case of Derivative Segment i.e., Segment Type as FNO, CURR, COMM.

Values will be:
- FUTURE
- OPTION
Product TypeDrop Down- Should display the list of Product types available in the system as applicable for selected market segment id
- Along with ALL Option
SymbolDropdown- System should populate the list of symbols available for the respective segment and Instrument type selected
- On entering the Keyword of the symbol name, system should fetch and populate the list of Scrips/Contracts available for the segment selected in "Market Segment" dropdown
- (i.e.: if Market Segment is selected as "NSE Equity" and on search of 'AC' – system should populate "ACC" and for derivative segment is market segment "NSE Derivative" and on search of "APO" - System should populate "APOLLOHOSP", "APOLLOTYRE")
- For Derivative, Currency and commodity like segments, future and option contracts should get loaded at the same time
SeriesDrop-Down- This field should get enabled only for equity like segments i.e.: when Market Segment is selected as "All Equity, NSE Equity, BSE Equity and MSE Equity"
- Should allow to add the rule when the series entered in this field is available in the system

Contract Details

Control Name 📋Control Type ⚙️Business Logic 📝
Contract TypeDrop-Down- This field should get enabled for derivative, currency, commodity like segments selected in the "Market Segment" drop-down
- Drop-down list should contain the items like "Weekly" and "Monthly"
Expiry DateEntry for Date in DD/MM/YYYY format and Calendar Selection- This field should get enabled for derivative, currency, commodity like segments selected in the "Market Segment" drop-down
- Drop-down should display the list of Expiry Dates available in the system for the selected contract along with expiry date type like Current, Current + 1, ..., Current + 11
- "ALL" option should be available in the List. "ALL" refers to Clubbing of All Expiry Date available for the contract
- This field should be mandatory if Future or Option contract is selected in the scrip combination
Strike PriceDrop-down- This field should get enabled for derivative, currency, commodity like segments selected in the "Market Segment" drop-down
- Drop-down list should display the list of strike price available for the contract loaded in "Symbol" and "Expiry Date" field
- "ALL" option should be available in the List. "ALL" refers to Clubbing of All Strike Price available for the contract
- By default, ALL option should be selected
- This field should be mandatory only if Option contract is selected in the scrip combination
Option TypeDrop-down- This field should get enabled for derivative, currency, commodity like segments selected in the "Market Segment" drop-down
- Drop-down list should display the list of Option type available in the system (i.e.: CE and PE) for the contract loaded in "Symbol" and "Expiry Date" field
- "BOTH" option should be available in the List. "BOTH" refers to Clubbing of (CE and PE) combination for the selected contract
- By default, CE should be selected
- This field should be mandatory only if Option contract is selected in the scrip combination

Restriction Configuration

Control Name 📋Control Type ⚙️Business Logic 📝
Restriction TypeMulti Selection Checkbox- By default, this field should be blank
- Should display the restriction type
- Multi Selection Checkbox Option should be provided against each items of Restriction Type
- By default, Check box option should be Unchecked
- This field should be mandatory
Restriction TillEntry for Date in DD/MM/YYYY format and Calendar Selection- By default, this field should be blank
- This field should not be mandatory
- Calendar view should be displayed to select the date
- Past Dates should be in disable mode in calendar view
- Past Dates should not be allowed to enter
RemarksEntry field- Maximum 50 characters will be allowed to enter
- Allow to enter Remarks with Character, numeric and special characters
AddButton- On Click of Add button, Selected options in the dropdown list like (Market Segment, Instrument name, Product Type, Symbol, Series, Contract Type, Expiry Date, Strike Price, Option Type) should be added to the Restriction type grid view
- On Click of "Add", If Same combination record is already available in the system for the template, then system should display a toaster message as "Record combination already exist"

📊 Restriction Type Grid View

Restriction type grid view should display the list of rules added for the user.

Grid Columns

Column Header 📋
MarketSegment
Instrument
ProductType
Symbol
Series
ContractType
ExpiryDate
StrikePrice
OptionType
Restriction Type
Restriction Till Date
Delete

Grid Features

  • System should display the records in restriction type grid view in the order of records added into the template
  • Sorting option should be available for each column. On click of Column header name, system should sort the record in ascending/descending order
  • On double click of rule in the grid view, respective combination option should be displayed in the respective fields to modify the rule
  • System should display the list of rules available for the template in the Scrip restriction grid view while selecting the Template Name in the Product Template dropdown list
  • Selected restriction to be shown in column by comma or pipe separated

✅ Validation

Once a scrip is identified against user in user level direct restriction configuration, then system shall validate restriction type and restriction date.

System shall check only active validation i.e., restriction date is greater than or equal to current date.

Based on the Validation Type, System shall either PASS or FAIL the order for this rule.

Restriction Types

Restriction Type 🔒Business Logic 📝
Fresh BuyIn case such variable is selected then system shall not allow to place fresh buy order. This variable shall be checked for Buy Transactions
Fresh SellIn case such variable is selected then system shall not allow to place fresh sell order. This variable shall be checked for Sell Transactions
Buy Intraday Position Square offIn case such variable is selected then system shall not allow to place Sell order against intraday buy position. This Variable shall be checked for Sell Transaction
Sell Intraday Position Square offIn case such variable is selected then system shall not allow to place Buy order against intraday sell position. This Variable shall be checked for Buy Transaction
Buy Uploaded Position Square offIn case such variable is selected then system shall not allow to place Sell order against uploaded buy position. This Variable shall be checked for Sell Transaction
Sell Uploaded Position Square offIn case such variable is selected then system shall not allow to place Buy order against uploaded sell position. This Variable shall be checked for Buy Transaction. This is not applicable for CASH, OFS, MF SEGMENT
RolloverThis variable shall be checked for buy as well as sell transaction and applicable only for derivative segments. In case such variable is selected, this is applicable only for Derivative Segments (FNO, CURR & COMM). Rollover shall be checked when Fresh Buy or Fresh Sell or Both is selected
DMA BuyThis variable shall be checked for Buy Order of IOB Transaction
DMA SellThis variable shall be checked for Sell Order of IOB Transaction

🎯 RRT Rule

As per this rule configuration, system should allow/disallow the User to place fresh order or to place only square off order based on the restriction type mentioned against scrip.

Rule Variables

Variable Name 📋Variable Type ⚙️Variable Value 📝Default 🔧
Restrict Order based on User Level Direct RestrictionCheck-BoxEnable / DisableDisable

✅ Validations for Adding Restriction Rules

  1. System should intimate the user with popup message on click of "ADD" button while adding the same combination of record which is already added for the user and the Message string should be like "Records with the same combination already exist"
  2. System should allow to add the rules with a combination of (Segment, Instrument, Product wise) and (Segment, Scrip/Series, Product wise) separately
  3. System should allow to add the restriction rules for Weekly and Monthly Contract type separately
  4. System should allow to modify the "Restriction Type" and "Restriction Till" date
  5. Minimum one restriction rule type should be selected to add the record
  6. System should allow to add same combination rules for derivative segment with exact expiry date

📐 Usage Examples

Example Scenario

USER is having following positions:

  • Intraday buy 10 qty in scrip ACC
  • Buy Uploaded 5 qty in scrip ACC
  • Intraday sell 10 qty in scrip DABUR
  • Sell uploaded 5 qty in scrip DABUR

Scrip ACC and DABUR are restricted for this USER. In different variable type combinations, following will be the impact.

Scenario 1: Fresh Buy & Fresh Sell Only

Restriction Configuration:

Fresh BuyFresh SellBuy Intraday SqOffSell Intraday SqOffBuy Uploaded SQOFFSell Uploaded SQOFF
✅ CHECK✅ CHECK❌ UNCHECK❌ UNCHECK❌ UNCHECK❌ UNCHECK

Order Outcomes:

  • Order place to buy 10 qty ACC will REJECT against fresh buy check
  • Order place to sell 10 qty ACC will ALLOW (Buy intraday sq off is uncheck)
  • Order place to sell 15 qty ACC will ALLOW (Buy intraday sq off and buy upload sq off is uncheck)
  • Order place to sell 20 qty ACC will REJECT against fresh sell check
  • Order place to sell 10 DABUR will REJECT against fresh sell check
  • Order place to buy 10 qty DABUR will ALLOW (Sell intraday sq off is uncheck)
  • Order place to buy 15 qty DABUR will ALLOW (Sell intraday sq off and Sell upload sq off is uncheck)
  • Order place to Buy 25 qty DABUR will REJECT against fresh buy check

Scenario 2: All Intraday Restrictions Enabled

Restriction Configuration:

Fresh BuyFresh SellBuy Intraday SqOffSell Intraday SqOffBuy Uploaded SQOFFSell Uploaded SQOFF
✅ CHECK✅ CHECK✅ CHECK✅ CHECK❌ UNCHECK❌ UNCHECK

Order Outcomes:

  • Order place to buy 10 qty ACC will REJECT against fresh buy check
  • Order place to sell 10 DABUR will REJECT against fresh sell check
  • Order place to sell 10 qty ACC will REJECT against Buy intraday sq off check
  • Order place to sell 5 qty ACC will ALLOW (Buy uploaded sq off is uncheck)
  • Order place to sell 15 qty ACC will REJECT against buy intraday sq off check
  • Order place to sell 10 DABUR will REJECT against fresh sell check
  • Order place to buy 10 DABUR will REJECT against sell intraday sq off check
  • Order place to buy 5 DABUR will ALLOW (Sell upload sq off is uncheck)
  • Order place to buy 15 DABUR will REJECT against Sell intraday sq off check