Bombay Stock Exchange’s NTA
Enhanced Trading Interface
Manual
Bombay Stock Exchange’s Release 1.1
Version V1.5.3
Date 13. März 2015
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
Strictly for private circulation only. This document must not be circulated to other users without prior permission of BSE.
1
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
Contents
1 List of Abbreviations 6
2 Introduction 7
2.1 Purpose . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.2 Readership . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3 Technical Overview 8
3.1 Message Based . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
3.2 Low Footprint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
3.3 Standard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
3.4 Session Oriented . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
3.5 Subscription Mechanism . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3.6 Full Control in Case of a Failover . . . . . . . . . . . . . . . . . . . . . . . . 9
3.7 Architecture Throttle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
4 Service Description 10
4.1 FIX Semantics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
4.2 Party Identification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
4.3 Security Identification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
4.4 Order Identifiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
4.4.1 Client Order ID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
4.4.2 Exchange Order ID . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
4.5 Order Handling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
4.5.1 Order Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
4.5.2 Order Quantity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
4.5.3 Cancellation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
4.5.4 Modification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
4.5.5 MaxShow quantity modification . . . . . . . . . . . . . . . . . . . . . 17
4.5.6 Total Order Quantity Modification . . . . . . . . . . . . . . . . . . . 17
4.5.7 Order Mass Cancellation . . . . . . . . . . . . . . . . . . . . . . . . . 17
4.5.8 Text Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
4.5.9 Short Order Message Layouts . . . . . . . . . . . . . . . . . . . . . . 18
4.5.10 Location ID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
4.5.11 Order Status and Execution Reports . . . . . . . . . . . . . . . . . . 20
4.5.12 Order Book Restatement . . . . . . . . . . . . . . . . . . . . . . . . 29
4.6 Trade Notifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
4.6.1 Trade Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
4.6.2 Trade Reconciliation . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
4.7 Listener Broadcast . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
4.8 News . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
4.9 Risk Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
4.10 Service Availability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
4.11 Mass Cancellation Notification and Mass Cancellation Events . . . . . . . . . 34
4.12 Trading Session Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
4.13 Timestamps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
5 Connectivity and Session Parameters 36
2
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
5.1 Session Concept . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
5.1.1 Low Frequency Session (LF) . . . . . . . . . . . . . . . . . . . . . . . 37
5.1.2 High Frequency Session (HF) . . . . . . . . . . . . . . . . . . . . . . 37
5.2 Identification and Authentication . . . . . . . . . . . . . . . . . . . . . . . . 37
5.2.1 IP Addresses and Ports . . . . . . . . . . . . . . . . . . . . . . . . . 38
5.2.2 Session Authentication . . . . . . . . . . . . . . . . . . . . . . . . . . 38
5.2.3 User Authentication . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
5.3 Failover . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
5.3.1 Network Failover . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
5.3.2 Application Failover . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
5.4 Throughput Limits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
5.4.1 Transaction Limit . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
5.4.2 Reject/Disconnect Limit . . . . . . . . . . . . . . . . . . . . . . . . . 42
5.5 Mass Cancellation on Disconnect . . . . . . . . . . . . . . . . . . . . . . . . 42
6 Session Layer 42
6.1 Flat Binary Encoding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
6.2 Logon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
6.3 Logout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
6.4 Heartbeat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
6.5 Reject . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
6.6 Message Sequence Number . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
6.7 Application Message Sequencing . . . . . . . . . . . . . . . . . . . . . . . . . 45
6.7.1 Application Message Identifier . . . . . . . . . . . . . . . . . . . . . . 45
6.7.2 Application Message Sequence Number . . . . . . . . . . . . . . . . . 45
6.8 Session Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
6.9 Broadcast . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
6.10 Recovery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
6.10.1 Retransmission . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
6.10.2 Best Practices for Order Handling . . . . . . . . . . . . . . . . . . . . 49
6.11 Order Handling for RRM mode . . . . . . . . . . . . . . . . . . . . . . . . . 50
6.12 Order Handling for Provisional orders . . . . . . . . . . . . . . . . . . . . . . 50
7 Message Formats 51
7.1 Message Fragmentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
7.2 Data Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
7.3 Error Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
7.4 Overview of Supported Message Types . . . . . . . . . . . . . . . . . . . . . 53
7.4.1 Other . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
7.4.2 Session Layer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
7.4.3 Order Handling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
7.5 Other . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
7.5.1 Risk Collateral Alert Admin . . . . . . . . . . . . . . . . . . . . . . . 57
7.5.2 Risk Collateral Alert Trader . . . . . . . . . . . . . . . . . . . . . . . 60
7.5.3 Trade Notification . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
7.5.4 Trade Notification Status . . . . . . . . . . . . . . . . . . . . . . . . 69
7.5.5 Service Availability . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
7.5.6 News . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
7.5.7 Entitlement Notification . . . . . . . . . . . . . . . . . . . . . . . . . 75
3
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
7.5.8 Risk Notification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
7.5.9 Trading Session Event . . . . . . . . . . . . . . . . . . . . . . . . . . 80
7.5.10 Mass Cancellation Event . . . . . . . . . . . . . . . . . . . . . . . . . 82
7.5.11 Gap Fill . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
7.6 Session Layer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
7.6.1 Connection Gateway Request . . . . . . . . . . . . . . . . . . . . . . 86
7.6.2 Session List Inquire Response . . . . . . . . . . . . . . . . . . . . . . 87
7.6.3 Session Password Change . . . . . . . . . . . . . . . . . . . . . . . . 88
7.6.4 Session Password Change Response . . . . . . . . . . . . . . . . . . . 89
7.6.5 User Password Change . . . . . . . . . . . . . . . . . . . . . . . . . . 90
7.6.6 User Password Change Response . . . . . . . . . . . . . . . . . . . . 91
7.6.7 Connection Gateway Response . . . . . . . . . . . . . . . . . . . . . . 92
7.6.8 Session Logon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
7.6.9 Session Logon Response . . . . . . . . . . . . . . . . . . . . . . . . . 97
7.6.10 Session Logout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
7.6.11 Session Logout Response . . . . . . . . . . . . . . . . . . . . . . . . 100
7.6.12 Session Logout Notification . . . . . . . . . . . . . . . . . . . . . . . 101
7.6.13 Heartbeat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
7.6.14 Heartbeat Notification . . . . . . . . . . . . . . . . . . . . . . . . . . 103
7.6.15 Legal Notification . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
7.6.16 User Logon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
7.6.17 User Logon Response . . . . . . . . . . . . . . . . . . . . . . . . . . 107
7.6.18 User Logout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
7.6.19 User Logout Response . . . . . . . . . . . . . . . . . . . . . . . . . . 109
7.6.20 Throttle Update Notification . . . . . . . . . . . . . . . . . . . . . . 110
7.6.21 Subscribe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
7.6.22 Subscribe Response . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
7.6.23 Unsubscribe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
7.6.24 Unsubscribe Response . . . . . . . . . . . . . . . . . . . . . . . . . . 115
7.6.25 Retransmit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
7.6.26 Retransmit Response . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
7.6.27 Retransmit (Order/Quote Event) . . . . . . . . . . . . . . . . . . . . 120
7.6.28 Retransmit Response (Order/Quote Event) . . . . . . . . . . . . . . . 122
7.6.29 Reject . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
7.6.30 Session List Inquire . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
7.7 Order Handling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
7.7.1 Order Mass Cancellation Notification . . . . . . . . . . . . . . . . . . 127
7.7.2 Order Mass Cancellation Response No Hits . . . . . . . . . . . . . . . 129
7.7.3 Order Mass Cancellation Request . . . . . . . . . . . . . . . . . . . . 130
7.7.4 Delete All Order . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
7.7.5 Delete All Order Complex . . . . . . . . . . . . . . . . . . . . . . . . 130
7.7.6 Order Mass Cancellation Response . . . . . . . . . . . . . . . . . . . 132
7.7.7 New Order Single . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
7.7.8 Extended Order Information . . . . . . . . . . . . . . . . . . . . . . . 138
7.7.9 New Order Single (short layout) . . . . . . . . . . . . . . . . . . . . . 147
7.7.10 New Order Multi Leg . . . . . . . . . . . . . . . . . . . . . . . . . . 150
7.7.11 New Order Response (Standard Order) . . . . . . . . . . . . . . . . . 154
7.7.12 New Order Response (Lean Order) . . . . . . . . . . . . . . . . . . . 157
4
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
7.7.13 Immediate Execution Response . . . . . . . . . . . . . . . . . . . . . 159
7.7.14 Book Order Execution . . . . . . . . . . . . . . . . . . . . . . . . . . 163
7.7.15 Replace Order Single . . . . . . . . . . . . . . . . . . . . . . . . . . . 168
7.7.16 Replace Order Single (short layout) . . . . . . . . . . . . . . . . . . . 173
7.7.17 Replace Order Multi Leg . . . . . . . . . . . . . . . . . . . . . . . . . 176
7.7.18 Replace Order Response (Standard Order) . . . . . . . . . . . . . . . 181
7.7.19 Replace Order Response (Lean Order) . . . . . . . . . . . . . . . . . 184
7.7.20 Cancel Order Single . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
7.7.21 Cancel Order Multi Leg . . . . . . . . . . . . . . . . . . . . . . . . . 189
7.7.22 Cancel Order Response (Standard Order) . . . . . . . . . . . . . . . . 191
7.7.23 Cancel Order Response (Lean Order) . . . . . . . . . . . . . . . . . . 193
7.7.24 Cancel Order Notification . . . . . . . . . . . . . . . . . . . . . . . . 195
8 Appendix 198
8.1 Message Flows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
8.1.1 Enter Order . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
8.2 Trade Reconciliation and Identifiers . . . . . . . . . . . . . . . . . . . . . . . 199
8.3 Reconciliation of Timestamps in BSE ETI and BSE EMDI . . . . . . . . . . . 201
8.4 Variable Arrays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
8.5 Uniqueness of Identifiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204
8.6 XML Interface Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205
9 Change Log 206
9.1 Major Changes compared to the version 1.0: . . . . . . . . . . . . . . . . . . 206
9.2 Major Changes compared to the version 1.2 . . . . . . . . . . . . . . . . . . . 206
9.3 Major Changes compared to the version 1.3 . . . . . . . . . . . . . . . . . . . 206
9.4 Major Changes compared to the version 1.4 . . . . . . . . . . . . . . . . . . . 206
9.5 Major Changes compared to the version 1.4.2 . . . . . . . . . . . . . . . . . . 207
9.6 Major Changes compared to the version 1.4.3 . . . . . . . . . . . . . . . . . . 207
9.7 Major Changes compared to the version 1.4.4 . . . . . . . . . . . . . . . . . . 208
9.8 Major Changes compared to the version 1.4.5 . . . . . . . . . . . . . . . . . . 209
9.9 Major Changes compared to the version 1.4.6 . . . . . . . . . . . . . . . . . . 209
9.10 Major Changes compared to the version 1.4.7 . . . . . . . . . . . . . . . . . . 210
9.11 Major Changes compared to the version 1.5 . . . . . . . . . . . . . . . . . . . 213
9.12 Major Changes compared to the version 1.5.1 . . . . . . . . . . . . . . . . . . 213
9.13 Major Changes compared to the version 1.5.2 . . . . . . . . . . . . . . . . . . 213
5
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
1 List of Abbreviations
Please find a list of all the abbreviations used in the document. The first time an abbreviation
is introduced in the document it is written in brackets after the phrase.
BSE ETI BSE Enhanced Trading Interface
MDI BSE Market Data Interface
EMDI BSE Enhanced Market Data Interface
VALUES API Virtual Access Link Using Exchange Services
Application Programming Interface
UDF User-defined field that is not part of the official FIX
Specification
IOC Immediate or Cancel Order
RRM Risk Reducing Mode
HOVC High Order Value Check
ZT Terminal Zero Terminal
HF High Frequency Session
LF Low Frequency Session
6
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
2 Introduction
The BSE Exchange’s Trading Architecture is the industry-leading, multi-asset trading platform
of the Deutsche Börse Group, its affiliates and partners.
The system has best-in-class performance and is scalable to support markets of any size. It
can be customized to support different types of markets.
The BSE Enhanced Trading Interface (BSE ETI) is the high performance interface designed for
participants who require the highest throughput and the lowest latency for their transactions.
All application messages between the client and the BSE ETI follow FIX V5.0 SP2 semantics
including all officially approved extension packs.
A proprietary session layer with flat binary encoding is used in order to interface with the
exchange
In addition to supporting all trading functions, the BSE ETI enables participants to
subscribe to private trading data:
• Trade notifications for all sessions of the business unit
• Drop copy for complete order history of all standard orders of a session
The following trading support information may be subscribed by each session:
• General messages from BSE market supervision
Private risk control messages are automatically sent to each session of the corresponding
trading and clearing business unit.
The BSE ETI does not provide any market data, reference data, or administrative functions.
2.1 Purpose
The purpose of this document is to provide the Application Programming Interface
details(API) of the new BSE ETI interface to participants
It describes the main concepts of the BSE ETI as well as all message formats.
In addition to this document a corresponding XML representation and the schema files are
published.
2.2 Readership
The main target group are technical staff within the participant firms. Chapter Message
Formats provides the detailed message formats and fields. An introduction to the XML
Interface Description and important message flows are provided in the appendix. The chapter
8.5 Uniqueness of Identifiers documents criteria required for uniqueness of Ids.
7
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
3 Technical Overview
The BSE Enhanced Trading Interface (BSE ETI) is the high performance trading interface
designed for participants who require the highest throughput and the lowest latency. This
transactional interface is provided in parallel to the BSE FIX Gateway whose target groups are
FIX 4.2 and FIX 4.4 customers.
The BSE ETI has the following main characteristics:
3.1 Message Based
The BSE ETI is an asynchronous, message-based interface. The connection between the
participant and the new BSE trading architecture is established via a TCP/IP connection.
3.2 Low Footprint
Integration of the BSE ETI interface into the participant’s existing IT infrastructure is
simplified due to the following:
• No special hardware is required.
• No exchange software has to be installed.
• Free choice of operating system, programming language and compiler versions.
3.3 Standard
The BSE ETI is predominantly derived from the industry standard FIX protocol. The best
practices of FIX have been adopted.
3.4 Session Oriented
The BSE ETI is a session oriented interface.
Participant applications connect to the trading system via the Exchange Application Gateways
that host the client sessions. A session is established by opening a TCP/IP session to the
gateway.
The exchange provides a unique session identifier that is used when logging on. A Session ID
can only establish one session at any time. Each participant application requires its own
session.
BSE ETI based applications receive information on orders which were entered in their own
session. Several trading groups and traders of the same business unit may share a single
session.
For each segment a separate session is required to be made by the BSE ETI based
applications. The participant identifier remains same for both segment and the participant has
the flexibility to use the same session or different session for each segment.
8
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
3.5 Subscription Mechanism
The BSE ETI provides information across sessions via a subscription mechanism. This includes
trade notifications at a session level, the complete order history of standard orders of another
session (listener broadcast), and public news messages.
3.6 Full Control in Case of a Failover
A two way heartbeat mechanism between the participant’s application and the new BSE
trading architecture enables the detection of disruptions in the trading session between the
participant and the Exchange gateway.
The BSE ETI does not include any mechanism for automatic fail over. Participant
applications can implement a fail over mechanism of their choice that supports their
requirements. Please refer to chapter Fail over for more information.
3.7 Architecture Throttle
The number of transaction requests transmitted to the exchange in pre-defined time interval
by each participant session is limited. This is to:
• Prevent single participant sessions generating excessively high transaction rates,
which might adversely affect the exchange’s trading as a whole.
• Guaranteed fairness between participant sessions.
For more details, please refer to chapter 5.4 Throughput Limits.
9
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
4 Service Description
4.1 FIX Semantics
All application messages between the participant and the BSE ETI follow FIX V5.0 SP2
semantics including all officially approved extension packs.
Additionally user defined fields (UDF) and messages have been added to cover functional gaps
in the FIX standard or to increase performance.
The following changes have been made for enhanced performance reasons:
• All rejections and errors on an application and session level are
communicated via the FIX standard Reject (3) message.
• All parties are identified by individual UDFs instead of repeating groups.
The FIX messages are denoted in the following way:
• Message name (Message Type)
The FIX fields are denoted in the following way:
• Field name (FIX Tag)
FIX repeating groups and components are denoted in the following way:
• <Group name>
4.2 Party Identification
The participant is the market entity accessing the Exchange. The BSE concept of a member
remains in place, and will be represented by a “participant”’ .
A participant may have several business units as independent entities taking part in trading
at the exchange. Business units are identified by a business unit ID. A business unit belongs to
a participant. The BSE ETI deals only with the concept of a business unit of a participant.
A user is a person, such as a trader or an exchange market supervisor who actually interacts
with the Exchange. Users are identified by a user ID. A user belongs to one business unit. A
user is a trader or administrator that logs on to the system and can perform various
actions on the Exchange.
Users can be further assigned to a specific trader group, along with the head trader and
supervisor roles:
• A user with a user level of head trader may modify or cancel orders of any
user belonging to the same trader group.
• A user with a user level of supervisor may modify or cancel orders of any
user belonging to the same business unit.
10
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
All requests that are received by the BSE Enhanced Trading Interface (BSE ETI), with the
exception of session related requests, must carry the ID of a user that enters the request.
The details of the user of the business unit needs to be filled in the SenderSubID (50) tag of
the request header. All orders must carry the identification of a physical person that is legally
responsible for the order .
The following roles and attributes are supported in BSE ETI: (The relevent ETI tags are
given for clarity)
Party Description Party Attributes Relevant FIX Field
The participant is an entity Participant Short
Participant accessing BSE Exchange’s New Name RootPartyExecutingFirm(22401)
Trading Architecture.
Indicates the company or a part of PartyIDExecutingUnit (20059),
Business a company that is set up as an Business Unit ID RootPartyIDExecutingUnit (20459),
Unit independent entity taking part in
trading at the exchange. PartyDetailIDExecutingUnit (20259)
A business unit can have multiple Username (553),
User users. A user can be a trading user User ID
and/or an administrator. SenderSubID (50)
PartyIDExecutingTrader (20012),
Owning User User who owns the transaction. Owning User ID RootPartyIDExecutingTrader (20412),
TargetPartyIDExecutingTrader (20612)
Owning User Short RootPartyExecutingTrader (22412)
Name
User who initiates/submits the
Entering order transaction; could be the Entering User ID PartyIDEnteringTrader (20036)
User head trader or supervisor or a
market supervision user.
Identifies the entity that entered
Entering the transaction; might be market Entering Entity ID PartyIDEnteringFirm (20007)
Entity supervision, the participant or the
clearing member.
Entering Entity RequestingPartyEnteringFirm (22807)
Short Name
Trader Users can be assigned to a specific Trader Group TargetPartyIDDeskID (20676)
Group trader group.
PartyIDSessionID (20055),
Session Identification of the session. A Session ID TargetPartyIDSessionID (20655),
session belongs to a business unit.
RootPartyIDSessionID (20455)
RequestingPartylDExecutingSystem
System Executing system. System ID
(20816)
UDF tags for BSE ETI parties consist of an offset and the standard “enum” value of PartyRole
(452):
• PartyID (448) has an offset of 20000
• RootPartyID (1117) has an offset of 20400
• TargetPartyID (1462) has an offset of 20600
UDF names for BSE ETI parties consist of the standard FIX field name (PartyID (448),
RootPartyID (1117), TargetPartyID (1462)) concatenated with the symbolic name of the
standard “enum” value of PartyRole (452) as defined in the FIX Repository.
For example the BSE ETI tag and field name for the user is PartyIDExecutingTrader (20036).
11
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
4.3 Security Identification
Each BSE product is processed on exactly one partition; a partition is a grouping of products.
To optimize the routing to the corresponding partition, the product identifier needs to be
provided in each order transaction by the participant. The exceptions to this rule are Short
Order Message Layouts, see chapter 4.6.8 Short Order Message Layouts.
Both single and multi leg instruments are uniquely identified by the unique instrument
identifier.
Additionally for multi leg instruments it is mandatory to specify the instrument type in all
order requests.
12
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
Identifier Description Relevant FIX Tags
Product Identifier The product identifier uniquely identifies a MarketSegmentID
BSE product. (1300)
SecurityID (48),
Instrument The instrument identifier uniquely SimpleSecurityID
Identifier identifies an instrument in the core system.
(30048)1
Required for complex instruments, valid
Instrument Type values are: 1 = Simple Instrument 5 = ProductComplex (1227)
Futures Spread
4.4 Order Identifiers
Market Participants may choose one of the following options for order identification:
• Use a constant client order ID over the complete lifetime of an order, like it is
currently supported in the BSE Enhanced Transaction Solution interface.
• Standard FIX policy of client order ID chaining: client order ID must change on
every modification and cancellation request.
• Use the exchange order ID.
Market participants may use the client order ID for order and order related message
identification. Modification and cancellation of an order is supported both via the client order
ID and the exchange order ID.
Once an order has a client order ID, it must have a client order ID for the rest of its life cycle.
Respectively an order without a client order ID cannot be modified to have a client order ID
later on in its life cycle.
4.4.1 Client Order ID
The FIX standard field ClOrdID (11) is used for the client order ID.
Note: It is not mandatory for the market participants to use a new ClOrdID (11)
for application messages related to a resting order; i.e. the ClOrdID (11) may stay
the same during the life cycle of an order.
The standard FIX policy regarding usage of client order IDs is also supported
• When modifying or cancelling an order, a new ClOrdID (11) must be provided.
• The order to be modified or cancelled is identified with the OrigClOrdID (41).
In this way the customer is able to find and track individual requests by their
client order ID.
If a market participant changes the client order ID, the uniqueness of ClOrdID (11) is checked
at entry time among currently live orders for the same instrument and session. Duplicate
ClOrdID (11) values for the same session and instrument will be rejected with the exception of
Immediate or Cancel (IOC) Orders.
1
SimpleSecurityID (30048): Instrument identifier for simple instruments. Refer Instrument ID field.
For MarketSegmentID(1300) refer ProductID field of BSE Contract Master file
13
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
4.4.2 Exchange Order ID
The exchange order ID is assigned by Exchange on every order and remains unchanged for the
entire life time of the order. An order modify does not result in a change of the exchange order
ID.
An exchange order ID is guaranteed to be unique among all orders of the same
product.
The FIX standard field OrderID (37) is used for exchange order ID.
4.5 Order Handling
4.5.1 Order Types
The following BSE order types are supported via the BSE ETI interface:
Order Type Description Relevant FIX Tags
An order for buying or selling at the best price
prevailing in the market at the time of submission of
the order. Any unexecuted portion of the order
remains as a pending order till it is matched or its
duration expires. The MaxPricePercentage provides
protection to market orders form unfair execution OrdType (40) = 5
Market prices. The protection percentage will be applied MaxPricePercenta-
on the first trade price of the order and the ge(28740)
worst price is arrived at. The subsequent
execution of the order will happen till the worst
price if opposite side avialbe else will be
converted to limit order at the last executed
price.
Limit orders include a specified price limit, and may OrdType (40) = 2
Limit not be executed at a price worse than that limit. Price (44)
Stop market orders create market orders when the
specified trigger price is reached. Similar to market
orders, stop orders are not visible in the order book
for any market participant. The stop loss(market)
order will be available at the exchange but will OrdType (40) = 3
Stop (Market)
not be will not be visible to the market till the StopPx (99)
stop loss trigger price is reached for that asset.
Once it is triggered it will be converted to a
normal market order and will be subject to the
respective rules applicable.
The stop loss (limit) order will be available at the
exchange but will not be will not be visible to the OrdType (40) = 4
Stop (Limit) market till the stop loss trigger price is reached for Price (44)
that asset. Once it is triggered it will be converted
to a normal limit order and will be subject to the StopPx (99)
respective rules applicable.
14
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
Order Type Description Relevant FIX Tags
All orders are assumed to be day orders unless
Good-for-day otherwise specified. The validity of a day TimeInForce (59) =
(Day) order ends at the close of that trading 0
period for the calendar day.
All orders are assumed to be session orders
Good-for-session unless otherwise specified. The validity of a TimeInForce (59) =
(Session) session order ends at the close of that 7
trading session for the calendar day.
Immediate or An IOC order is to be filled immediately, either TimeInForce (59) =
Cancel (IOC) completely or to the extent possible; the portion
that cannot be filled immediately is cancelled. 3
Non-persistent orders are automatically ExecInst (18) = Q
Non-persistent cancelled in case of a trading interruption, (encoded as bit
session loss or exchange system failure and are map with second bit
only valid good-for-day. being set)
A persistent order is an order that survives a ExecInst (18) = H
trading interruption. Persistent orders are (encoded as bit
Persistent always written to disk to prevent them from
being lost during an emergency and remain in map with first bit
the book until their validity expires. being set)
The complete order history of an order having
this flag set will be part of the listener ApplSeqIndicator
Standard broadcast and may be recovered via (28703) = 1
retransmission requests. Standard orders can be (Recovery_Required)
persistent or non-persistent.
The receipt of status information of orders
having this flag set is restricted to the owning
session. Only match events in the session scope ApplSeqIndicator
Lean and unsolicited events may be recovered via the (28703) = 0
retransmission request. Note: Lean orders are (No_Recovery_Required)
always Non-persistent and are only valid
good-for-day.
Limit orders include a specified price limit which
can match with another block deal order only.
The matching will happen with opposite block OrdType (40) = 6
Block Deal deal order at the same rate and for the full Price (44)
quantity. No partial executions are possible for
block deal
4.5.2 Order Quantity
Participants need to specify two quantity in the order request. The field OrderQty (38) will
determine the total order quantity desired by the user. The field MaxShow (210) will determine
the quantity desired by the user to be shown in the market data. The user can request to show
total quantity in the market data or part of the total quantity subject to applicable criteria for
the MaxShow quantity. The MaxShow quantity is also called as revealed quantity.
4.5.3 Cancellation
The owner of an order is the entering business unit, session and user. The Exchange also
supports order cancellation on a different session for the same business unit. Head traders of
the same trader group and the supervisor(ZT Terminal) of the business unit may cancel on
behalf of the owning user.
15
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
Cancelling an order will remove the remainder of a live order from the Exchange's order book.
The participant may either use the OrigClOrdID (41) or the OrderID (37) to identify the
corresponding order to cancel. The Exchange will respond with an Execution Report (8) or
Reject (3) message for cancellation confirmation or cancellatio rejection respectively.
4.5.4 Modification
• An order may only be modified if the request comes from the same user, or a
supervisor, or a head trader from the same trader group.
• The participant may either use the OrigClOrdID (41) or the OrderID (37) to identify
the corresponding order to modify. The BSE ETI interface will respond with an
Execution Report (8) or Reject (3) message for modification confirmation or
modification rejection respectively.
• Orders that have been completely filled cannot be modified.
• The following order attributes cannot be modified:
• Security identification: MarketSegmentID (1300), SimpleSecurityID (30048),
SecurityID (48), ProductComplex (1227)
• Side (54)
• TradingSessionSubID (625)
• ExecInst (18)
• ApplSeqIndicator (28703)
• The following restrictions apply to the modification of the field OrdType (40):
• A Limit Order (OrdType (40) = 2) may only be modified to a Market Order (OrdType
(40) = 1).
• A Stop (Market) Order (OrdType (40) = 3) may only be modified to a Stop (Limit)
Order (OrdType (40) = 4) or Limit Order (OrdType(40)=2) or Market Order
(OrdType(40)=5)
• A Stop (Limit) Order (OrdType (40) = 4) may only be modified to a Stop (Market)
Order (OrdType (40) = 3) or Limit Order (OrdType(40)=2) or Market Order
(OrdType(40)=5).
• An order that is modified will lose its time priority, i.e. it will get a new priority
timestamp, if
• Price (44) is modified in any way, or
• OrderQty (38) is increased, or
• OrdType (40) is changed, or
16
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
• Freetext1(58) i.e the client code is changed, or
• ExecType (150) is “L = Triggered by system”.
4.5.5 MaxShow quantity modification
In modification request the user can modify the MaxShow(210) field to show either the full
LeavesQty (151) or part of LeavesQty (151) in the market data.
The quantity to be sent in the MaxShow(210) field should be the desired visible quantity of
the user.
All orders where the user desires to show the full LeavesQty (151) in the market data, the
MaxShow (210) field can be set as 0 is the request.
There are certain business rules on visible quantity and it will be validated for each request.
4.5.6 Total Order Quantity Modification
Participants need to specify the new total order quantity when modifying the field OrderQty
(38). This approach leads, from a participant’s point of view, to a clear and deterministic
behaviour by specifying a total execution limit. The previously executed quantity of an order is
maintained and is used to calculate the new open quantity. If this is zero or less then the order
will be cancelled.
During the lifetime of an order, the total quantity of the order is always equal to the sum of
the open order quantity and the accumulated traded quantity:
OrderQty (38) = CumQty (14) + LeavesQty (151)
After an order has been cancelled (OrdStatus (39) is “4 = Cancelled”), the total quantity of
the order is equal to the sum of the cancelled order quantity and the accumulated traded
quantity, while the open order quantity is zero.
OrderQty (38) = CumQty (14) + CxlQty (84)
4.5.7 Order Mass Cancellation
Using the Order Mass Cancellation Request, a user can cancel all orders within a specified
instrument, user or session scope using single request to exchange.
The instrument scope can be extended to an entire product. The session scope can
be extended to all sessions of the submitting user or may reference a single but
different session.
Only orders that are either directly owned by the executing user or which have been selected
and are allowed to be cancelled according to the user’s authorization level (trader, head trader,
supervisor) will be cancelled.
17
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
The following filter criteria can be specified:
Filter Criteria: Description
Target Parties
TargetPartyIDExecutingTrader
Cancel all orders owned by a user ID.
(20612)
TargetPartyIDSessionID Cancel all orders of a session depending on the
(20655) authorization of the user role.
The user may filter on a specific owning session or the session scope can be extended to all
sessions of the business unit.
A head trader may cancel all orders of any user belonging to the same trader group or for the
complete trader group. Additionally the session may be used as filter criteria.
A supervisor may opt for the cancellation of all orders of any user, any trader group
and any session of the business unit.
The omission of the filter criteria results in a mass cancellation request for all orders of the
business unit in a product or instrument respectively.
Note: Mass cancellation confirmation is not provided on a single order level. The owning
session will be informed about the scope of the cancellation by a summary record with an
exception list. Please find more information regarding unsolicited mass order cancellation in
chapter Mass Cancellation Notification.
4.5.8 Text Fields
The new trading architecture supports three free-format text fields for trader-specific
comments to an order or trade.
The mapping of the BSE text fields to the FIX tags is as follows:
Text Field Valid Characters (hex) Relevant FIX Tags
Free Text Field 2 \x20,\x22-\x7B,\x7D,\x7E FreeText2 (25008)
Free Text Field 3 \x20,\x22-\x7B,\x7D,\x7E FreeText3 (25009)
4.5.9 Short Order Message Layouts
The Flexure ETI supports order message layouts with reduced message content for simple
instruments: New Order Single (Short Layout) and Replace Order Single (Short Layout). The
reduced payload of these messages, which is similar to quote messages, provides improved
latency.
For short order message layouts the following order attributes are implicitly set:
Lean
18
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
Non-persistent
Limit order
Product Identifier
The usage of TimeInForce (59) in short order message layouts is limited to the following
options:
Good for Day
Good for Session
Immediate or Cancel (IOC)
Note: Orders entered via New Order Single (Short Layout) may only be modified via Replace
Order Single (Short Layout). The combined usage of short and "normal" order message
layouts for the same order is not supported.
4.5.10 Location ID
The Location Id of the end-user who is placing the orders should be registered with the
Exchange. The location id consists of 16 digits and break-up of this Location Id is given below:
6 digits: Pin Code
74 digits: ETI Id
1 digit: Program Trading
Possible Values
0 – No Program Trading
1 – Program Trading Allowed
2 – DMA Allowed but No Program Trading
3 – DMA Allowed with Program Trading
4 – SOR
5 – Handheld Device
6 – SOR with DMA
7 – SOR with DMA with Program Trading
2 digits: Vendor Code
If type of user =0 (TWS) then Program Trading must be 0
If type of user =1 (IML) then Program Trading must be 0 to 7.
19
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
P.S:
The location ID needs to be registered through the web interface provided to the members.
If the end-user passes a Location Id with Invalid length (i.e. not equal to 16 digit) than the
order request will be rejected. However if the user passes a valid length location ID but which
is not registered with the exchange. In such case the order will be successfully accepted.
Such orders will be subjected to penalty at EOD.
Examples:
Digits ETI Alloted by the Exchange
01001(Example 1) 99999(Example 2)
1st to 6th Digit Pin code of the area where Pin code of the area where
ETI terminal is located ETI terminal is located
7th to 10th Digit 0001 0099
11th to 13th Digit 001 099
Mode of Trading: Select Mode of Trading: Select
14th Digit relevant trading type relevant trading type
applicable applicable
#Vendor Code: Select #Vendor Code: Select
15th to 16th Digit relevant vendor code alloted relevant vendor code alloted
by the Exchange by the Exchange
4.5.11 Order Status and Execution Reports
The Execution Report (8) message is used to communicate many different events. The type of
event is specified in the ExecType (150) field and the OrdStatus (39) field is used to convey
the current status of an order.
The BSE ETI will always send only one response message per request. Unsolicited events are
communicated via notifications.
In general scenarios triggered by another session do not differ from scenarios triggered by the
same session, except for unsolicited modifications not resulting in an execution due to FIX
compliance reasons.
The following table shows different order scenarios and their usage of OrdStatus (39),
ExecType (150) and ExecRestatementReason (378) in the Execution Report (8) sent by the
BSE ETI Interface:
Scenario OrdStatus(39) ExecType (150) ExecRestatementReason
(378)
NEW ORDER
Non-IOC order added 0=New 0=New 101=Order added
without execution
Non-IOC order added with 1=Partially F=Trade 101=Order added
partial execution filled
20
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
Scenario OrdStatus(39) ExecType (150) ExecRestatementReason
(378)
Order (IOC or non-IOC)
2=Filled F=Trade 101=Order added
added with full execution
IOC order added without 4=Cancelled 4=Cancelled 105=IOC order cancelled
execution
IOC order added with 4=Cancelled F=Trade 105=IOC order cancelled
partial execution
Market order added 0=New 5=Replaced 135=Market order
without execution triggered
Market order added with 1=Partially F=Trade 135=Market order
partial execution filled triggered
Market order added with 2=Filled F=Trade 101=Order added
full execution
Stop order added and 0=New L=Triggered 101=Order added
triggered without execution
Stop order added and 1=Partially
triggered with partial filled F=Trade 101=Order added
execution
Stop order added and 2=Filled F=Trade 101=Order added
triggered with full execution
Order added and cancelled 246=Self trade order
because of self trade 4=Cancelled 4=Cancelled deleted
without execution
Order added and cancelled 246=Self trade order
because of self trade with 4=Cancelled F=Trade deleted
partial execution
REPLACE ORDER
Unfilled order replaced
(remaining non-IOC) 0=New 5=Replaced 102=Order replaced
without execution
Unfilled order replaced
(remaining non-IOC) with 1=Partially F=Trade 102=Order replaced
filled
partial execution
Partially filled order 1=Partially 5=Replaced 102=Order replaced
replaced without execution filled
Order quantity replaced at 4=Cancelled 4=Cancelled 102=Order replaced
or below executed quantity
Order replaced (remaining
non-IOC) with partial 1=Partially F=Trade 102=Order replaced
filled
execution
Order replaced (to IOC or
non-IOC) with full 2=Filled F=Trade 102=Order replaced
execution
Order replaced to IOC 4=Cancelled 4=Cancelled 105=IOC order cancelled
without execution
Order replaced to IOC with 4=Cancelled F=Trade 105=IOC order cancelled
partial execution
21
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
Scenario OrdStatus(39) ExecType (150) ExecRestatementReason
(378)
Stop order replaced and 0=New L=Triggered 102=Order replaced
triggered without execution
Stop order replaced and 1=Partially
triggered with partial filled F=Trade 102=Order replaced
execution
Stop order replaced and 2=Filled F=Trade 102=Order replaced
triggered with full execution
Order replaced and 246=Self trade order
cancelled because of self 4=Cancelled 4=Cancelled deleted
trade without execution
Order replaced and 246=Self trade order
cancelled because of self 4=Cancelled F=Trade deleted
trade with partial execution
CANCEL ORDER
Order cancelled 4=Cancelled 4=Cancelled 103=Order cancelled
Order cancellation deferred 6=Pending 6=Pending 197=Order cancellation
due to instrument freeze Cancel Cancel pending
Actual order cancellation 4=Cancelled 4=Cancelled 199=Pending
after being initially deferred cancellation executed
UNSOLICITED EVENT
Other session: Unfilled
order replaced (remaining 0=New D=Restated 102=Order replaced
non-IOC) without execution
Other session: Partially 1=Partially
filled order replaced filled D=Restated 102=Order replaced
without execution
Partial execution of order 1=Partially F=Trade 108=Book order
resting on book filled executed
Full execution of order 2=Filled F=Trade 108=Book order
resting on book executed
Market order triggered and 1=Partially F=Trade 135=Market order
partially executed filled triggered
Market order triggered and 2=Filled F=Trade 135=Market order
fully executed triggered
Resting stop order triggered 1=Partially F=Trade 172=Stop order triggered
with partial execution filled
Resting stop order triggered 2=Filled F=Trade 172=Stop order triggered
with full execution
Restatement of unfilled 0=New D=Restated 1=Order book
order restatement
Restatement of partially 1=Partially D=Restated 1=Order book
filled order filled restatement
Resting stop order 0=New L=Triggered 172=Stop order triggered
triggered without execution
Orders outside the price 4=Cancelled 4=Cancelled 236=Out Of Price Band
bands cancelled Order
22
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
Scenario OrdStatus(39) ExecType (150) ExecRestatementReason
(378)
Resting order cancelled 4=Cancelled 4=Cancelled 246=Self trade order
because of self trade deleted
Partial executed resting 246=Self trade order
order cancelled because of 4=Cancelled F=Trade deleted
self trade
RISK REDUCING MODE ORDER EVENTS
NEW ORDER
RRM Limit order added
withprovisional confirmation 9=Suspended 0=New 215= RRM Order Added
RRM Limit order added M=RRM 216=RRM Order
with finalconfirmation 0=New Accept Accepted
without execution
RRM Limit order added
withfinalconfirmation with 1=Partially
filled F=Trade 216=RRM Order
Accepted
partial execution
RRM Limit order added 216=RRM Order
with finalconfirmation with 2=Filled F=Trade Accepted
full execution
RRM Limit order 9=Suspended N=RRM Reject 219= RRM Order
finalRejection Deleted
RRM Market order added 9=Suspended 0=New 215= RRM Order Added
withprovisional confirmation
RRM Market order added 220=RRM Market Order
with finalconfirmation 0=New D=Restated Triggered
without execution
RRM Market order added 1=Partially 220=RRM Market Order
with finalconfirmation with filled F=Trade Triggered
partial execution
RRM Market order added 220=RRM Market Order
with finalconfirmation with 2=Filled F=Trade Triggered
full execution
RRM Market order 9=Suspended N=RRM Reject 219= RRM Order
finalRejection Deleted
RRM IOCorder added with 9=Suspended 0=New 215= RRM Order Added
provisional confirmation
RRM IOCorder added
withfinalconfirmation 4=Cancelled 4=Cancelled 105=IOC order cancelled
without execution
RRM IOCorder added
withfinal confirmation with 4=Cancelled F=Trade 105=IOC order cancelled
partial execution
RRM IOCorder added 216=RRM Order
withfinalconfirmation with 2=Filled F=Trade Accepted
full execution
RRM IOCorder 9=Suspended N=RRM Reject 219= RRM Order
finalRejection Deleted
REPLACE ORDER
RRM Limit order replaced 9=Suspended 5=Replaced 215= RRM Order Added
withprovisional confirmation
23
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
Scenario OrdStatus(39) ExecType (150) ExecRestatementReason
(378)
RRM Limit order replaced M=RRM 218= RRM Order
with finalconfirmation 0=New Accept Updated
without execution
RRM Limit order replaced 1=Partially 218= RRM Order
with finalconfirmation with filled F=Trade Updated
partial execution
RRM Limit order replaced 218= RRM Order
with finalconfirmation with 2=Filled F=Trade Updated
full execution
RRM Limit order 9=Suspended N=RRM Reject 217= RRM Order
finalRejection Update Rejected
RRM Limit to Marketorder
replaced withprovisional 9=Suspended 5=Replaced 215= RRM Order Added
confirmation
RRM Limit to Marketorder
replaced with 0=New D=Restated 220=RRM Market Order
finalconfirmation without Triggered
execution
RRM Limit to Marketorder
replaced with 1=Partially F=Trade 220=RRM Market Order
finalconfirmation with filled Triggered
partial execution
RRM Limit to Marketorder
replaced with 2=Filled F=Trade 220=RRM Market Order
finalconfirmation with full Triggered
execution
RRM Limit to Marketorder 9=Suspended N=RRM Reject 217= RRM Order
finalRejection Update Rejected
DELETE ORDER
RRM order deletedduring 4=Cancelled N=RRM Reject 103=Order Cancelled
provisional confirmation
RRM order deletedafter 4=Cancelled N=RRM Reject 103=Order Cancelled
finalconfirmation
Provisional Order Events
NEW ORDER
Provisional Limit order 221= Provisional Order
added withprovisional 9=Suspended 0=New Added
confirmation
Provisional Limit order
added with 0=New X=Provisional 222=ProvisionalOrder
finalconfirmation without Accept Accepted
execution
Provisional Limit order
added with 1=Partially F=Trade 222=ProvisionalOrder
finalconfirmation with filled Accepted
partial execution
24
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
Scenario OrdStatus(39) ExecType (150) ExecRestatementReason
(378)
Provisional Limit order
added with 2=Filled F=Trade 222=ProvisionalOrder
finalconfirmation with full Accepted
execution
Provisional Limit order 9=Suspended Y=Provisional 225=ProvisionalOrder
finalRejection Reject Deleted
ProvisionalMarket order 221=ProvisionalOrder
added withprovisional 9=Suspended 0=New Added
confirmation
ProvisionalMarket order
added with 0=New D=Restated 135=Market order
finalconfirmation without triggered
execution
ProvisionalMarket order
added with 1=Partially F=Trade 135=Market order
finalconfirmation with filled triggered
partial execution
ProvisionalMarket order
added with 2=Filled F=Trade 222=Provisional Order
finalconfirmation with full Accepted
execution
ProvisionalMarket order 9=Suspended Y=Provisional 225=ProvisionalOrder
finalRejection Reject Deleted
ProvisionalIOCorder added 9=Suspended 0=New 221=ProvisionalOrder
withprovisional confirmation Added
ProvisionalIOCorder added
with finalconfirmation 4=Cancelled 4=Cancelled 105=IOC order cancelled
without execution
ProvisionalIOCorder added
with finalconfirmation with 4=Cancelled F=Trade 105=IOC order cancelled
partial execution
ProvisionalIOCorder added 222=Provisional Order
with finalconfirmation with 2=Filled F=Trade Accepted
full execution
ProvisionalIOCorder 9=Suspended Y=Provisional 225=ProvisionalOrder
finalRejection Reject Deleted
ProvisionalStop-lossLimit 221=ProvisionalOrder
order added withprovisional 9=Suspended 0=New Added
confirmation
ProvisionalStop-lossLimit
order added with 0=New X=Provisional 222=ProvisionalOrder
finalconfirmation without Accept Accepted
trigger
ProvisionalStop-lossLimit
order added with 0=New L=Triggered 172=Stop order triggered
finalconfirmation with
triggerwithout execution
25
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
Scenario OrdStatus(39) ExecType (150) ExecRestatementReason
(378)
ProvisionalStop-lossLimit
order added with 1=Partially F=Trade 172=Stop order triggered
finalconfirmation with filled
partial execution
ProvisionalStop-loss
Limitorder added with 2=Filled F=Trade 172=Stop order triggered
finalconfirmation with full
execution
ProvisionalStop-loss 9=Suspended Y=Provisional 225=ProvisionalOrder
Limitorder finalRejection Reject Deleted
ProvisionalStop-lossMarket 221=ProvisionalOrder
order added withprovisional 9=Suspended 0=New Added
confirmation
ProvisionalStop-lossMarket
order added with 0=New X=Provisional 222=ProvisionalOrder
finalconfirmation without Accept Accepted
trigger
ProvisionalStop-lossMarket
order added with 0=New D=Restated 135=Market order
finalconfirmation with triggered
triggerwithout execution
ProvisionalStop-lossMarket
order added with 1=Partially F=Trade 135=Market order
finalconfirmation with filled triggered
partial execution
ProvisionalStop-loss
Marketorder added with 2=Filled F=Trade 172=Stop order triggered
finalconfirmation with full
execution
ProvisionalStop-loss 9=Suspended Y=Provisional 225=ProvisionalOrder
Marketorder finalRejection Reject Deleted
Provisional Stop-loss 221=ProvisionalOrder
IOCorder added with 9=Suspended 0=New Added
provisional confirmation
ProvisionalStop-
lossIOCorder added 0=New X=Provisional 222=ProvisionalOrder
withfinalconfirmation Accept Accepted
without trigger
ProvisionalStop-
lossIOCorder added 4=Cancelled 4=Cancelled 105=IOC order cancelled
withfinalconfirmation with
triggerwithout execution
ProvisionalStop-
lossIOCorder added 1=Partially F=Trade 172=Stop order triggered
withfinalconfirmation with filled
partial execution
ProvisionalStop-loss
IOCorder added 2=Filled F=Trade 172=Stop order triggered
withfinalconfirmation with
full execution
26
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
Scenario OrdStatus(39) ExecType (150) ExecRestatementReason
(378)
ProvisionalStop-loss 9=Suspended Y=Provisional 225=ProvisionalOrder
IOCorder finalRejection Reject Deleted
REPLACEORDER
ProvisionalLimit order 221=ProvisionalOrder
replaced withprovisional 9=Suspended 5=Replaced Added
confirmation
ProvisionalLimit order
replaced with 0=New X=Provisional 224=ProvisionalOrder
finalconfirmation without Accept Updated
execution
ProvisionalLimit order
replaced with 1=Partially F=Trade 224=ProvisionalOrder
finalconfirmation with filled Updated
partial execution
ProvisionalLimit order
replaced with 2=Filled F=Trade 224=ProvisionalOrder
finalconfirmation with full Updated
execution
ProvisionalLimit order 9=Suspended Y=Provisional 223=ProvisionalOrder
replaced with finalRejection Reject Update Rejected
Provisional Limit to Market 221=ProvisionalOrder
order replaced with 9=Suspended 5=Replaced Added
provisional confirmation
Provisional Limit to Market
order replaced with final 0=New D=Restated 135=Market order
confirmation without triggered
execution
ProvisionalLimit to Market
order replaced with final 1=Partially F=Trade 135=Market order
confirmation with partial filled triggered
execution
ProvisionalLimit to Market
order replaced with final 2=Filled F=Trade 224=ProvisionalOrder
confirmation with full Updated
execution
ProvisionalLimit to Market Y=Provisional 223=ProvisionalOrder
order replaced with final 9=Suspended Reject Update Rejected
Rejection
ProvisionalLimit to IOC 221=ProvisionalOrder
order replaced with 9=Suspended 5=Replaced Added
provisional confirmation
ProvisionalLimit to
IOC order replaced with 4=Cancelled 4=Cancelled 105=IOC order cancelled
final confirmation without
execution
ProvisionalLimit to IOC
order replaced with final 1=Partially F=Trade 105=IOC order cancelled
confirmation with partial filled
execution
27
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
Scenario OrdStatus(39) ExecType (150) ExecRestatementReason
(378)
ProvisionalLimit to IOC
order replaced with final 2=Filled F=Trade 224=ProvisionalOrder
confirmation with full Updated
execution
ProvisionalLimit to IOC Y=Provisional 224=ProvisionalOrder
order replaced with final 9=Suspended Reject Updated
Rejection
ProvisionalStop-loss Limit
to Market order replaced 9=Suspended 5=Replaced 221=ProvisionalOrder
with provisional Added
confirmation
ProvisionalStop-loss Limit
to Market order replaced 0=New X=Provisional 224=ProvisionalOrder
with final confirmation Accept Updated
without trigger
ProvisionalStop-loss Limit
to Market order replaced 0=New D=Restated 135=Market order
with final confirmation with triggered
trigger without execution
ProvisionalStop-loss Limit
to Market order replaced 1=Partially F=Trade 135=Market order
with final confirmation with filled triggered
partial execution
ProvisionalStop-loss Limit
to Market order replaced 2=Filled F=Trade 172=Stop order triggered
with final confirmation with
full execution
ProvisionalStop-loss Limit Y=Provisional 223=ProvisionalOrder
to Market order final 9=Suspended Reject Update Rejected
Rejection
ProvisionalStop-loss Limit 221=ProvisionalOrder
to IOC order replaced with 9=Suspended 5=Replaced Added
provisional confirmation
ProvisionalStop-loss Limit
to IOC order replaced with 0=New X=Provisional 224=ProvisionalOrder
final confirmation without Accept Updated
trigger
ProvisionalStop-loss Limit
to IOC order replaced with 4=Cancelled 4=Cancelled 105=IOC order cancelled
final confirmation with
trigger without execution
ProvisionalStop-loss Limit
to IOC order replaced with 1=Partially F=Trade 172=Stop order triggered
final confirmation with filled
partial execution
ProvisionalStop-loss Limit
to IOC order replaced with 2=Filled F=Trade 172=Stop order triggered
final confirmation with full
execution
28
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
Scenario OrdStatus(39) ExecType (150) ExecRestatementReason
(378)
ProvisionalStop-loss Limit 9=Suspended Y=Provisional 224=ProvisionalOrder
to IOC order final Rejection Reject Updated
DELETE ORDER
Provisionalorder deleted Y=Provisional
during provisional 4=Cancelled Reject 103=Order Cancelled
confirmation
Provisionalorder deleted 4=Cancelled Y=Provisional 103=Order Cancelled
after final confirmation Reject
Block Deal
NEW ORDER
Block Deal order added 0=New 0=New 101=Order added
without execution
Block Deal Order added 2=Filled F=Trade 101=Order added
with full execution
REPLACE ORDER
Unfilled order replaced 0=New 5=Replaced 102=Order replaced
without execution
Order replaced with full 2=Filled F=Trade 102=Order replaced
execution
CANCEL ORDER
Order cancelled 4=Cancelled 4=Cancelled 103=Order cancelled
UNSOLICITED EVENTS
Order cancelled due to time 4=Cancelled 4=Cancelled 235=Block Deal Order
expiry Timed Out
Note: For performance reasons the BSE ETI will use the standard FIX Reject (3) message for
all rejections on application and session level.
4.5.12 Order Book Restatement
Order status inquiries are not supported by the Exchange Participants must maintain the state
of orders based on the Execution Report (8) messages.
During the start-of-day phase and after a market reset event, all active orders of a session will
be transmitted to the market participant via the respective session.
Inititally a Trading Session Event message is sent informing the participant about start-of-day
or a market reset event per partition respectively, optionally followed by Extended Order
Information messages for each restated order of the corresponding session and finally a
Trading Session Event message is sent indicating the end of the restatement per product.
Note: Order book restatement messages are recoverable. The owning session can request a
retransmission in the event it was not logged on at the time. Order book restatement
messages are also sent on the listener broadcast.
29
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
4.6 Trade Notifications
4.6.1 Trade Characteristics
If subscribed to the Trade broadcast (see chapter 6.9 Broadcast), a session will receive Trade
Notification messages that confirm each trade for the entire business unit.
Notifications about trades are only provided on Exchange via Trade Capture Report (AE)
messages. Information provided via Execution Reports (8, U8) is indicative only and
needs to be confirmed via a Trade Capture Report (AE). For further details see
chapter Best Practices for order handling.
The Exchange will send out the Trade Notification message for each order execution to the
trading and clearing business units involved. The receiving clearing business unit may belong
to a different participant.
For trades in complex instruments, the Trade Notification message will be generated for each
instrument leg executions.
4.6.2 Trade Reconciliation
• There are several identifiers that can be used to associate an Execution Report
(8) with Trade Capture Reports (AE) and public trades on the market data
interface. Please find an example message flow in the appendix, Trade
Reconciliation and Identifiers Trade reconciliation and identifiers.
• Every match event with one or more executions (match steps) in a simple or
complex instrument results in only one Execution Report (8) message for each
order respectively. A Trade Notification will then be sent to confirm each trade at
each price level. For complex instruments, there is a Trade Notification for each leg
execution of the instrument.
• Every match step occurring at the exchange has an identifier that is provided
in the field FillMatchID (28708) in the Execution Report (8), and TrdMatchID
(880) in the Trade Notification. This identifier allows participants to link trade
capture reports and the corresponding execution report. The same identifier is
placed into the field MDEntryID (278) of the market data incremental feed in the
BSE Enhanced Market Data Interface (EMDI) so that the trade can also be
tracked in the market data feed.
• The TradeID (1003) field in the Trade Notification in BSE ETI uniquely identifies
all order leg allocations referring to the same matching event, simple instrument
and price. The TradeID (1003) is equivalent to the trade identifier in BSE Clearing.
• The field SideTradeID (1506), which is unique for a product and business day, in
the Trade Notification provides the private identifier of an order match step event,
which can be reconciled with the corresponding Execution Report (8) for orders
the following way:
30
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
• For order match events in simple instruments, the Execution Report (8)
message provides the order execution ID on each price level, FillExecID
(1363).
• For order match events in complex instruments the Execution Report (8)
message provides the order execution ID on each price level and additionally
the order leg execution ID, LegExecID (28725).
Match Reporting Execution Report (8), (U8) Trade Notification
Trade event on instrument FillMatchID (28708),
level: public trade volume TrdMatchID (880)
reporting
Identifier for all leg TradeID (1003),
allocations referring to the
same simple instrument OrigTradeID (1126)
Order in simple instrument FillExecID (1363) SideTradeID (1506)
Order in complex LegExecID (28725) SideTradeID (1506)
instruments
Note: For trade cancellations a new TradeID (1003) is generated by the new trading
architecture; the SideTradeID (1506) remains the same and allows the link to the cancelled
trade. The original trade identifier is provided in field OrigTradeID (1126).
4.7 Listener Broadcast
The new trading architecture offers 'drop copies' for standard orders (not for lean orders) to
sessions within the same business unit. This service is provided on session level; for example each
listener session may subscribe to listener broadcast data of one specified session or all sessions
of a business unit.
The listener broadcast provides information of the complete order history of standard orders of
a session and can be retransmitted. Complete order history means here: all changes to an order
happening on the current business day
4.8 News
The News message provides public information from the BSE market supervision.
This public stream provides a unique sequence number to support retransmission, i.e. news
messages are recoverable. The retransmission protocol includes the access to historical news,
i.e. there is no cut at the end of the business day.
4.9 Risk Control
The BSE ETI supports advanced risk protection services. The private broadcast supports three
types of message formats:
• When a breach on a certain level of risk limits occurs, the participant will
be informed via the Risk Collateral Alert Message These alerts are sent at
different thresholds as applicable for respective segments. These Alerts are
31
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
sent when either the collateral or the position limits exceeds beyond defined
threshold. The position limit alerts are applicable for Equity derivatives and
currency derivatives segment only.
• The alerts are different for different users. The trader is notified with risk
limit percentage reached and the admin users are notified with the risk limit
percentage reached along with the actual consumption of the collateral.
• When a breach results the member to enter the Risk Reducing Mode
(RRM) the participant will be informed via the Risk Notification message.
In RRM Mode all open orders of the participants are canceled and fresh
orders are subjected to different checks. The orders entered in RRM mode
are called RRM orders and are accepted or rejected based of validations.
The participants are informed about the exit from RRM mode through the
Risk notification message.
• Entitlement updates affecting the business unit are communicated via the
Entitlement Notification message.
• This private stream is automatically sent to each session of the
corresponding business unit and clearing unit, no subscription mechanism is
supported.
• The Risk notification message specifies if the participant is “In RRM”
mode. The “In RRM mode” implies all open orders of the participants are
canceled and all subsequent fresh orders entered by the participants are
subjected to collateral checks. This mechanism continues till the participant
is notified about “Out of RRM” mode through risk notification message.
Each Risk Control broadcast message provides a unique sequence number and can be
retransmitted.
4.10 Service Availability
The Service Availability message provides information on the availability of a partition. This
public stream is not supported for retransmission, i.e. service availability messages are not
recoverable.
Subscription is handled via the Subscribe message. As filter criteria for subscription a single
partition or all partitions may be specified. The Subscribe Response message confirms the
subscription followed by Service Availability messages providing the current status of the
partitions. Any status change of a partition would then be communicated via a new Service
Availability message.
The status of a partition refers to two different services:
• MatchingEngineStatus (25005) informs about the availability of the order
management services.
32
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
• TradeManagerStatus (25006) informs about the availability of the trade
broadcast services.
• ApplSeqStatus (28732) informs about the availability of the retransmission
services for order events (session data and listener data).
The BSE ETI Gateway rejects all requests for order management services and trade broadcast
services on partitions that are unavailable with the exception of subscription services to
broadcast streams. Even if the partition is unavailable, existing subscriptions remain and new
subscriptions can be made.
If the system is not able to process and distribute Trade Notifications for a partition, order
management services for that partition will become unavailable as well.
If a certain service on one or even on all partitions becomes unavailable, the Gateway will not
• logout any user
• cancel any subscription
• logout any session
33
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
4.11 Mass Cancellation Notification and Mass Cancellation Events
Mass cancellation notification is not provided on a single order level. The FIX message format
OrderMassActionReport (BZ) message is used for responses and notifications. The owning
session will be informed about the scope of the cancellation by a summary record. The
summary record will also provide the entering parties involved and the reason for the mass
cancellation.
Orders that couldn’t be cancelled due to an incompatible instrument state are provided with
their client order ID (NotAffOrigClOrdID (1372)) and Exchange Order ID
(NotAffectedOrderID (1371)) in the <NotAffectedOrdersGrp>.
BSE Exchange’s New Trading Architecture informs additionally about events that implicitly
led to the mass cancellation of orders via the Mass Cancellation Event message:
Mass Cancellation Event Persistent Orders Non-persistent
Orders
Product Holiday No No
Product Halt No Yes
Instrument Suspension No No
Instrument Expiration No No
Product State Change
(Applicable for Post Closing Yes
and End of Day)
Mass Cancellation Event messages are sent to all sessions, regardless if orders were entered
for a product by the session. .
34
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
4.12 Trading Session Events
Trading session events triggered by the new trading architecture are communicated to all
trading sessions via the Trading Session Event message. It is part of the session data stream,
regardless if orders were entered for a product by the session.
Trading session events might imply mass cancellation events, where no explicit mass
cancellation notifications are provided; for details see the following table:
Trading Session Level Persistent Non-persistent Orders
Event Orders
Start of Service Partition No Yes
Market Reset Partition No Yes
End of Product N/A N/A
Restatement2
End of Service Partition No Yes
For all Trading Session Event messages to be sent out on Partition level (see above) the field
MarketSegmentId is not set.
4.13 Timestamps
All BSE ETI timestamps will provide date and time, in UTC, represented as nanoseconds past
the UNIX epoch ([Link] UTC on 1 January 1970).
The BSE ETI provides the following timestamp information:
Timestamp FIX field Description
Taken when a transaction is
ExecID (17), functionally processed and used as a
MassActionReportID (1369), unique message identifier per product
Transaction timestamp for messages sent by the BSE ETI.
SecurityResponseID (322),
MMParameterReportID (28717) ExecID (17) maps to MDEntryTime
(273)in BSE EMDI for order events.
Time of the creation of the order. It
will be set when an order is received
Entry timestamp TrdRegTSEntryTime (21009) and processed by the Matching
Engine. This timestamp is only
provided for Standard Orders.
Is initially set to the entry timestamp
and then gets re-stamped when the
Priority timestamp TrdRegTSTimePriority (21008) order looses time priority, see chapter
Modification Modification. This
timestamp is only provided for
Standard Orders.
2
Order Book Restatement is only provided for Low Frequency Sessions (LF), see chapter Session
Concept.
35
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
Timestamp FIX field Description
LastUpdateTime (779), Creation Time of a strategy,
Creation timestamp respectively of market supervision
OrigTime (42) News.
Provides the time the BSE application
Gateway request in RequestTime (5979) has read an inbound message on a
gateway from the TCP socket.
Provides the time the BSE
Gateway request out RequestOut (7764) application has sent an outbound
message from a gateway to the
matching engine.
Provides the time the BSE application
Gateway response in ResponseIn(7765) has received an inbound message on a
gateway from a matching engine.
Provides the time the BSE application
Gateway response out SendingTime (52) has written an outbound message on a
gateway to the TCP socket.
Provides the time the BSE application
Matching engine in TrdRegTSTimeIn (21002) has received an inbound message on a
matching engine.
Provides the time the BSE application
Matching engine out TrdRegTSTimeOut (21003) has sent an outbound message from a
matching engine.
5 Connectivity and Session Parameters
5.1 Session Concept
The Exchange implementation is a session oriented interface whereby the session is the basic
scope of the interaction with the new trading architecture. Several users may share a single
session, but every session may only be instantiated once. Each TCP/IP connection may only
support one session instance.
The receiver of the direct response to a request sent to the gateway is always the submitting
session. Additionally the session is informed about system events and all unsolicited messages
referring to status changes of orders belonging to that session.
The BSE ETI interface will support two session types with different capacities: low and
high-frequency sessions. Both session types differ in the number of requests per time interval
allowed.
The following table provides an overview on the functionality supported by session:
High Frequency Session
Functionality Low Frequency Session (LF)
(HF)
Standard Order Yes No
Lean Order Yes Yes
Persistent Order Yes No
Non-persistent Order Yes Yes
Order Book Restatement Yes No
36
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
High Frequency Session
Functionality Low Frequency Session (LF)
(HF)
Short Order Message Yes Yes
Layouts
Maintaining orders of
another session (same Yes Yes1
business unit)
Listener Broadcast Yes No
Trade Broadcast Yes Yes
News Broadcast Yes No
Risk Control Broadcast Yes Yes
Service Availability Yes Yes
Broadcast
Session List Inquire Yes No
5.1.1 Low Frequency Session (LF)
This session type supports the complete BSE ETI functionality. It is specially aimed at
participant applications that rely on the complete order history to be recoverable. Although
the submission of for example non-persistent and lean orders is supported.
Modification for another session of the same business unit is only supported for standard
orders.
A LF session may also be used to subscribe broadcast streams, for example: Listener
broadcast, trade notifications at a business unit level.
5.1.2 High Frequency Session (HF)
This session type is aimed at high frequency trading; only executions of orders and foreign
events may be recovered.
The submission of standard and persistent orders is not supported by this session type.
The HF session type does not support the subscription of the broadcasts listener and news and
the cancellation of single orders of another session.
Mass cancellation for another session is supported.
Note: Currently all sessions will be classified as HF sessions only. Support for LF session may
be provided in future.
5.2 Identification and Authentication
The BSE ETI has a three-step logon procedure, with a Connection Gateway Request message
to retrieve the assigned application gateway from the connection gateway, followed by a
Session Logon at the assigned gateway and followed by one or multiple User Logon messages.
1
Only Order Mass Cancellation is supported via HF sessions.
37
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
The assigned application gateways are different for each segment and the participant needs to
retrieve the assigned application gateway for each segment separately through different
connection gateways. Each session for the respective segment needs to retrieve the assigned
gateways from different connection gateways.
5.2.1 IP Addresses and Ports
At first the participant must establish a TCP/IP session to the Connection Gateway — the
IP/port numbers are provided by the exchange. Participants will be provided with a "Primary"
and "Secondary" Connection Gateway address via the member portal. If the connection to the
primary Connection Gateway fails, participants should connect to the secondary Connection
Gateway.
Once that connection is established, the participant sends a Connection Gateway Request
message. The Connection Gateway will validate PartyIDSessionID (20055) and Password
(554), which are parameters provided by the exchange. The Connection Gateway cannot be
used for any other purpose.
The Connection Gateway Response contains the IP/ports of the primary and secondary
application gateway where the member application can establish an active BSE ETI session.
Once the Connection Gateway Response message is received, the Connection Gateway
connection is closed.
The participant must now try to connect to one of the provided application gateways within
120 seconds. If the connection is not made within this time, the slots are released and the
participant must start again from scratch.
For more details regarding network topology and how to deal with the Connection Gateways
please refer to the document “BSE Exchange's New Trading Architecture - Network Access to
Exchange Applications”.
5.2.2 Session Authentication
The participant must first open a TCP/IP connection to the specified gateway. The Session
Logon message must be the first message sent by the participant authenticating the BSE ETI
session. Any other messages other than Session Logon will be rejected and the TCP
connection will be disconnected by the Exchange.
The gateway will validate PartyIDSessionID (20055) and Password (554), which are
parameters provided by the exchange. A successful logon will initiate a BSE ETI session.
Note: The Session Logon message is not used to log on and authenticate a user on the new
BSE trading architecture.
The following messages may be sent on a session without any authenticated trader:
• Session logon/logout
• Heartbeat messages
38
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
• Subscription and un-subscription of broadcasts
• Retransmission of recoverable data
• Trader authentication
• Session list inquiry
All other requests must be submitted with an authenticated trader name in the SenderSubID
(50) of the message header.
5.2.3 User Authentication
The User Logon message identifies and authenticates a qualified user establishing access to
the new trading architecture. A BSE ETI session may be shared by several users belonging to
the same business unit.
The participant must provide the binary User ID in the Username (553) field, and the
corresponding password in the Password (554) field.
A successful user logon will grant the user access to the trading system. All further
transactions that require a user scope from the session are validated in the gateway against an
authenticated User ID, i.e. SenderSubID (50) in the message header.
Users may logon to the new trading architecture via all sessions of their business unit.
Multiple User Logon messages for a user via the same session are rejected.
Password Management
A password is required to be sent in the Connection Gateway Request, Session Logon Request
and User Logon Request. The New Trading system enforces certain rules on password required
for session and user authentication.
Maximum 3 consecutive attempts with incorrect password are allowed. The session or user
account will get locked with 4th attempt of login with incorrect password. In case the account
is locked then the account is required to be unlocked by a password reset action which can
be done by the administrator through ZT Terminal. Also password will also expire immediately
whenever the account is unlocked (i.e. whenever password reset is done by the administrator).
Additionally, the account password will expire every 15th day from the date when the password
was last modified. In all cases of password expiry,
The password for a user and session can be changed using Session Password Change Request
or User Password Change Request.
There are certain policies enforced on the password that can be set for an account. They are:
• The password should be minimum 8 characters and maximum 10 characters long
• The password should be alpha numeric
39
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
• The password cannot be blank.
• The last 2 password should not be same.
• The passwords should be changed every 15 days
• Following special characters are allowed in the password
o !,#,$,%,&,*,+,-,/,=,@,_
Handling Expired Password.
The password for session and user expires every 15th day from the date when the password was
last modified. The password will also expire immediately whenever the account is unlocked (i.e.
password reset) is done by the administrator.
The Exchange will allow successful login with the expired password once I.e. grace authentication
will be provided once post expiry. The member application is communicated about the grace
authentication through the Session Logon Response.
The member application should change the password in the grace login. In case the member
application fails to change the password in the grace authentication then the successful login
will not be grated in the subsequent login attempts with the expired [passwords]. In case the
account is locked then the account is required to be unlocked by a password reset action which
can be done by the administrator through ZT Terminal.
40
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
5.3 Failover
5.3.1 Network Failover
In the event of a network connection failure, active BSE ETI sessions will be disconnected from
the gateway. There will be no automatic session failover if a connection to the gateway is lost.
Participants should therefore implement a failover mechanism in their application, in order to
be able to establish a BSE ETI session over the alternative connection.
5.3.2 Application Failover
In the event of a BSE ETI gateway failure, active sessions will be disconnected.
If the active BSE ETI session is ever disconnected, for any reason, the participant application
must reconnect to the Connection Gateway by resending the Gateway Request message, and
then receives a new gateway assignment.
5.4 Throughput Limits
HF and LF sessions differ in the number of requests per time interval allowed.
A participant application may send multiple messages without waiting for a response.
However, the number of messages allowed within a given timeframe is limited by the use of
throttles.
The limits are configured by the new trading architecture for each session type, and are
provided to the participant application in the Session Logon Response message.
The limit parameters are upper limits and do not guarantee throughput rates. As loads
fluctuate in the exchange system, actual throughput rates can vary.
The mechanism uses two components:
• Transaction limit
• Reject/disconnect limit
5.4.1 Transaction Limit
The transaction limit is the maximum number of messages that a participant application may
send within a configured time interval without getting rejected (sliding window approach).
If a participant application exceeds the threshold “number of transactions per time interval”,
the exceeding request will be rejected and not queued. The unit of the time interval is
milliseconds.
Required heartbeats do not count against the transaction limit.
For example, a transaction limit of 200 messages per second could be represented in the
Logon (A) response message as:
41
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
ThrottleNoMsgs (1613) = 200
ThrottleTimeInterval (1614) = 1000
5.4.2 Reject/Disconnect Limit
The purpose of the Reject/Disconnect Limit is to protect the gateway from large amounts of
invalid data. It defines the maximum number of sequential message rejects due to the
violation of the transaction limit allowed by the BSE ETI.
Once an acknowledgement has been sent, the reject/disconnect limit counter is reset to zero.
If the participant application continues to send messages which are rejected for exceeding the
transaction limit and the reject/disconnect limit is exceeded, the BSE ETI will disconnect the
session.
For example, a disconnect limit of 500 rejects is represented in the Logon (A) response
message as:
ThrottleRejectNoMsg (25002) = 500
5.5 Mass Cancellation on Disconnect
Non-persistent orders are automatically cancelled on session disconnect.
In case of a session loss or a session logout the following (retransmittable) messages will be
generated for all products where the Matching Engine cancelled orders of the lost session:
• Order Mass Cancellation Notification(via listener broadcast and session
data) for cancelled non-persistent orders (MassActionReason (28721):6 =
“Session Loss”). Potentially followed-up by Cancel Order
Notificationmessages for each order of <NotAffectedOrdersGrp>that could
not be cancelled due to an incompatible instrument state.
6 Session Layer
The BSE ETI follows standard FIX 5.0 semantics, however, the header and trailers have
been suitable modified.
Each message in the BSE ETI has a unique numeric TemplateID (28500) assigned to it in
addition to the standard FIX MsgType (35) information provided in the header.
The BSE ETI will echo the participant’s MsgSeqNum (34) of the request header in the
corresponding response header.
Retransmission is not supported on the session layer; it is available on the application layer for
a subset of messages. It is not possible to retransmit all messages received on a session. It is
possible to retransmit some message types using application message sequencing.
42
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
6.1 Flat Binary Encoding
ETI messages have a defined order of fixed-length fields and arrays of fixed-length elements.
BSE ETI avoids string fields wherever possible.
The arrays (repeating groups) consist of a counter (FIX NoXXX fields, indicating the number
of array elements) and their fixed-length elements. In general, repeating groups are at the end
of the ETI messages.
Binary values are presented in little endian byte order.
The length of ETI messages (BodyLen (9)) sent by the ETI gateway is always set
to a multiple of 8. If there is a variable size string at the end of a message, it is
"filled up" with binary zeroes.
Padding bytes required for proper alignment do not need to be initialized.
6.2 Logon
The participant application needs to open a TCP/IP connection to the new trading
architecture during start-up.
The first message to be sent on the connection must be the Session Logon message.
If the Session Logon message is not sent within a certain time interval, the connection will be
closed by the new trading architecture.
If the session logon fails, no further logon attempts will be accepted on that TCP connection.
The application must drop the TCP session and restart the logon to the Connection Gateway.
6.3 Logout
The participant may log out the session using the Session Logout message.
The BSE ETI will automatically drop a session if:
• The TCP/IP session is disconnected.
• If three consecutive heartbeats are missed.
• If reject/disconnect limit is exceeded.
After a successful session logout, the participant should shut down the connection and close
the socket.
Participant applications must disconnect from the BSE ETI each day after trading and should
close the TCP/IP socket after logging off the session.
The system will perform a forced logout overnight after which time the participant may log
back in.
43
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
6.4 Heartbeat
The HeartBtInt (108) must be specified by the participant in the Session Logon message. This
parameter specifies the period in which the BSE ETI sends heartbeats to the participant and
the interval the BSE ETI checks for request messages from the application.
The Heartbeat message should be sent by the participant if no other message has been
processed during the defined HeartBtInt (108) interval. It is used by the BSE ETI gateway to
monitor the status of the communication link to the ETI client during periods of inactivity.
A heartbeat interval of zero indicates that BSE ETI will not take any action for missed
heartbeats. This setting can only be used on test systems. If the heart beat value is sent as
zero in the request then the BSE ETI will use a default value
The minimum value is 100 milliseconds in the production system. The upper limit is 60
seconds.
If the field is not supplied or set as zero, then the BSE ETI will use a default value. The
applied heartbeat interval is provided in the Session Logon Response.
Note: Heartbeats do not count against, nor do they reduce, any of the throttle counters.
The Heartbeat Notification is sent by BSE ETI based on the heartbeat interval, regardless if
the participant application sends Heartbeat messages or not. It may be used by the ETI client
to monitor the status of the communication link to the BSE ETI gateway during periods of
inactivity.
6.5 Reject
All rejections and errors on the application and session level are communicated via the FIX
standard Reject (3) message; i.e. none of the fields in the request message other than
MsgSeqNum (34) will be echoed.
6.6 Message Sequence Number
The MsgSeqNum (34) in the request header must increment with each message sent by the
participant to the gateway, starting with the Session Logon message as sequence number 1.
The BSE ETI will echo the participant’s MsgSeqNum (34) of the request header in the
corresponding response header.
In case of any unexpected sequence numbers, sequence number gaps, or duplicate sequence
numbers, the request message will be rejected with a sequence number error, and the session
will be disconnected.
Note: There is no recovery mechanism for message sequence numbers in the BSE
ETI. All participant connections (including a reconnection after a disconnection)
are considered “new,” and all Session Logon requests are expected to contain the
message sequence number 1.
44
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
6.7 Application Message Sequencing
6.7.1 Application Message Identifier
All recoverable session data sent by BSE ETI will provide an application message identifier,
ApplMsgID (28704), to uniquely identify order related data sent by the gateway.
With the help of the application message identifier, the participant is able to ask for a
retransmission of recoverable order data.
The ApplMsgID (28704) has the following characteristics:
• It is unique per partition and business day.
• It is ascending during a business day until end-of-stream.
• Gap detection is not possible.
• It does not start at any particular number.
• Consists of 16 bytes, ordered with the highest significant byte first (as in big
endian).
• Two Application Message Identifiers ApplMsgID1 and ApplMsgID2 are equal, if
the character array of size 16 of ApplMsgID1 and ApplMsgID2 are equal at all
positions.
• The ApplMsgID1 is greater than ApplMsgID2, if at the first differing position i,
the corresponding character ApplMsgID1[i] is greater than ApplMsgID2[i].
• The ApplMsgID1 is less than ApplMsgID2, if at the first differing position i, the
corresponding character ApplMsgID1[i] is less than ApplMsgID2[i].
6.7.2 Application Message Sequence Number
BSE ETI will assign an application message sequence number, the ApplSeqNum (1181), to
messages related to Trade Notification, News and Risk Control (Risk Notification and
Entitlement Notification).
The ApplSeqNum (1181) has the following characteristics:
• The first message will be the message sequence number 1.
• It is ascending during a business day until end-of-stream (Trade Notification).
• The message sequence will be gapless and allows gap detection.
• Trade notification: unique per business day, partition and business unit.
• News: unique per market.
• Risk Control: unique per business unit.
45
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
6.8 Session Data
Each session receives information on orders which were entered in their own session
automatically without any subscription. The Session Data include Trading Session Event
messages: start of service, market reset, and end of service.
For standard orders the complete order history may be recovered.
For lean orders only match events in the session scope and unsolicited events may be
recovered.
Session Data are recoverable, if and only if they have an ApplMsgId (28704).
Note: The retransmission message template used for order events may differ from the session
data response template. For more details, please refer to chapter ?? Retransmit Response
(Order/Quote Event)
46
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
6.9 Broadcast
A broadcast is an application message that is available to multiple sessions, such as Trades or
News messages.
Sessions may receive the following broadcast types:
Application Broadcast
Broadcast FIX Message Type Identifier Message
Identifier
Execution Report (8),
Listener: complete order ApplMsgID
history of standard orders of a Trading Session Status (h), 5
session Order Mass Action Report (28704)
(BZ)
Trades: Trade data on ApplSeqNum
business unit level Trade Capture Report (AE) 1
(1181)
News: Public general ApplSeqNum
messages from BSE market News (B) 2
supervision (1181)
Party Risk Limits Update
Risk Control: Private risk Report (CR), Party ApplSeqNum
control messages 6
Entitlements Update Report (1181)
(CZ)
Service Availability: Provides
information on the availability User Notification (CB) 3 N/A
of a partition
After a session is established, it is not subscribed to any broadcast, but the risk control
broadcast; nevertheless unsolicited session data is received.
For broadcast subscription, the Subscribe message is used. Per request only one broadcast
type, via RefApplID (1355), may be subscribed. The response provides a unique subscription
identifier in ApplSubID (28727).
For broadcast un-subscription, the Unsubscribe message is used. Per request only one
subscription, via RefApplSubID (28728), may be un-subscribed.
The following tables shows the results of different subscriptions:
RefApplID (1355) SubscriptionScope (25001) Result
All trade data of the own
Trade (1) 0xFFFFFFFF (no value) business unit. This
subscription is allowed only
for admin session
All public general messages
News (2) Market ID (1=BSE) from the market supervision
of the specified market.
Availability of the services
Service Availability (3) Partition ID provided by the specified
partition.
47
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
RefApplID (1355) SubscriptionScope (25001) Result
Availability of the services
Service Availability (3) 0xFFFFFFFF (no value) provided by all known
partitions.
Complete history of
standard orders (of the
Listener Data (5) 0xFFFFFFFF (no value) current business day)
submitted via the specified
session.
Complete history of
standard orders (of the
Listener Data (5) 0xFFFFFFFF (no value)
current business day) of the
own business unit.
Note: Broadcasts may only be subscribed by LF sessions with the exception of service
availability, trade broadcast and risk control, which are available on HF and LF sessions. The
receipt of the risk control broadcast is required by the regulator for all sessions; therefore no
subscription is needed.
The FIX Application Sequencing concept1 is used for broadcasts on BSE ETI:
• Each broadcast type is assigned a unique ApplID (1180).
• Application-level messages are uniquely identified using a combination of
ApplID (1180) and ApplSeqNum (1181) or ApplID (1180) and ApplMsgID
(28704) respectively.
6.10 Recovery
6.10.1 Retransmission
Re-transmission is supported for recoverable session data and the broadcast types, trades,
news, and risk control.
Since application message identifiers and sequence numbers are unique per partition, the
PartitionID (5948) is a mandatory parameter for all retransmission requests.
For retransmission, the Retransmit and Retransmit (Order/Quote Event) message respectively
is used.
With a re-transmission request, only data in the scope of one broadcast type and partition can
be requested via RefApplID (1355) and PartitionID (5948).
The FIX application level recovery concept can be used by the participant for selective
recovery and late start restatements:
Recoverable Application Application Retransmission
Data Scope Message Identifier
Sequencing RefApplID (1355) Sequencing
1
See FIX 5.0 SP2 Specification, Vol.1
48
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
Recoverable Application Application Retransmission
Data Scope Message Identifier
Sequencing RefApplID (1355) Sequencing
ApplBegMsgID
Recoverable ApplMsgID (28718),
session data session 4
(28704) ApplEndMsgID
(28719)
Listener ApplBegMsgID
broadcast
(standard ApplMsgID (28718),
session2 5
order drop (28704) ApplEndMsgID
copy) (28719)
ApplBegSeqNum
ApplSeqNum (1182),
Trades business unit 1
(1181) ApplEndSeqNum
(1183)
ApplBegSeqNum
ApplSeqNum (1182),
News market 2
(1181) ApplEndSeqNum
(1183)
Optionally, the application message identifiers and respectively the application message
sequence numbers provide the retransmission sequencing range. If no start value is specified,
it is assumed to be “1”. If ending range is absent, it is assumed to be infinity (“all available
messages”).
The re-transmission response, Retransmit Response and Retransmit Response (Order/Quote
Event) message respectively, will provide the range of recovered order data in the fields
ApplBegMsgID (28718) and ApplEndMsgID (28719) and for all other broadcasts respectively
in the fields ApplBegSeqNum (1182) and ApplEndSeqNum (1183).
This range may differ from the requested range, i.e. further retransmission requests may need
to be submitted.
6.10.2 Best Practices for Order Handling
All order response information in the BSE ETI is sent out immediately after the order has
been processed by the core matching process.
All order response information in the BSE ETI is preliminary; this includes Execution Reports
(8) sent out for non-persistent orders .
Note: Market data on the new BSE trading architecture is based on order execution
information. The BSE MDI and BSE EMDI interfaces provide trade price messages on the
basis of this preliminary
information.
2
8 Retransmission of listener broadcast data must be requested for each session separately. No session
wildcard processing is supported for retransmission.
49
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
For these reasons, a participant application always needs to confirm the preliminary execution
information with the corresponding legally binding Trade Notification message (Trade Capture
Report (AE)).
In case of an exchange system failure, the participant is informed of a market reset event via
the Trading Session Event message including the last persisted application message identifier.
This message is followed by an order book restatement of all active orders.
In this event it is highly recommended to reconcile all Execution Reports (8, U8) with higher
application message identifiers with the corresponding Trade Capture Reports (AE). If there is
no Trade Capture Report (AE) for a given Execution Report (8) then this Execution Report
(8) has to be considered invalid and should be discarded. Please find detailed information
regarding trade reconciliation in chapter 4.6.2 Trade reconcilation.
6.11 Order Handling for RRM mode
The order handling mechanism for participant in RRM mode is different from normal course of
order handling mechanism. If a participant is notified “In RRM” through Risk notification
message then all the open orders of the participants are cancelled and mass cancellation
notification is sent to all the sessions of the business unit having open orders, All subsequent
fresh orders are subjected to position checks before acceptance. The orders are given
provisional conformation followed by the final confirmation of acceptance or rejection.
All fresh orders are acknowledged using the new order response message. This is provisional
confirmation. The field ExecRestatementReason(378)=215 in new order response message
indicates provisional confirmation. The same provisional confirmation holds true for the
Replace orders request also.
The provisional confirmation will be followed by the final confirmation through the message
Extended order information [10117]. The field ExecRestatementReason(378)=216 or 218 in
the message will specify the final state of confirmation I.e. the order is either accepted.
6.12 Order Handling for Provisional orders
Certain Orders needs to be pre validated for capital check before it could be sent for
matching. The orders currently pre validated for capital check are
High Value Orders (Provisional) - All orders having order value larger than a value defined by
exchange are considered as High value orders and are subjected to collateral check.
All such orders are called provisional orders and will be provided provisional confirmation
followed by final confirmation. All fresh orders are acknowledged using the new order response
message. This is provisional confirmation. The field ExecRestatementReason(378)=221 in
New order response message indicates provisional confirmation. The same provisional
confirmation holds true for the replace order request also.
The provisional confirmation will be followed by the final confirmation through the message
Extended order information. The field ExecRestatementReason(378)=222 or 224 in the
50
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
message will specify the final state of confirmation I.e. the order is either accepted.
7 Message Formats
This chapter provides details on the administrative and application messages used by the BSE
ETI. Information on data types and the most important error codes are provided. Messages
sent by participants not listed in this section are rejected by the server via a Reject (3)
message.
Each ETI message format has a unique binary message type identifier (TemplateID (28500))
and is based on a standard FIX message.
The Interface version used by the participant needs to be provided during Session Logon in
DefaultCstmApplVerID (1408); the Session Logon Response will return the Interface Version,
which the BSE ETI Gateway currently uses, in the same field.
In production, the Interface Version will allow the participant to recognize that the BSE ETI
has changed.
The Build Number shows to which ETI XML file, ETI XSD file, canned data, exchange
software the ETI Manual belongs to.
7.1 Message Fragmentation
In case the complete data of a transaction does not fit into a single message, BSE ETI
automatically sends a sequence of messages to the participant.
The field LastFragment (893) in the corresponding header structure indicates whether the
current message is the last fragment (part) of a sequence of messages belonging to one
dedicated transaction or if the application should wait for further messages in order to retrieve
the full data set.
Another mechanism for message fragmentation that is used for inquiring reference data
(session) bases on the LastEntityProcess (25035) field that is part of the requests and the
responses.
In the first inquiry (request) LastEntityProcess (25035) must not be set. The application
should continue sending the inquiries using the LastEntityProcess (25035) from the recent
response. A response with LastEntityProcess (25035) not set indicates that no more data is
available.
7.2 Data Types
BSE ETI supports following data types:
51
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
ETI Data Type Description No Value2
- little endian byte order
- supported are 1, 2, 4 and 1 byte signed int: 0x80 2 byte
signed int 8-byte, signed integers signed int: 0x8000 4 byte signed
- two's complement int: 0x80000000 8 byte signed
representation int: 0x8000000000000000
1 byte unsigned int: 0xFF 2
- little endian byte order byte unsigned int: 0xFFFF 4
unsigned int - supported are 1, 2, 4 and byte unsigned int: 0xFFFFFFFF
8-byte, unsigned integers 8 byte unsigned int:
0xFFFFFFFFFFFFFFFF
- encoded as 8-byte signed
Float integer 0x8000000000000000
8 implicit decimals
- length information specifies
the fixed size
- encoded as character array
Fixed String - completely filled with valid 0x00 at the first position
characters (space padding if
required)
- length information specifies
the fixed size
- encoded as character array
optionally 0-terminable
Fixed String (0- terminable) (minimum string size of 1) 0x00 at the first position
- XML file: attribute
“isTerminable” is set to true
- padding after 0-terminator
required up to fixed size
- length information specifies
the maximum possible size
- separate counter field specifies
the transmitted string size 0x00 at the first position (if the
Variable String - XML file: attribute field is not the last one of a
“variableSize” set to true certain message)
- the message is filled up to a
multiple of 8 bytes and
truncated
This data type represents an see 1 byte unsigned int and 2
Counter unsigned integer as a counter byte unsigned int respectively
for arrays of variable size.
Date of Local Market (as
LocalMktDate opposed to UTC) in see 4 byte unsigned int
YYYYMMDD 4 byte unsigned
binary format.
Price in integer format
PriceType including 8 decimals. For see 8 byte signed int
certain asset classes, prices may
have negative values.
Qty Quantity in signed 4 byte see 4 byte signed int
integer format.
SeqNum Message sequence number in 8 see 8 byte unsigned int
byte unsigned binary format.
52
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
ETI Data Type Description No Value3
Date and time, in UTC,
represented as nanoseconds
UTCTimestamp past the UNIX epoch ([Link] see 8 byte unsigned int
UTC on 1 January 1970).
char String of length 1. 0x00
Byte array where each byte has
a value from 0 to 255: - the
length information specifies the
Data fixed size Each byte filled with 0x00.
- encoded as byte array
- byte array is always filled
completely
- length information specifies
the fixed size
- encoded as character array
chartext - completely filled with valid 0x00 at the first position
characters (space padding if
required)
7.3 Error Codes
All rejections and errors on an application and session level are communicated via the FIX standard Reject
(3)message.
The error code will be provided in field SessionRejectReason (373), the error text in field VarText
(30355).
BSE ETI offers detailed error description in the error text, only for selected errors unique error
codes are available.
The BSE ETI will provide the following dedicated error codes, which the participant application
may interpret for automated processing:
SessionRejectReason (373) Description
100 Reject due to exceeded throttle limit.
101 Exposure limit exceeded.
102 Service temporarily not available.
103 Service not available.
104 Result of transaction unknown.
211 User already logged in
10000 Order not found.
10001 Price reasonability check failed.
7.4 Overview of Supported Message Types
The following message formats are based on:
• Interface Version: 2.0
• Build Number: 502.001.200-502001200.19
Additionally, ETI clients implementing interface version ’0.1’ will be supported. Please refer to
chapter Change Log for details regarding interface changes between the version ’0.1’, ’1.0’ and
’2.0’.
3
Fields marked as optional (Req’d = „N“) or marked as not used (Req’d = „U“) are provided with
a „no value“ content that depends on the corresponding data type.
53
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
7.4.1 Other
ETI Message TemplateID Sender FIX Message MsgType
(28500) (35)
Risk Collateral Alert Admin 10048 ETI Gateway CollateralAlertAdminReport U23
Risk Collateral Alert Trader 10049 ETI Gateway CollateralAlertReport U24
Trade Notification 10500 ETI Gateway TradeCaptureReport AE
Trade Notification Status 10501 ETI Gateway TradingSessionStatus h
Service Availability 10030 ETI Gateway UserNotification CB
News 10031 ETI Gateway News B
Entitlement Notification 10034 ETI Gateway PartyEntitlementsUpdateReport CZ
Risk Notification 10033 ETI Gateway PartyRiskLimitsUpdateReport CR
Trading Session Event 10307 ETI Gateway TradingSessionStatus h
Mass Cancellation Event 10308 ETI Gateway OrderMassActionReport BZ
Gap Fill 10032 ETI Gateway ApplicationMessageReport BY
54
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
7.4.2 Session Layer
ETI Message TemplateID Sender FIX Message MsgType
(28500) (35)
Connection Gateway Request 10020 Participant ApplicationMessageRequest BW
Session List Inquire Response 10036 ETI Gateway SessionDetailsListResponse U6
Session Password Change 10997 Participant Logon A
Session Password Change
10995 ETI Gateway Logon A
Response
User Password Change 10996 Participant UserRequest BE
User Password Change
10043 ETI Gateway UserResponse BF
Response
Connection Gateway Response 10021 ETI Gateway ApplicationMessageRequestAck BX
Session Logon 10000 Participant Logon A
Session Logon Response 10001 ETI Gateway Logon A
Session Logout 10002 Participant Logout 5
Session Logout Response 10003 ETI Gateway Logout 5
Session Logout Notification 10012 ETI Gateway Logout 5
Heartbeat 10011 Participant Heartbeat 0
Heartbeat Notification 10023 ETI Gateway Heartbeat 0
Legal Notification 10037 ETI Gateway UserNotification CB
User Logon 10018 Participant UserRequest BE
User Logon Response 10019 ETI Gateway UserResponse BF
User Logout 10029 Participant UserRequest BE
User Logout Response 10024 ETI Gateway UserResponse BF
Throttle Update Notification 10028 ETI Gateway UserNotification CB
Subscribe 10025 Participant ApplicationMessageRequest BW
Subscribe Response 10005 ETI Gateway ApplicationMessageRequestAck BX
Unsubscribe 10006 Participant ApplicationMessageRequest BW
Unsubscribe Response 10007 ETI Gateway ApplicationMessageRequestAck BX
Retransmit 10008 Participant ApplicationMessageRequest BW
Retransmit Response 10009 ETI Gateway ApplicationMessageRequestAck BX
Retransmit (Order/Quote
10026 Participant ApplicationMessageRequest BW
Event)
Retransmit Response
10027 ETI Gateway ApplicationMessageRequestAck BX
(Order/Quote Event)
Reject 10010 ETI Gateway Reject 3
Session List Inquire 10035 Participant SessionDetailsListRequest U5
55
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
7.4.3 Order Handling
ETI Message TemplateID Sender FIX Message MsgType
(28500) (35)
Order Mass Cancellation
10122 ETI Gateway OrderMassActionReport BZ
Notification
Order Mass Cancellation
10124 ETI Gateway OrderMassActionReport BZ
Response No Hits
Order Mass Cancellation
10120 Participant OrderMassActionRequest CA
Request
Order Mass Cancellation
10121 ETI Gateway OrderMassActionReport BZ
Response
New Order Single 10100 Participant NewOrderSingle D
Extended Order Information 10117 ETI Gateway ExecutionReport 8
New Order Single (short layout) 10125 Participant NewOrderSingle D
New Order Multi Leg 10113 Participant NewOrderMultileg AB
New Order Response (Standard
10101 ETI Gateway ExecutionReport 8
Order)
New Order Response (Lean
10102 ETI Gateway ExecutionReport 8
Order)
Immediate Execution Response 10103 ETI Gateway ExecutionReport 8
Book Order Execution 10104 ETI Gateway ExecutionReport 8
Replace Order Single 10106 Participant OrderCancelReplaceRequest G
Replace Order Single (short
10126 Participant OrderCancelReplaceRequest G
layout)
Replace Order Multi Leg 10114 Participant MultilegOrderCancelReplace AC
Replace Order Response
10107 ETI Gateway ExecutionReport 8
(Standard Order)
Replace Order Response (Lean
10108 ETI Gateway ExecutionReport 8
Order)
Cancel Order Single 10109 Participant OrderCancelRequest F
Cancel Order Multi Leg 10123 Participant OrderCancelRequest F
Cancel Order Response
10110 ETI Gateway ExecutionReport 8
(Standard Order)
Cancel Order Response (Lean
10111 ETI Gateway ExecutionReport 8
Order)
Cancel Order Notification 10112 ETI Gateway ExecutionReport 8
56
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
7.5 Other
7.5.1 Risk Collateral Alert Admin
This message informs about collateral alerts for the business unit. The alert is sent only to the
admin session. For more details, please refer to chapter 4.9 Risk Control.
Tag Field Name Req’d Len Ofs Data Type Description
<MessageHeaderOut>
9 BodyLen Y 4 0 unsigned int Number of bytes for the message, in-
cluding this field.
28500 TemplateID Y 2 4 unsigned int Unique identifier for a BSE ETI mes-
sage layout. Value: 10048 (Collatera-
lAlertAdminReport, MsgType = U23)
25017 Pad2 U 2 6 Fixed String not used
<RBCHeader>
52 SendingTime Y 8 8 UTCTimestamp Gateway response out timestamp.
1181 ApplSeqNum Y 8 16 unsigned int Application sequence number assi-
gned to a non-order related BSE ETI
data stream.
28727 ApplSubID U 4 24 unsigned int not used
5948 PartitionID Y 2 28 unsigned int Grouping of BSE products.
Belongs to the scope of Service
Availability and Retransmit requests.
1352 ApplResendFlag Y 1 30 unsigned int Indicates a retransmission message.
Value Description
0 False
1 True
1180 ApplID Y 1 31 unsigned int Identifier for an ETI data stream.
Value Description
8 Risk Admin
893 LastFragment Y 1 32 unsigned int Indicates whether this message is the
last fragment (part) of a sequence of
messages belonging to one dedicated
transaction.
Value Description
1 Last Message
25022 Pad7 U 7 33 Fixed String not used
<Message Body>
30614 TotalCollateral N 8 40 signed int The Total collateral value present with
the member. The value will be in pai-
se.
57
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
Tag Field Name Req’d Len Ofs Data Type Description
30615 UtilizedCollateral N 8 48 signed int The collateral value already consumed
by the member. The value will be in
paise.
30616 UnutilizedCollateral N 8 56 signed int The collateral value remaining with
the member. The value will be in pai-
se.
42 OrigTime N 8 64 UTCTimestamp Creation timestamp of the News mes-
sage.
30613 PercentageUtilized Y 4 72 signed int The utilization of the member in term
of percentage. The value would be
sent upto 2 decimal places. For eg
70.21 would be sent as 7021
1300 MarketSegmentID N 4 76 signed int Product identifier.
1301 MarketID Y 2 80 unsigned int Market ID.
Value Description
1 BSE
2 XEEE
* More Values
30354 VarTextLen N 2 82 Counter Number of bytes for field VarText
(30355).
30611 RRMState N 1 84 unsigned int The field indicates the RRM state of
the member.
Value Description
0 No RRM
1 In RRM
2 Out Of RRM
30620 MemberType N 1 85 unsigned int The field indicates the type of member
for whom the alert is sent.
Value Description
1 Trading Member
2 Clearing Member
IncrementDecrement-
30618 N 1 86 signed int Indicates if the collateral utilization
Status
has changed with respect to previous
state.
Value Description
1 Increment
0 No Change
-1 Decrement
58
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
Tag Field Name Req’d Len Ofs Data Type Description
30636 SegmentIndicator N 1 87 unsigned int The applicable segment
Value Description
1 Equity
2 Equity Derivatives
3 Currency Derivatives
58 FreeText1 N 12 88 Chartext The Unique Client Code (UCC) of the
person for whom the order is entered.
Valid characters: \x00,\x21,\x23,
\x24,\x28,\x29,\x2A,\x2B,\x2D,
\x2E,\x2F,\x30-\x39,\x3A,\x3B,
\x3D,\x3E,\x3F,\x40,\x41-\x5A,
\x5C,\x5D,\x5F,\x60,\x7B,\x7D
30619 BusinessUnitSymbol Y 5 100 Fixed String The member ID for whom the alert is
sent
Valid characters: \x01-\x7E
25022 Pad7 U 7 105 Fixed String not used
30355 VarText N 2000 112 Variable String Error text.
Valid characters: \x09,\x0A,\x0D,
\x20,\x22-\x7B,\x7D,\x7E
59
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
7.5.2 Risk Collateral Alert Trader
This message informs about collateral alert for the business unit. The alert is sent to all the
session of the business unit. For more details, please refer to chapter 4.9 Risk Control.
Tag Field Name Req’d Len Ofs Data Type Description
<MessageHeaderOut>
9 BodyLen Y 4 0 unsigned int Number of bytes for the message, in-
cluding this field.
28500 TemplateID Y 2 4 unsigned int Unique identifier for a BSE ETI mes-
sage layout. Value: 10049 (Collatera-
lAlertReport, MsgType = U24)
25017 Pad2 U 2 6 Fixed String not used
<RBCHeader>
52 SendingTime Y 8 8 UTCTimestamp Gateway response out timestamp.
1181 ApplSeqNum Y 8 16 unsigned int Application sequence number assi-
gned to a non-order related BSE ETI
data stream.
28727 ApplSubID U 4 24 unsigned int not used
5948 PartitionID Y 2 28 unsigned int Grouping of BSE products.
Belongs to the scope of Service
Availability and Retransmit requests.
1352 ApplResendFlag Y 1 30 unsigned int Indicates a retransmission message.
Value Description
0 False
1 True
1180 ApplID Y 1 31 unsigned int Identifier for an ETI data stream.
Value Description
6 Risk Control
893 LastFragment Y 1 32 unsigned int Indicates whether this message is the
last fragment (part) of a sequence of
messages belonging to one dedicated
transaction.
Value Description
1 Last Message
25022 Pad7 U 7 33 Fixed String not used
<Message Body>
42 OrigTime N 8 40 UTCTimestamp Creation timestamp of the News mes-
sage.
30613 PercentageUtilized Y 4 48 signed int The utilization of the member in term
of percentage. The value would be
sent upto 2 decimal places. For eg
70.21 would be sent as 7021
60
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
Tag Field Name Req’d Len Ofs Data Type Description
1300 MarketSegmentID N 4 52 signed int Product identifier.
1301 MarketID Y 2 56 unsigned int Market ID.
Value Description
1 BSE
2 XEEE
* More Values
30354 VarTextLen N 2 58 Counter Number of bytes for field VarText
(30355).
30611 RRMState N 1 60 unsigned int The field indicates the RRM state of
the member.
Value Description
0 No RRM
1 In RRM
2 Out Of RRM
30620 MemberType N 1 61 unsigned int The field indicates the type of member
for whom the alert is sent.
Value Description
1 Trading Member
2 Clearing Member
IncrementDecrement-
30618 N 1 62 signed int Indicates if the collateral utilization
Status
has changed with respect to previous
state.
Value Description
1 Increment
0 No Change
-1 Decrement
30636 SegmentIndicator N 1 63 unsigned int The applicable segment
Value Description
1 Equity
2 Equity Derivatives
3 Currency Derivatives
58 FreeText1 N 12 64 Chartext The Unique Client Code (UCC) of the
person for whom the order is entered.
Valid characters: \x00,\x21,\x23,
\x24,\x28,\x29,\x2A,\x2B,\x2D,
\x2E,\x2F,\x30-\x39,\x3A,\x3B,
\x3D,\x3E,\x3F,\x40,\x41-\x5A,
\x5C,\x5D,\x5F,\x60,\x7B,\x7D
61
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
Tag Field Name Req’d Len Ofs Data Type Description
30619 BusinessUnitSymbol Y 5 76 Fixed String The Member ID for whom the alert is
sent
Valid characters: \x01-\x7E
25022 Pad7 U 7 81 Fixed String not used
30355 VarText N 2000 88 Variable String Error text.
Valid characters: \x09,\x0A,\x0D,
\x20,\x22-\x7B,\x7D,\x7E
62
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
7.5.3 Trade Notification
The Trade Notification message is the legally binding confirmation for a trade. For more
details, please refer to chapter 4.6 Trade Notifications.
Tag Field Name Req’d Len Ofs Data Type Description
<MessageHeaderOut>
9 BodyLen Y 4 0 unsigned int Number of bytes for the message, in-
cluding this field.
28500 TemplateID Y 2 4 unsigned int Unique identifier for a BSE ETI mes-
sage layout. Value: 10500 (TradeCap-
tureReport, MsgType = AE)
25017 Pad2 U 2 6 Fixed String not used
<RBCHeader>
52 SendingTime Y 8 8 UTCTimestamp Gateway response out timestamp.
1181 ApplSeqNum Y 8 16 unsigned int Application sequence number assi-
gned to a non-order related BSE ETI
data stream.
28727 ApplSubID N 4 24 unsigned int Unique ID assigned by the BSE sys-
tem during broadcast subscription in
order to link broadcasts to the related
subscription.
5948 PartitionID Y 2 28 unsigned int Grouping of BSE products.
Belongs to the scope of Service
Availability and Retransmit requests.
1352 ApplResendFlag Y 1 30 unsigned int Indicates a retransmission message.
Value Description
0 False
1 True
1180 ApplID Y 1 31 unsigned int Identifier for an ETI data stream.
Value Description
1 Trade
893 LastFragment Y 1 32 unsigned int Indicates whether this message is the
last fragment (part) of a sequence of
messages belonging to one dedicated
transaction.
Value Description
1 Last Message
25022 Pad7 U 7 33 Fixed String not used
<Message Body>
48 SecurityID Y 8 40 signed int Instrument identifier.
1650 RelatedSecurityID N 8 48 signed int Instrument identifier of the original
BSE strategy.
63
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
Tag Field Name Req’d Len Ofs Data Type Description
44 Price N 8 56 PriceType Order Price
31 LastPx Y 8 64 PriceType Price of this fill.
28585 SideLastPx N 8 72 PriceType Fill price for the original BSE strategy.
1596 ClearingTradePrice N 8 80 PriceType not used.
60 TransactTime Y 8 88 UTCTimestamp Transaction timestamp.
37 OrderID N 8 96 unsigned int Exchange Order ID generated by BSE
System; it remains constant over the
lifetime of an order.
142 SenderLocationID Y 8 104 unsigned int The location ID of the order from
where it is originated
11 ClOrdID N 8 112 unsigned int Client Order ID: Unique participant
defined order request identifier.
526 MessageTag Y 4 120 signed int The message tag as provided by the
user in order request
1003 TradeID Y 4 124 unsigned int Uniquely identifies all order leg allo-
cations referring to the same match
event, simple instrument and price.
1126 OrigTradeID N 4 128 unsigned int not used.
RootPartyIDExecuting-
20459 Y 4 132 unsigned int Business Unit ID.
Unit
20455 RootPartyIDSessionID N 4 136 unsigned int Session ID.
RootPartyIDExecuting-
20412 Y 4 140 unsigned int Owning User ID.
Trader
RootPartyIDClearing-
25026 Y 4 144 unsigned int not used
Unit
14 CumQty N 4 148 Qty Cumulated executed quantity of an or-
der.
151 LeavesQty N 4 152 Qty Remaining quantity of the order at the
time of the execution. If the order has
been executed partially this field con-
tains the non-executed quantity. A re-
maining size of 0 indicates that the
order is fully matched or no longer ac-
tive.
1300 MarketSegmentID Y 4 156 signed int Product identifier.
1649 RelatedSymbol N 4 160 signed int Product identifier of the original BSE
strategy.
32 LastQty Y 4 164 Qty Quantity executed in this fill.
1009 SideLastQty N 4 168 signed int Fill quantity for the original BSE stra-
tegy.
28736 ClearingTradeQty N 4 172 Qty not used.
64
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
Tag Field Name Req’d Len Ofs Data Type Description
1506 SideTradeID Y 4 176 unsigned int Private trade identifier of an order
match step.
28582 MatchDate Y 4 180 LocalMktDate Business day of the match event.
880 TrdMatchID Y 4 184 unsigned int Unique identifier for each price level
(match step) of a match event; it is
used for public trade reporting.
1851 StrategyLinkID N 4 188 unsigned int Identifier that links all trades resulting
from a match step of a strategy order.
748 TotNumTradeReports N 4 192 signed int Number of leg executions of the origi-
nal strategy order.
442 MultiLegReportingType N 1 196 unsigned int Indicates if the trade resulted from a
single order or a multi leg order.
Value Description
1 Single Order
2 Indidual Leg of a Multi Leg
Order.
856 TradeReportType Y 1 197 unsigned int not used
Value Description
0 Trade
7 (Locked-In) Trade Break
830 TransferReason Y 1 198 unsigned int not used
Value Description
1 Owner
2 Clearer
20432 RootPartyIDBeneficiary N 9 199 Fixed String not used
Valid characters: \x20,\x22-\x7B,
\x7D,\x7E
RootPartyIDTakeUp-
20496 N 5 208 Fixed String not used
TradingFirm
Valid characters: \x20,\x22-\x7B,
\x7D,\x7E
RootPartyIDOrder-
20413 N 7 213 Fixed String not used
OriginationFirm
Valid characters: A-Z,0-9,\x20
581 AccountType Y 1 220 unsigned int
Value Description
20 Own
30 Client
40 Special Client
90 Institution
65
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
Tag Field Name Req’d Len Ofs Data Type Description
574 MatchType N 1 221 unsigned int The point in the matching process at
which this trade was matched.
Value Description
4 Auto Match Incoming
7 Call Auction
11 Auto Match Resting
28610 MatchSubType N 1 222 unsigned int not used
Value Description
1 Opening Auction
3 Intraday Auction
54 Side Y 1 223 unsigned int Side of the trade. Leg executions of
sell orders for complex instruments
will have an inverted value compared
to the signature.
Value Description
1 Buy
2 Sell
1057 AggressorIndicator N 1 224 unsigned int Indicates whether the order added or
removed liquidity.
Value Description
0 Passive
1 Aggressive
1815 TradingCapacity Y 1 225 unsigned int not used
1 Account N 2 226 Fixed String not used
Valid characters: 1-9,\x41,\x47,\x4D,
\x50
77 PositionEffect N 1 228 char not used
Valid characters: \x01-\x7E
1031 CustOrderHandlingInst N 1 229 Fixed String not used.
Valid characters: \x20,\x22-\x7B,
\x7D,\x7E
58 FreeText1 Y 12 230 Chartext The Unique Client Code (UCC) of the
person for whom the order is entered.
Valid characters: \x00,\x21,\x23,
\x24,\x28,\x29,\x2A,\x2B,\x2D,
\x2E,\x2F,\x30-\x39,\x3A,\x3B,
\x3D,\x3E,\x3F,\x40,\x41-\x5A,
\x5C,\x5D,\x5F,\x60,\x7B,\x7D
66
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
Tag Field Name Req’d Len Ofs Data Type Description
25008 FreeText2 N 12 242 Chartext Free-format text field for trader-
specific or customer-related com-
ments. Should not be used in
conjunction with External Member
and Final Beneficiary used for trading
TAIFEX products.
Valid characters: \x00,\x21,\x23,
\x24,\x28,\x29,\x2A,\x2B,\x2D,
\x2E,\x2F,\x30-\x39,\x3A,\x3B,
\x3D,\x3E,\x3F,\x40,\x41-\x5A,
\x5C,\x5D,\x5F,\x60,\x7B,\x7D
25009 FreeText3 N 12 254 Chartext Free-format text field for trader-
specific or customer-related com-
ments.
Valid characters: \x00,\x21,\x23,
\x24,\x28,\x29,\x2A,\x2B,\x2D,
\x2E,\x2F,\x30-\x39,\x3A,\x3B,
\x3D,\x3E,\x3F,\x40,\x41-\x5A,
\x5C,\x5D,\x5F,\x60,\x7B,\x7D
1115 OrderCategory N 1 266 char Indicates if the trade notification re-
sults from an order.
Value Description
1 Order
40 OrdType N 1 267 unsigned int Order type.
Value Description
2 Limit
3 Stop Market
4 Stop Limit
5 Market
6 Block Deal
RelatedProduct-
28587 N 1 268 unsigned int Instrument type of the original BSE
Complex
strategy.
Value Description
5 Futures Spread
28586 OrderSide N 1 269 unsigned int Side of the order in the original BSE
strategy.
Value Description
1 Buy
2 Sell
67
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
Tag Field Name Req’d Len Ofs Data Type Description
RootPartyClearing-
22421 Y 4 270 Fixed String not used
Organization
Valid characters: \x20,\x22-\x7B,
\x7D,\x7E
RootPartyExecuting-
22401 Y 5 274 Fixed String Participant Short Name.
Firm
Valid characters: \x20,\x22-\x7B,
\x7D,\x7E
RootPartyExecuting-
22412 Y 6 279 Fixed String Owning User Short Name.
Trader
Valid characters: \x20,\x22-\x7B,
\x7D,\x7E
22404 RootPartyClearingFirm Y 5 285 Fixed String not used
Valid characters: \x20,\x22-\x7B,
\x7D,\x7E
25021 Pad6 U 6 290 Fixed String not used
68
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
7.5.4 Trade Notification Status
This message informs about the end of the Trade Notification stream.
Tag Field Name Req’d Len Ofs Data Type Description
<MessageHeaderOut>
9 BodyLen Y 4 0 unsigned int Number of bytes for the message, in-
cluding this field.
28500 TemplateID Y 2 4 unsigned int Unique identifier for a BSE ETI
message layout. Value: 10501 (Tra-
dingSessionStatus, MsgType = h)
25017 Pad2 U 2 6 Fixed String not used
<RBCHeader>
52 SendingTime Y 8 8 UTCTimestamp Gateway response out timestamp.
1181 ApplSeqNum Y 8 16 unsigned int Application sequence number assi-
gned to a non-order related BSE ETI
data stream.
28727 ApplSubID N 4 24 unsigned int Unique ID assigned by the BSE sys-
tem during broadcast subscription in
order to link broadcasts to the related
subscription.
5948 PartitionID Y 2 28 unsigned int Grouping of BSE products.
Belongs to the scope of Service
Availability and Retransmit requests.
1352 ApplResendFlag Y 1 30 unsigned int Indicates a retransmission message.
Value Description
0 False
1 True
1180 ApplID Y 1 31 unsigned int Identifier for an ETI data stream.
Value Description
1 Trade
893 LastFragment Y 1 32 unsigned int Indicates whether this message is the
last fragment (part) of a sequence of
messages belonging to one dedicated
transaction.
Value Description
1 Last Message
25022 Pad7 U 7 33 Fixed String not used
<Message Body>
1368 TradSesEvent Y 1 40 unsigned int Trading session event type.
Value Description
104 End Of Day Service
69
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
Tag Field Name Req’d Len Ofs Data Type Description
25022 Pad7 U 7 41 Fixed String not used
70
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
7.5.5 Service Availability
The Service Availability message provides information on the availability of a partition. For
more details, please refer to chapter 4.10 Service Availability.
Tag Field Name Req’d Len Ofs Data Type Description
<MessageHeaderOut>
9 BodyLen Y 4 0 unsigned int Number of bytes for the message, in-
cluding this field.
28500 TemplateID Y 2 4 unsigned int Unique identifier for a BSE ETI mes-
sage layout. Value: 10030 (UserNoti-
fication, MsgType = CB)
25017 Pad2 U 2 6 Fixed String not used
<NRBCHeader>
52 SendingTime Y 8 8 UTCTimestamp Gateway response out timestamp.
28727 ApplSubID Y 4 16 unsigned int Unique ID assigned by the BSE sys-
tem during broadcast subscription in
order to link broadcasts to the related
subscription.
1180 ApplID Y 1 20 unsigned int Identifier for an ETI data stream.
Value Description
3 Service Availability
893 LastFragment Y 1 21 unsigned int Indicates whether this message is the
last fragment (part) of a sequence of
messages belonging to one dedicated
transaction.
Value Description
0 Not Last Message
1 Last Message
25017 Pad2 U 2 22 Fixed String not used
<Message Body>
MatchingEngineTrade-
25030 N 4 24 LocalMktDate Current business day of order mana-
Date
gement service.
TradeManagerTrade-
25031 N 4 28 LocalMktDate Current business day of retransmission
Date
service for trades.
25032 ApplSeqTradeDate N 4 32 LocalMktDate Current business day of retransmission
service for order events (session and
listener data).
5948 PartitionID Y 2 36 unsigned int Grouping of BSE products.
Belongs to the scope of Service
Availability and Retransmit requests.
71
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
Tag Field Name Req’d Len Ofs Data Type Description
25005 MatchingEngineStatus Y 1 38 unsigned int Informs if trading is active for grou-
ping of BSE products.
Value Description
0 Unavailable
1 Available
25006 TradeManagerStatus Y 1 39 unsigned int Informs if trade broadcast dissemina-
tion is active for a grouping of BSE
products.
Value Description
0 Unavailable
1 Available
28732 ApplSeqStatus Y 1 40 unsigned int Informs about the availability of
the retransmission services for order
events (session data and listener da-
ta).
Value Description
0 Unavailable
1 Available
25022 Pad7 U 7 41 Fixed String not used
72
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
7.5.6 News
The News message provides public information from the BSE market supervision. News
messages distributed without an ApplSeqNum are not part of the retransmission responses.
For more details, please refer to chapter 4.8 News.
Tag Field Name Req’d Len Ofs Data Type Description
<MessageHeaderOut>
9 BodyLen Y 4 0 unsigned int Number of bytes for the message, in-
cluding this field.
28500 TemplateID Y 2 4 unsigned int Unique identifier for a BSE ETI mes-
sage layout. Value: 10031 (News, Ms-
gType = B)
25017 Pad2 U 2 6 Fixed String not used
<RBCHeader>
52 SendingTime Y 8 8 UTCTimestamp Gateway response out timestamp.
1181 ApplSeqNum N 8 16 unsigned int Application sequence number assi-
gned to a non-order related BSE ETI
data stream.
28727 ApplSubID N 4 24 unsigned int Unique ID assigned by the BSE sys-
tem during broadcast subscription in
order to link broadcasts to the related
subscription.
5948 PartitionID Y 2 28 unsigned int Grouping of BSE products.
Belongs to the scope of Service
Availability and Retransmit requests.
1352 ApplResendFlag Y 1 30 unsigned int Indicates a retransmission message.
Value Description
0 False
1 True
1180 ApplID Y 1 31 unsigned int Identifier for an ETI data stream.
Value Description
2 News
893 LastFragment Y 1 32 unsigned int Indicates whether this message is the
last fragment (part) of a sequence of
messages belonging to one dedicated
transaction.
Value Description
1 Last Message
25022 Pad7 U 7 33 Fixed String not used
<Message Body>
42 OrigTime Y 8 40 UTCTimestamp Creation timestamp of the News mes-
sage.
73
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
Tag Field Name Req’d Len Ofs Data Type Description
30354 VarTextLen Y 2 48 Counter Number of bytes for field VarText
(30355).
148 Headline Y 256 50 Fixed String The headline of a News message.
Valid characters: \x20,\x22-\x7B,
\x7D,\x7E
25021 Pad6 U 6 306 Fixed String not used
30355 VarText N 2000 312 Variable String News text.
Valid characters: \x09,\x0A,\x0D,
\x20,\x22-\x7B,\x7D,\x7E
74
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
7.5.7 Entitlement Notification
This message informs about entitlement updates of the business unit. For more details, please
refer to chapter 4.9 Risk Control.
Tag Field Name Req’d Len Ofs Data Type Description
<MessageHeaderOut>
9 BodyLen Y 4 0 unsigned int Number of bytes for the message, in-
cluding this field.
28500 TemplateID Y 2 4 unsigned int Unique identifier for a BSE ETI mes-
sage layout. Value: 10034 (PartyEn-
titlementsUpdateReport, MsgType =
CZ)
25017 Pad2 U 2 6 Fixed String not used
<RBCHeader>
52 SendingTime Y 8 8 UTCTimestamp Gateway response out timestamp.
1181 ApplSeqNum Y 8 16 unsigned int Application sequence number assi-
gned to a non-order related BSE ETI
data stream.
28727 ApplSubID U 4 24 unsigned int not used
5948 PartitionID Y 2 28 unsigned int Grouping of BSE products.
Belongs to the scope of Service
Availability and Retransmit requests.
1352 ApplResendFlag Y 1 30 unsigned int Indicates a retransmission message.
Value Description
0 False
1 True
1180 ApplID Y 1 31 unsigned int Identifier for an ETI data stream.
Value Description
6 Risk Control
8 Risk Admin
893 LastFragment Y 1 32 unsigned int Indicates whether this message is the
last fragment (part) of a sequence of
messages belonging to one dedicated
transaction.
Value Description
1 Last Message
25022 Pad7 U 7 33 Fixed String not used
<Message Body>
60 TransactTime Y 8 40 UTCTimestamp Transaction timestamp.
75 TradeDate Y 4 48 LocalMktDate Business date.
PartyDetail-
20259 Y 4 52 unsigned int Business Unit ID.
IDExecutingUnit
75
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
Tag Field Name Req’d Len Ofs Data Type Description
RequestingParty-
20816 Y 4 56 unsigned int System ID.
IDExecutingSystem
Value Description
1 BSE Risk
1301 MarketID N 2 60 unsigned int Market ID.
Value Description
1 BSE
* More Values
1324 ListUpdateAction Y 1 62 char Invocation (D = Delete) or release (A
= Add) of a trading limitation.
Value Description
A Add
D Delete
RequestingParty-
22807 Y 9 63 Fixed String Entering Entity Short Name.
EnteringFirm
Valid characters: A-Z,0-9,\x20
RequestingParty-
22804 N 9 72 Fixed String not used
ClearingFirm
Valid characters: A-Z,0-9,\x20
1672 PartyDetailStatus Y 1 81 unsigned int Member status.
Value Description
0 Active
1 Suspended
25021 Pad6 U 6 82 Fixed String not used
76
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
7.5.8 Risk Notification
This message informs about risk events for the business unit. For more details, please refer to
chapter 4.9 Risk Control.
Tag Field Name Req’d Len Ofs Data Type Description
<MessageHeaderOut>
9 BodyLen Y 4 0 unsigned int Number of bytes for the message, in-
cluding this field.
28500 TemplateID Y 2 4 unsigned int Unique identifier for a BSE ETI mes-
sage layout. Value: 10033 (Party-
RiskLimitsUpdateReport, MsgType =
CR)
25017 Pad2 U 2 6 Fixed String not used
<RBCHeader>
52 SendingTime Y 8 8 UTCTimestamp Gateway response out timestamp.
1181 ApplSeqNum Y 8 16 unsigned int Application sequence number assi-
gned to a non-order related BSE ETI
data stream.
28727 ApplSubID U 4 24 unsigned int not used
5948 PartitionID Y 2 28 unsigned int Grouping of BSE products.
Belongs to the scope of Service
Availability and Retransmit requests.
1352 ApplResendFlag Y 1 30 unsigned int Indicates a retransmission message.
Value Description
0 False
1 True
1180 ApplID Y 1 31 unsigned int Identifier for an ETI data stream.
Value Description
6 Risk Control
8 Risk Admin
893 LastFragment Y 1 32 unsigned int Indicates whether this message is the
last fragment (part) of a sequence of
messages belonging to one dedicated
transaction.
Value Description
1 Last Message
25022 Pad7 U 7 33 Fixed String not used
<Message Body>
60 TransactTime Y 8 40 UTCTimestamp Transaction timestamp.
75 TradeDate Y 4 48 LocalMktDate Business date.
PartyDetail-
20259 Y 4 52 unsigned int Business Unit ID.
IDExecutingUnit
77
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
Tag Field Name Req’d Len Ofs Data Type Description
RequestingParty-
20816 Y 4 56 unsigned int System ID.
IDExecutingSystem
Value Description
1 BSE Risk
1300 MarketSegmentID N 4 60 signed int Product identifier.
1301 MarketID N 2 64 unsigned int Market ID.
Value Description
1 BSE
2 XEEE
* More Values
30611 RRMState N 1 66 unsigned int The field indicates the RRM state of
the member.
Value Description
0 No RRM
1 In RRM
2 Out Of RRM
30636 SegmentIndicator N 1 67 unsigned int The applicable segment
Value Description
1 Equity
2 Equity Derivatives
3 Currency Derivatives
1324 ListUpdateAction Y 1 68 char Invocation (A = Add) or release (D =
Delete) of a risk limitation.
Value Description
A Add
D Delete
1767 RiskLimitAction N 1 69 unsigned int Risk protection action.
Value Description
4 Warning
0 Queue Inbound
2 Reject
30633 MemberStatus N 1 70 char The Regulatory status of the member
Value Description
Y Suspended
N Not Suspended
78
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
Tag Field Name Req’d Len Ofs Data Type Description
58 FreeText1 N 12 71 Chartext The Unique Client Code (UCC) of the
person for whom the order is entered.
Valid characters: \x00,\x21,\x23,
\x24,\x28,\x29,\x2A,\x2B,\x2D,
\x2E,\x2F,\x30-\x39,\x3A,\x3B,
\x3D,\x3E,\x3F,\x40,\x41-\x5A,
\x5C,\x5D,\x5F,\x60,\x7B,\x7D
RequestingParty-
22807 Y 9 83 Fixed String Entering Entity Short Name.
EnteringFirm
Valid characters: A-Z,0-9,\x20
RequestingParty-
22804 N 9 92 Fixed String not used
ClearingFirm
Valid characters: A-Z,0-9,\x20
30619 BusinessUnitSymbol N 5 101 Fixed String The member ID for whom the alert is
sent
Valid characters: \x01-\x7E
25021 Pad6 U 6 106 Fixed String not used
79
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
7.5.9 Trading Session Event
This message informs about session related events. For more details, please refer to chapter
4.12 Trading Session Events.
Tag Field Name Req’d Len Ofs Data Type Description
<MessageHeaderOut>
9 BodyLen Y 4 0 unsigned int Number of bytes for the message, in-
cluding this field.
28500 TemplateID Y 2 4 unsigned int Unique identifier for a BSE ETI
message layout. Value: 10307 (Tra-
dingSessionStatus, MsgType = h)
25017 Pad2 U 2 6 Fixed String not used
<RBCHeaderME>
21003 TrdRegTSTimeOut N 8 8 UTCTimestamp Matching engine out timestamp.
52 SendingTime Y 8 16 UTCTimestamp Gateway response out timestamp.
28727 ApplSubID N 4 24 unsigned int Only set for Listener Data.
5948 PartitionID Y 2 28 unsigned int Grouping of BSE products.
Belongs to the scope of Service
Availability and Retransmit requests.
28704 ApplMsgID Y 16 30 data Application message identifier assi-
gned to an order event.
1180 ApplID Y 1 46 unsigned int Identifier for an ETI data stream.
Value Description
4 Session Data
5 Listener Data
1352 ApplResendFlag Y 1 47 unsigned int Indicates a retransmission message.
Value Description
0 False
1 True
893 LastFragment Y 1 48 unsigned int Indicates whether this message is the
last fragment (part) of a sequence of
messages belonging to one dedicated
transaction.
Value Description
1 Last Message
25022 Pad7 U 7 49 Fixed String not used
<Message Body>
1300 MarketSegmentID N 4 56 signed int Product identifier.
75 TradeDate N 4 60 LocalMktDate Business date.
80
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
Tag Field Name Req’d Len Ofs Data Type Description
1368 TradSesEvent Y 1 64 unsigned int Trading session event type.
Value Description
101 Start Of Service
102 Market Reset
103 End Of Restatement
104 End Of Day Service
28722 RefApplLastMsgID N 16 65 data Last persisted application message
identifier in case of a Market Reset
event.
25022 Pad7 U 7 81 Fixed String not used
81
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
7.5.10 Mass Cancellation Event
This message informs about an event that implicitly led to the mass cancellation of orders.
For more details see chapter 4.11 Mass Cancellation Notification and Mass Cancellation
Events.
Tag Field Name Req’d Len Ofs Data Type Description
<MessageHeaderOut>
9 BodyLen Y 4 0 unsigned int Number of bytes for the message, in-
cluding this field.
28500 TemplateID Y 2 4 unsigned int Unique identifier for a BSE ETI mes-
sage layout. Value: 10308 (Order-
MassActionReport, MsgType = BZ)
25017 Pad2 U 2 6 Fixed String not used
<RBCHeaderME>
21003 TrdRegTSTimeOut N 8 8 UTCTimestamp Matching engine out timestamp.
52 SendingTime Y 8 16 UTCTimestamp Gateway response out timestamp.
28727 ApplSubID N 4 24 unsigned int Unique ID assigned by the BSE sys-
tem during broadcast subscription in
order to link broadcasts to the related
subscription.
5948 PartitionID Y 2 28 unsigned int Grouping of BSE products.
Belongs to the scope of Service
Availability and Retransmit requests.
28704 ApplMsgID N 16 30 data Application message identifier assi-
gned to an order event.
1180 ApplID Y 1 46 unsigned int Identifier for an ETI data stream.
Value Description
4 Session Data
5 Listener Data
1352 ApplResendFlag Y 1 47 unsigned int Indicates a retransmission message.
Value Description
0 False
1 True
893 LastFragment Y 1 48 unsigned int Indicates whether this message is the
last fragment (part) of a sequence of
messages belonging to one dedicated
transaction.
Value Description
1 Last Message
25022 Pad7 U 7 49 Fixed String not used
<Message Body>
1369 MassActionReportID Y 8 56 UTCTimestamp Transaction timestamp.
82
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
Tag Field Name Req’d Len Ofs Data Type Description
48 SecurityID N 8 64 signed int Instrument identifier.
1300 MarketSegmentID Y 4 72 signed int Product identifier.
28721 MassActionReason Y 1 76 unsigned int Reason for mass cancellation.
Value Description
105 Product State Halt
106 Product State Holiday
107 Instrument Suspended
109 Complex Instrument Deleti-
on
110 Volatility Interruption
111 Product Temporarily Not
Tradable
* More Values
18 ExecInst N 1 77 unsigned int Cancellation scope for orders."No va-
lueïndicates no order cancellation.
Value Description
1 Persistent Order (FIX value
"H")
2 Non-persistent Order (FIX
value "Q")
3 Persistent and non-
persistent Orders (FIX
value "H Q")
25017 Pad2 U 2 78 Fixed String not used
83
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
7.5.11 Gap Fill
This message informs that the provided message must be skipped over, due to the fact that
the BSE system is not able to provide the functional data to the participant. The exchange
may be contacted for further error analysis.
Tag Field Name Req’d Len Ofs Data Type Description
<MessageHeaderOut>
9 BodyLen Y 4 0 unsigned int Number of bytes for the message, in-
cluding this field.
28500 TemplateID Y 2 4 unsigned int Unique identifier for a BSE ETI mes-
sage layout. Value: 10032 (Applica-
tionMessageReport, MsgType = BY)
25017 Pad2 U 2 6 Fixed String not used
<NotifHeader>
52 SendingTime Y 8 8 UTCTimestamp Gateway response out timestamp.
<Message Body>
28724 ApplIDStatus Y 4 16 unsigned int Application sequencing related error
code.
Value Description
105 Outbound Conversion Error
* More Values
28728 RefApplSubID N 4 20 unsigned int Unique ID for the subscription instan-
ce assigned by the BSE system during
broadcast subscription.
30354 VarTextLen Y 2 24 Counter Number of bytes for field VarText
(30355).
1355 RefApplID Y 1 26 unsigned int Application identifier of a BSE ETI
data stream.
Value Description
1 Trade
2 News
3 Service Availability
4 Session Data
5 Listener Data
6 Risk Control
8 Risk Admin
1409 SessionStatus Y 1 27 unsigned int Session status.
Value Description
0 Session active
4 Session logout complete
25019 Pad4 U 4 28 Fixed String not used
84
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
Tag Field Name Req’d Len Ofs Data Type Description
30355 VarText Y 2000 32 Variable String Error text.
Valid characters: \x09,\x0A,\x0D,
\x20,\x22-\x7B,\x7D,\x7E
85
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
7.6 Session Layer
7.6.1 Connection Gateway Request
This message is used to retrieve the assigned gateway from the connection gateway. For more
details, please refer to chapter 5.2.1 IP Addresses and Ports.
Tag Field Name Req’d Len Ofs Data Type Description
<MessageHeaderIn>
9 BodyLen Y 4 0 unsigned int Number of bytes for the message, in-
cluding this field.
28500 TemplateID Y 2 4 unsigned int Unique identifier for a BSE ETI mes-
sage layout. Value: 10020 (Appli-
cationMessageRequest, MsgType =
BW)
25028 NetworkMsgID U 8 6 Fixed String not used
25017 Pad2 U 2 14 Fixed String not used
<RequestHeader>
34 MsgSeqNum Y 4 16 unsigned int Must be set to 1.
50 SenderSubID U 4 20 unsigned int not used
<Message Body>
20055 PartyIDSessionID Y 4 24 unsigned int Session ID.
1408 DefaultCstmApplVerID Y 30 28 Fixed String Indicates the BSE ETI interface versi-
(0-terminable) on the ETI gateway software uses.
Must be set as 2.0
Valid characters: \x20,\x22-\x7B,
\x7D,\x7E
554 Password Y 32 58 Fixed String Password.
(0-terminable) Valid characters: 0-9,A-Z,a-z,\x21,
\x23,\x24,\x25,\x26,\x2A,\x2B,
\x2D,\x2E,\x2F,\x3D,\x40,\x5F
25021 Pad6 U 6 90 Fixed String not used
86
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
7.6.2 Session List Inquire Response
This message confirms the Session List Inquire request and provides information about
sessions of the own business unit. The SessionSubMode (28730) is only set for LF sessions.
Tag Field Name Req’d Len Ofs Data Type Description
<MessageHeaderOut>
9 BodyLen Y 4 0 unsigned int Number of bytes for the message, in-
cluding this field.
28500 TemplateID Y 2 4 unsigned int Unique identifier for a BSE ETI mes-
sage layout. Value: 10036 (SessionDe-
tailsListResponse, MsgType = U6)
25017 Pad2 U 2 6 Fixed String not used
<ResponseHeader>
5979 RequestTime Y 8 8 UTCTimestamp Gateway request in timestamp.
52 SendingTime Y 8 16 UTCTimestamp Gateway response out timestamp.
34 MsgSeqNum Y 4 24 unsigned int Message sequence number used by the
participant for requests sent to the ga-
teway.
25019 Pad4 U 4 28 Fixed String not used
<Message Body>
28734 NoSessions Y 2 32 Counter Number of sessions in a response
25021 Pad6 U 6 34 Fixed String not used
<SessionsGrp> Cardinality: 1-1000, Record counter:
NoSessions
20055 >PartyIDSessionID Y 4 40 unsigned int Session ID.
28730 >SessionMode Y 1 44 unsigned int Session type.
Value Description
1 HF
2 LF
28735 >SessionSubMode N 1 45 unsigned int Is set. if SessionMode(28730) = 2(LF)
Value Description
0 Regular Trading Session
1 FIX Trading Session
2 Regular Back Office Session
25017 >Pad2 U 2 46 Fixed String not used
87
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
7.6.3 Session Password Change
Tag Field Name Req’d Len Ofs Data Type Description
<MessageHeaderIn>
9 BodyLen Y 4 0 unsigned int Number of bytes for the message, in-
cluding this field.
28500 TemplateID Y 2 4 unsigned int Unique identifier for a BSE ETI mes-
sage layout. Value: 10997 (Logon, Ms-
gType = A)
25028 NetworkMsgID U 8 6 Fixed String not used
25017 Pad2 U 2 14 Fixed String not used
<RequestHeader>
34 MsgSeqNum Y 4 16 unsigned int Message sequence number used by the
participant for requests sent to the ga-
teway.
50 SenderSubID Y 4 20 unsigned int User ID.
<Message Body>
20055 PartyIDSessionID Y 4 24 unsigned int Session ID.
554 Password Y 32 28 Fixed String Password.
(0-terminable) Valid characters: 0-9,A-Z,a-z,\x21,
\x23,\x24,\x25,\x26,\x2A,\x2B,
\x2D,\x2E,\x2F,\x3D,\x40,\x5F
925 NewPassword Y 32 60 Fixed String The new password for the user.
(0-terminable) Valid characters: 0-9,A-Z,a-z,\x21,
\x23,\x24,\x25,\x26,\x2A,\x2B,
\x2D,\x2E,\x2F,\x3D,\x40,\x5F
25019 Pad4 U 4 92 Fixed String not used
88
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
7.6.4 Session Password Change Response
Tag Field Name Req’d Len Ofs Data Type Description
<MessageHeaderOut>
9 BodyLen Y 4 0 unsigned int Number of bytes for the message, in-
cluding this field.
28500 TemplateID Y 2 4 unsigned int Unique identifier for a BSE ETI mes-
sage layout. Value: 10995 (Logon, Ms-
gType = A)
25017 Pad2 U 2 6 Fixed String not used
<ResponseHeader>
5979 RequestTime Y 8 8 UTCTimestamp Gateway request in timestamp.
52 SendingTime Y 8 16 UTCTimestamp Gateway response out timestamp.
34 MsgSeqNum Y 4 24 unsigned int Message sequence number used by the
participant for requests sent to the ga-
teway.
25019 Pad4 U 4 28 Fixed String not used
89
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
7.6.5 User Password Change
This message is used to change the password of the user. For more details, please refer to
chapter 5.2.3 User Authentication.
Tag Field Name Req’d Len Ofs Data Type Description
<MessageHeaderIn>
9 BodyLen Y 4 0 unsigned int Number of bytes for the message, in-
cluding this field.
28500 TemplateID Y 2 4 unsigned int Unique identifier for a BSE ETI mes-
sage layout. Value: 10996 (UserRe-
quest, MsgType = BE)
25028 NetworkMsgID U 8 6 Fixed String not used
25017 Pad2 U 2 14 Fixed String not used
<RequestHeader>
34 MsgSeqNum Y 4 16 unsigned int Message sequence number used by the
participant for requests sent to the ga-
teway.
50 SenderSubID Y 4 20 unsigned int User ID.
<Message Body>
553 Username Y 4 24 unsigned int User ID.
554 Password Y 32 28 Fixed String Password.
(0-terminable) Valid characters: 0-9,A-Z,a-z,\x21,
\x23,\x24,\x25,\x26,\x2A,\x2B,
\x2D,\x2E,\x2F,\x3D,\x40,\x5F
925 NewPassword Y 32 60 Fixed String The new password for the user.
(0-terminable) Valid characters: 0-9,A-Z,a-z,\x21,
\x23,\x24,\x25,\x26,\x2A,\x2B,
\x2D,\x2E,\x2F,\x3D,\x40,\x5F
25019 Pad4 U 4 92 Fixed String not used
90
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
7.6.6 User Password Change Response
This message confirms the User Password Change request. For more details, please refer to
chapter ?? Password Management.
Tag Field Name Req’d Len Ofs Data Type Description
<MessageHeaderOut>
9 BodyLen Y 4 0 unsigned int Number of bytes for the message, in-
cluding this field.
28500 TemplateID Y 2 4 unsigned int Unique identifier for a BSE ETI mes-
sage layout. Value: 10043 (UserRe-
sponse, MsgType = BF)
25017 Pad2 U 2 6 Fixed String not used
<ResponseHeader>
5979 RequestTime Y 8 8 UTCTimestamp Gateway request in timestamp.
52 SendingTime Y 8 16 UTCTimestamp Gateway response out timestamp.
34 MsgSeqNum Y 4 24 unsigned int Message sequence number used by the
participant for requests sent to the ga-
teway.
25019 Pad4 U 4 28 Fixed String not used
91
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
7.6.7 Connection Gateway Response
This message confirms the Connection Gateway request. For more details, please refer to
chapter 5.2.1 IP Addresses and Ports.
Tag Field Name Req’d Len Ofs Data Type Description
<MessageHeaderOut>
9 BodyLen Y 4 0 unsigned int Number of bytes for the message, in-
cluding this field.
28500 TemplateID Y 2 4 unsigned int Unique identifier for a BSE ETI mes-
sage layout. Value: 10021 (Applica-
tionMessageRequestAck, MsgType =
BX)
25017 Pad2 U 2 6 Fixed String not used
<ResponseHeader>
5979 RequestTime Y 8 8 UTCTimestamp Gateway request in timestamp.
52 SendingTime Y 8 16 UTCTimestamp Gateway response out timestamp.
34 MsgSeqNum Y 4 24 unsigned int Message sequence number used by the
participant for requests sent to the ga-
teway.
25019 Pad4 U 4 28 Fixed String not used
<Message Body>
28644 GatewayID Y 4 32 unsigned int IP address of the Primary Application
Gateway where the member applica-
tion can establish an active BSE ETI
session.
Note: Binary values are presented in
little endian byte order.
28645 GatewaySubID Y 4 36 unsigned int Port number to be used for the assi-
gned Primary Application Gateway.
Note: Binary values are presented in
little endian byte order.
28725 SecondaryGatewayID Y 4 40 unsigned int IP address of the Secondary Applica-
tion Gateway where the member ap-
plication can establish an active BSE
ETI session. Note: Binary values are
presented in little endian byte order.
SecondaryGatewaySub-
28726 Y 4 44 unsigned int Port number to be used for the assi-
ID
gned Secondary Application Gateway.
Note: Binary values are presented in
little endian byte order.
92
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
Tag Field Name Req’d Len Ofs Data Type Description
28730 SessionMode Y 1 48 unsigned int Session type.
Value Description
1 HF
2 LF
339 TradSesMode Y 1 49 unsigned int Trading session mode.
Value Description
1 Development
2 Simulation
3 Production
4 Acceptance
25021 Pad6 U 6 50 Fixed String not used
93
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
7.6.8 Session Logon
This message must be the first message sent by the participant to the assigned gateway
authenticating the BSE ETI session. Password change is not supported. For more details,
please refer to chapter 5.2.2 Session Authentication and Logon.
Tag Field Name Req’d Len Ofs Data Type Description
<MessageHeaderIn>
9 BodyLen Y 4 0 unsigned int Number of bytes for the message, in-
cluding this field.
28500 TemplateID Y 2 4 unsigned int Unique identifier for a BSE ETI mes-
sage layout. Value: 10000 (Logon, Ms-
gType = A)
25028 NetworkMsgID U 8 6 Fixed String not used
25017 Pad2 U 2 14 Fixed String not used
<RequestHeader>
34 MsgSeqNum Y 4 16 unsigned int Must be set to 1.
50 SenderSubID U 4 20 unsigned int not used
<Message Body>
108 HeartBtInt N 4 24 unsigned int Heartbeat interval in milliseconds.
see also Heartbeat
20055 PartyIDSessionID Y 4 28 unsigned int Session ID.
1408 DefaultCstmApplVerID Y 30 32 Fixed String Indicates the BSE ETI interface versi-
(0-terminable) on the participant application uses.
Must be set as 2.0
Valid characters: \x20,\x22-\x7B,
\x7D,\x7E
554 Password Y 32 62 Fixed String Password.
(0-terminable) Valid characters: 0-9,A-Z,a-z,\x21,
\x23,\x24,\x25,\x26,\x2A,\x2B,
\x2D,\x2E,\x2F,\x3D,\x40,\x5F
94
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
Tag Field Name Req’d Len Ofs Data Type Description
25012 ApplUsageOrders Y 1 94 char Participant application: type of order
processing.
Value Description
A Automated
M Manual
B Both (Automated and Ma-
nual)
N None
25013 ApplUsageQuotes Y 1 95 char not used
Must be sent as N
Valid characters: \x01-\x7E
25014 OrderRoutingIndicator Y 1 96 char Indicates if the participant application
is an order routing system.
Value Description
Y Yes
N No
1600 FIXEngineName N 30 97 Fixed String Provides the name of the infrastruc-
(0-terminable) ture component being used for sessi-
on level communication. Normally this
would be the FIX Engine or FIX Ga-
teway product name.
Valid characters: \x20,\x22-\x7B,
\x7D,\x7E
1601 FIXEngineVersion N 30 127 Fixed String Provides the version of the FIX infra-
(0-terminable) structure component.
Valid characters: \x20,\x22-\x7B,
\x7D,\x7E
1602 FIXEngineVendor N 30 157 Fixed String Provides the name of the vendor pro-
(0-terminable) viding the FIX infrastructure compo-
nent.
Valid characters: \x20,\x22-\x7B,
\x7D,\x7E
ApplicationSystem-
1603 Y 30 187 Fixed String Provides the name of the application
Name
(0-terminable) system being used to generate BSE
ETI application messages. This will
normally be a trading system, OMS,
or EMS.
Valid characters: \x20,\x22-\x7B,
\x7D,\x7E
95
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
Tag Field Name Req’d Len Ofs Data Type Description
ApplicationSystem-
1604 Y 30 217 Fixed String Provides the version of the applicati-
Version
(0-terminable) on system being used to initiate BSE
ETI application messages.
Valid characters: \x20,\x22-\x7B,
\x7D,\x7E
ApplicationSystem-
1605 Y 30 247 Fixed String Provides the vendor of the application
Vendor
(0-terminable) system.
Valid characters: \x20,\x22-\x7B,
\x7D,\x7E
25018 Pad3 U 3 277 Fixed String not used
96
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
7.6.9 Session Logon Response
This message confirms the Session Logon request. For more details, please refer to chapter
5.2.2 Session Authentication and Logon.
Tag Field Name Req’d Len Ofs Data Type Description
<MessageHeaderOut>
9 BodyLen Y 4 0 unsigned int Number of bytes for the message, in-
cluding this field.
28500 TemplateID Y 2 4 unsigned int Unique identifier for a BSE ETI mes-
sage layout. Value: 10001 (Logon, Ms-
gType = A)
25017 Pad2 U 2 6 Fixed String not used
<ResponseHeader>
5979 RequestTime Y 8 8 UTCTimestamp Gateway request in timestamp.
52 SendingTime Y 8 16 UTCTimestamp Gateway response out timestamp.
34 MsgSeqNum Y 4 24 unsigned int Message sequence number used by the
participant for requests sent to the ga-
teway.
25019 Pad4 U 4 28 Fixed String not used
<Message Body>
1614 ThrottleTimeInterval Y 8 32 signed int Throttle time interval in number of
milliseconds; applicable for transacti-
on limit.
1772 LastLoginTime N 8 40 UTCTimestamp The time when last successful login
was performed.
1771 LastLoginIP N 4 48 unsigned int The IP address of the machine from
where last successful login was made.
1613 ThrottleNoMsgs Y 4 52 unsigned int Transaction limit per ThrottleTimeIn-
terval (1614). If set to 0, throttling
will be switched off.
ThrottleDisconnect-
25002 Y 4 56 unsigned int Disconnect limit: maximum number
Limit
of sequential message rejects due to
throttle violation allowed by the BSE
ETI.
108 HeartBtInt Y 4 60 unsigned int Heartbeat interval in milliseconds as
applied by the gateway. I.e., either the
request’s HeartBtInt or the gateway’s
default value, if HeartBtInt was not
set by the Session Logon request.
25004 SessionInstanceID Y 4 64 unsigned int Unique ID for the session instance as-
signed by the BSE system during ses-
sion logon; to be communicated to
helpdesk for troubleshooting.
97
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
Tag Field Name Req’d Len Ofs Data Type Description
339 TradSesMode Y 1 68 unsigned int Trading session mode.
Value Description
1 Development
2 Simulation
3 Production
4 Acceptance
1770 NoOfPartition N 8 69 signed int Total number of Partitions in the seg-
ment.
DaysLeftForPasswd-
1774 N 1 70 unsigned int Number of days remaining for the ex-
Expiry
piry of password. The field will be po-
pulated 3 days prior to the expiry else
it will contain
"no value"data.
1773 GraceLoginsLeft N 1 71 unsigned int Number of successful logins allowed
with expired password. The field will
have value set , once the password is
expired else it would contain no value
data. The value 0 indicates no new
login with expired password will be al-
lowed.
1408 DefaultCstmApplVerID Y 30 72 Fixed String Indicates the BSE ETI interface versi-
(0-terminable) on the ETI gateway software uses.
Must be set as 2.0
Valid characters: \x20,\x22-\x7B,
\x7D,\x7E
25017 Pad2 U 2 102 Fixed String not used
98
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
7.6.10 Session Logout
Session Logout request. For more details, please refer to chapter 6.3 Logout.
Tag Field Name Req’d Len Ofs Data Type Description
<MessageHeaderIn>
9 BodyLen Y 4 0 unsigned int Number of bytes for the message, in-
cluding this field.
28500 TemplateID Y 2 4 unsigned int Unique identifier for a BSE ETI mes-
sage layout. Value: 10002 (Logout,
MsgType = 5)
25028 NetworkMsgID U 8 6 Fixed String not used
25017 Pad2 U 2 14 Fixed String not used
<RequestHeader>
34 MsgSeqNum Y 4 16 unsigned int Message sequence number used by the
participant for requests sent to the ga-
teway.
50 SenderSubID U 4 20 unsigned int not used
99
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
7.6.11 Session Logout Response
This message confirms the Session Logout request. For more details, please refer to chapter
6.3 Logout.
Tag Field Name Req’d Len Ofs Data Type Description
<MessageHeaderOut>
9 BodyLen Y 4 0 unsigned int Number of bytes for the message, in-
cluding this field.
28500 TemplateID Y 2 4 unsigned int Unique identifier for a BSE ETI mes-
sage layout. Value: 10003 (Logout,
MsgType = 5)
25017 Pad2 U 2 6 Fixed String not used
<ResponseHeader>
5979 RequestTime Y 8 8 UTCTimestamp Gateway request in timestamp.
52 SendingTime Y 8 16 UTCTimestamp Gateway response out timestamp.
34 MsgSeqNum Y 4 24 unsigned int Message sequence number used by the
participant for requests sent to the ga-
teway.
25019 Pad4 U 4 28 Fixed String not used
100
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
7.6.12 Session Logout Notification
The Session Logout Notification message is used to inform about an unsolicited session logout
triggered by the operator of the BSE system or by the BSE system itself. For more details,
please refer to chapter 6.3 Logout.
Tag Field Name Req’d Len Ofs Data Type Description
<MessageHeaderOut>
9 BodyLen Y 4 0 unsigned int Number of bytes for the message, in-
cluding this field.
28500 TemplateID Y 2 4 unsigned int Unique identifier for a BSE ETI mes-
sage layout. Value: 10012 (Logout,
MsgType = 5)
25017 Pad2 U 2 6 Fixed String not used
<NotifHeader>
52 SendingTime Y 8 8 UTCTimestamp Gateway response out timestamp.
<Message Body>
30354 VarTextLen Y 2 16 Counter Number of bytes for field VarText
(30355).
25021 Pad6 U 6 18 Fixed String not used
30355 VarText Y 2000 24 Variable String Error text.
Valid characters: \x09,\x0A,\x0D,
\x20,\x22-\x7B,\x7D,\x7E
101
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
7.6.13 Heartbeat
The Heartbeat message is used by the BSE ETI gateway to monitor the status of the
communication link to the ETI client during periods of inactivity. For more details, please refer
to chapter 6.4 Heartbeat.
Tag Field Name Req’d Len Ofs Data Type Description
<MessageHeaderIn>
9 BodyLen Y 4 0 unsigned int Number of bytes for the message, in-
cluding this field.
28500 TemplateID Y 2 4 unsigned int Unique identifier for a BSE ETI mes-
sage layout. Value: 10011 (Heartbeat,
MsgType = 0)
25028 NetworkMsgID U 8 6 Fixed String not used
25017 Pad2 U 2 14 Fixed String not used
102
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
7.6.14 Heartbeat Notification
The Heartbeat notification may be used by the ETI client to monitor the status of the
communication link to the BSE ETI gateway during periods of inactivity. For more details
please refer to chapter 6.4 Heartbeat.
Tag Field Name Req’d Len Ofs Data Type Description
<MessageHeaderOut>
9 BodyLen Y 4 0 unsigned int Number of bytes for the message, in-
cluding this field.
28500 TemplateID Y 2 4 unsigned int Unique identifier for a BSE ETI mes-
sage layout. Value: 10023 (Heartbeat,
MsgType = 0)
25017 Pad2 U 2 6 Fixed String not used
<NotifHeader>
52 SendingTime Y 8 8 UTCTimestamp Gateway response out timestamp.
103
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
7.6.15 Legal Notification
This message informs about the suspension from trading. For more details, please refer to
chapter 4.9 Risk Control.
Tag Field Name Req’d Len Ofs Data Type Description
<MessageHeaderOut>
9 BodyLen Y 4 0 unsigned int Number of bytes for the message, in-
cluding this field.
28500 TemplateID Y 2 4 unsigned int Unique identifier for a BSE ETI mes-
sage layout. Value: 10037 (UserNoti-
fication, MsgType = CB)
25017 Pad2 U 2 6 Fixed String not used
<RBCHeader>
52 SendingTime Y 8 8 UTCTimestamp Gateway response out timestamp.
1181 ApplSeqNum Y 8 16 unsigned int Application sequence number assi-
gned to a non-order related BSE ETI
data stream.
28727 ApplSubID U 4 24 unsigned int not used
5948 PartitionID Y 2 28 unsigned int Grouping of BSE products.
Belongs to the scope of Service
Availability and Retransmit requests.
1352 ApplResendFlag Y 1 30 unsigned int Indicates a retransmission message.
Value Description
0 False
1 True
1180 ApplID Y 1 31 unsigned int Identifier for an ETI data stream.
Value Description
6 Risk Control
893 LastFragment Y 1 32 unsigned int Indicates whether this message is the
last fragment (part) of a sequence of
messages belonging to one dedicated
transaction.
Value Description
1 Last Message
25022 Pad7 U 7 33 Fixed String not used
<Message Body>
60 TransactTime Y 8 40 UTCTimestamp Transaction timestamp.
30354 VarTextLen Y 2 48 Counter Number of bytes for field VarText
(30355).
104
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
Tag Field Name Req’d Len Ofs Data Type Description
926 UserStatus Y 1 50 unsigned int The status of the User
Value Description
10 User Stopped
11 User Released
25020 Pad5 U 5 51 Fixed String not used
30355 VarText Y 2000 56 Variable String Error text.
Valid characters: \x09,\x0A,\x0D,
\x20,\x22-\x7B,\x7D,\x7E
105
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
7.6.16 User Logon
Each user needs to logon to BSE via the User Logon message. For more details, please refer to
chapter 5.2.3 User Authentication.
Tag Field Name Req’d Len Ofs Data Type Description
<MessageHeaderIn>
9 BodyLen Y 4 0 unsigned int Number of bytes for the message, in-
cluding this field.
28500 TemplateID Y 2 4 unsigned int Unique identifier for a BSE ETI mes-
sage layout. Value: 10018 (UserRe-
quest, MsgType = BE)
25028 NetworkMsgID U 8 6 Fixed String not used
25017 Pad2 U 2 14 Fixed String not used
<RequestHeader>
34 MsgSeqNum Y 4 16 unsigned int Message sequence number used by the
participant for requests sent to the ga-
teway.
50 SenderSubID U 4 20 unsigned int not used
<Message Body>
553 Username Y 4 24 unsigned int User ID.
554 Password Y 32 28 Fixed String Password.
(0-terminable) Valid characters: 0-9,A-Z,a-z,\x21,
\x23,\x24,\x25,\x26,\x2A,\x2B,
\x2D,\x2E,\x2F,\x3D,\x40,\x5F
25019 Pad4 U 4 60 Fixed String not used
106
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
7.6.17 User Logon Response
The User Logon Response message is used to confirm a user logon. For more details, please
refer to chapter 5.2.3 User Authentication.
Tag Field Name Req’d Len Ofs Data Type Description
<MessageHeaderOut>
9 BodyLen Y 4 0 unsigned int Number of bytes for the message, in-
cluding this field.
28500 TemplateID Y 2 4 unsigned int Unique identifier for a BSE ETI mes-
sage layout. Value: 10019 (UserRe-
sponse, MsgType = BF)
25017 Pad2 U 2 6 Fixed String not used
<ResponseHeader>
5979 RequestTime Y 8 8 UTCTimestamp Gateway request in timestamp.
52 SendingTime Y 8 16 UTCTimestamp Gateway response out timestamp.
34 MsgSeqNum Y 4 24 unsigned int Message sequence number used by the
participant for requests sent to the ga-
teway.
25019 Pad4 U 4 28 Fixed String not used
<Message Body>
1772 LastLoginTime N 8 32 UTCTimestamp The time when last successful login
was performed.
DaysLeftForPasswd-
1774 N 1 40 unsigned int Number of days remaining for the ex-
Expiry
piry of password. The field will be po-
pulated 3 days prior to the expiry else
it will contain
"no value"data.
1773 GraceLoginsLeft N 1 41 unsigned int Number of successful logins allowed
with expired password. The field will
have value set , once the password is
expired else it would contain no value
data. The value 0 indicates no new
login with expired password will be al-
lowed.
25021 Pad6 U 6 42 Fixed String not used
107
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
7.6.18 User Logout
Each user may logout from BSE via the User Logout message.
Tag Field Name Req’d Len Ofs Data Type Description
<MessageHeaderIn>
9 BodyLen Y 4 0 unsigned int Number of bytes for the message, in-
cluding this field.
28500 TemplateID Y 2 4 unsigned int Unique identifier for a BSE ETI mes-
sage layout. Value: 10029 (UserRe-
quest, MsgType = BE)
25028 NetworkMsgID U 8 6 Fixed String not used
25017 Pad2 U 2 14 Fixed String not used
<RequestHeader>
34 MsgSeqNum Y 4 16 unsigned int Message sequence number used by the
participant for requests sent to the ga-
teway.
50 SenderSubID U 4 20 unsigned int not used
<Message Body>
553 Username Y 4 24 unsigned int User ID.
25019 Pad4 U 4 28 Fixed String not used
108
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
7.6.19 User Logout Response
The User Logout Response message is used to confirm a user logout.
Tag Field Name Req’d Len Ofs Data Type Description
<MessageHeaderOut>
9 BodyLen Y 4 0 unsigned int Number of bytes for the message, in-
cluding this field.
28500 TemplateID Y 2 4 unsigned int Unique identifier for a BSE ETI mes-
sage layout. Value: 10024 (UserRe-
sponse, MsgType = BF)
25017 Pad2 U 2 6 Fixed String not used
<ResponseHeader>
5979 RequestTime Y 8 8 UTCTimestamp Gateway request in timestamp.
52 SendingTime Y 8 16 UTCTimestamp Gateway response out timestamp.
34 MsgSeqNum Y 4 24 unsigned int Message sequence number used by the
participant for requests sent to the ga-
teway.
25019 Pad4 U 4 28 Fixed String not used
109
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
7.6.20 Throttle Update Notification
This message informs about throttle parameters that have been updated intraday.
Tag Field Name Req’d Len Ofs Data Type Description
<MessageHeaderOut>
9 BodyLen Y 4 0 unsigned int Number of bytes for the message, in-
cluding this field.
28500 TemplateID Y 2 4 unsigned int Unique identifier for a BSE ETI mes-
sage layout. Value: 10028 (UserNoti-
fication, MsgType = CB)
25017 Pad2 U 2 6 Fixed String not used
<NotifHeader>
52 SendingTime Y 8 8 UTCTimestamp Gateway response out timestamp.
<Message Body>
1614 ThrottleTimeInterval Y 8 16 signed int Throttle time interval in number of
milliseconds; applicable for transacti-
on limit.
1613 ThrottleNoMsgs Y 4 24 unsigned int Transaction limit per ThrottleTimeIn-
terval (1614). If set to 0, throttling
will be switched off.
ThrottleDisconnect-
25002 Y 4 28 unsigned int Disconnect limit: maximum number
Limit
of sequential message rejects due to
throttle violation allowed by the BSE
ETI.
110
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
7.6.21 Subscribe
This message is used to subscribe to a BSE ETI broadcast. Multiple subscriptions to the same
pair of RefApplId (1355) and SubscriptionScope (25001) are not allowed. For more details,
please refer to chapter 6.9 Broadcast.
Tag Field Name Req’d Len Ofs Data Type Description
<MessageHeaderIn>
9 BodyLen Y 4 0 unsigned int Number of bytes for the message, in-
cluding this field.
28500 TemplateID Y 2 4 unsigned int Unique identifier for a BSE ETI mes-
sage layout. Value: 10025 (Appli-
cationMessageRequest, MsgType =
BW)
25028 NetworkMsgID U 8 6 Fixed String not used
25017 Pad2 U 2 14 Fixed String not used
<RequestHeader>
34 MsgSeqNum Y 4 16 unsigned int Message sequence number used by the
participant for requests sent to the ga-
teway.
50 SenderSubID U 4 20 unsigned int not used
<Message Body>
25001 SubscriptionScope N 4 24 unsigned int -Trade broadcast(Business Unit) :
Wildcard (no value)[Applicable for ad-
min session only]
-Trade broadcast (Own Session) : Ses-
sion ID
- News broadcast: Market ID (1 =
BSE)
- Risk Control broadcast: "no value"
- Service Availability: Partition ID or
wildcard (no value)
- Trading limits ( User/ Group/
Instrument) : Session ID
111
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
Tag Field Name Req’d Len Ofs Data Type Description
1355 RefApplID Y 1 28 unsigned int Application identifier of a BSE ETI
data stream.
Value Description
1 Trade
2 News
3 Service Availability
5 Listener Data
25018 Pad3 U 3 29 Fixed String not used
112
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
7.6.22 Subscribe Response
The Subscribe Broadcast Response message is used to confirm the broadcast subscription. For
more details, please refer to chapter 6.9 Broadcast.
Tag Field Name Req’d Len Ofs Data Type Description
<MessageHeaderOut>
9 BodyLen Y 4 0 unsigned int Number of bytes for the message, in-
cluding this field.
28500 TemplateID Y 2 4 unsigned int Unique identifier for a BSE ETI mes-
sage layout. Value: 10005 (Applica-
tionMessageRequestAck, MsgType =
BX)
25017 Pad2 U 2 6 Fixed String not used
<ResponseHeader>
5979 RequestTime Y 8 8 UTCTimestamp Gateway request in timestamp.
52 SendingTime Y 8 16 UTCTimestamp Gateway response out timestamp.
34 MsgSeqNum Y 4 24 unsigned int Message sequence number used by the
participant for requests sent to the ga-
teway.
25019 Pad4 U 4 28 Fixed String not used
<Message Body>
28727 ApplSubID Y 4 32 unsigned int Unique ID assigned by the BSE sys-
tem during broadcast subscription in
order to link broadcasts to the related
subscription.
25019 Pad4 U 4 36 Fixed String not used
113
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
7.6.23 Unsubscribe
This message is used to revoke a broadcast subscription.
Tag Field Name Req’d Len Ofs Data Type Description
<MessageHeaderIn>
9 BodyLen Y 4 0 unsigned int Number of bytes for the message, in-
cluding this field.
28500 TemplateID Y 2 4 unsigned int Unique identifier for a BSE ETI mes-
sage layout. Value: 10006 (Appli-
cationMessageRequest, MsgType =
BW)
25028 NetworkMsgID U 8 6 Fixed String not used
25017 Pad2 U 2 14 Fixed String not used
<RequestHeader>
34 MsgSeqNum Y 4 16 unsigned int Message sequence number used by the
participant for requests sent to the ga-
teway.
50 SenderSubID U 4 20 unsigned int not used
<Message Body>
28728 RefApplSubID Y 4 24 unsigned int Unique ID for the subscription instan-
ce assigned by the BSE system during
broadcast subscription.
25019 Pad4 U 4 28 Fixed String not used
114
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
7.6.24 Unsubscribe Response
The Unsubscribe Broadcast Response message is used to confirm the revocation of a
broadcast subscription.
Tag Field Name Req’d Len Ofs Data Type Description
<MessageHeaderOut>
9 BodyLen Y 4 0 unsigned int Number of bytes for the message, in-
cluding this field.
28500 TemplateID Y 2 4 unsigned int Unique identifier for a BSE ETI mes-
sage layout. Value: 10007 (Applica-
tionMessageRequestAck, MsgType =
BX)
25017 Pad2 U 2 6 Fixed String not used
<ResponseHeader>
5979 RequestTime Y 8 8 UTCTimestamp Gateway request in timestamp.
52 SendingTime Y 8 16 UTCTimestamp Gateway response out timestamp.
34 MsgSeqNum Y 4 24 unsigned int Message sequence number used by the
participant for requests sent to the ga-
teway.
25019 Pad4 U 4 28 Fixed String not used
115
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
7.6.25 Retransmit
This message is used for re-transmission of trade, risk control and news data for recovery
purposes. The specified application sequence number range will lead to the retransmission of
data whose application sequence number is >= ApplBegSeqNum (1182) and <=
ApplEndSeqNum (1183). For more details, please refer to chapter 6.10.1 Retransmission.
Tag Field Name Req’d Len Ofs Data Type Description
<MessageHeaderIn>
9 BodyLen Y 4 0 unsigned int Number of bytes for the message, in-
cluding this field.
28500 TemplateID Y 2 4 unsigned int Unique identifier for a BSE ETI mes-
sage layout. Value: 10008 (Appli-
cationMessageRequest, MsgType =
BW)
25028 NetworkMsgID U 8 6 Fixed String not used
25017 Pad2 U 2 14 Fixed String not used
<RequestHeader>
34 MsgSeqNum Y 4 16 unsigned int Message sequence number used by the
participant for requests sent to the ga-
teway.
50 SenderSubID U 4 20 unsigned int not used
<Message Body>
1182 ApplBegSeqNum N 8 24 SeqNum "no value"means first known sequence
number: 1
1183 ApplEndSeqNum N 8 32 SeqNum Ending range of application sequence
numbers.
116
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
Tag Field Name Req’d Len Ofs Data Type Description
25001 SubscriptionScope N 4 40 unsigned int -Trade broadcast(Business Unit) :
Wildcard (no value)[Applicable for ad-
min session only]
-Trade broadcast (Own Session) : Ses-
sion ID
- News broadcast: Market ID (1 =
BSE)
- Risk Control broadcast: "no value"
- Service Availability: Partition ID or
wildcard (no value)
- Trading limits ( User/ Group/
Instrument) : Session ID
5948 PartitionID Y 2 44 unsigned int The application sequence numbers are
only unique per RefApplID, Subcrip-
tionScope and PartionID. Therefore,
the PartitionID is required to defi-
ne the scope of a Retransmission Re-
quest.
For News and Risk Control broadcast
to be set to 0.
1355 RefApplID Y 1 46 unsigned int Application identifier of a BSE ETI
data stream.
Value Description
1 Trade
2 News
6 Risk Control
8 Risk Admin
25016 Pad1 U 1 47 Fixed String not used
117
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
7.6.26 Retransmit Response
The Retransmission Response message confirms the Retransmit request and delivers only a
fixed number of the requested data packages. So the requesting client would have to send a
new retransmission request (with updated sequence numbers) if the captured response does
not contain all requested data. (See below: ApplEndSeqNum (1183)).
The field ApplTotalMessageCount (1349) indicates how many retransmitted broadcast
messages will follow. They will not be interrupted by other messages.
All these messages will consist of:
• a <MessageHeaderOut>.
• a < RBCHeader>, where ApplSubID (28727) is always set to "no valueänd
ApplResendFlag (1352) is always set to True (indicating a retransmission message).
• a <MessageBody>, which is specific for the TemplateID (28500) in
<MessageHeaderOut>.
For more details, please refer to chapter 6.10.1 Retransmission.
Tag Field Name Req’d Len Ofs Data Type Description
<MessageHeaderOut>
9 BodyLen Y 4 0 unsigned int Number of bytes for the message, in-
cluding this field.
28500 TemplateID Y 2 4 unsigned int Unique identifier for a BSE ETI mes-
sage layout. Value: 10009 (Applica-
tionMessageRequestAck, MsgType =
BX)
25017 Pad2 U 2 6 Fixed String not used
<ResponseHeader>
5979 RequestTime Y 8 8 UTCTimestamp Gateway request in timestamp.
52 SendingTime Y 8 16 UTCTimestamp Gateway response out timestamp.
34 MsgSeqNum Y 4 24 unsigned int Message sequence number used by the
participant for requests sent to the ga-
teway.
25019 Pad4 U 4 28 Fixed String not used
<Message Body>
1183 ApplEndSeqNum N 8 32 SeqNum Ending range of application sequence
numbers. If it is not set to the related
request’s ApplEndSeqNum, the client
will have to send another retransmis-
sion request (with an updated Ap-
plBegSeqNum). "no value"means the
requested data is not available.
118
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
Tag Field Name Req’d Len Ofs Data Type Description
1357 RefApplLastSeqNum N 8 40 SeqNum Last application sequence number
known by the BSE system for a certain
scope of RefApplID, SubscriptionSco-
pe and PartitionID. "no value"means
that there is no data persisted yet
for the requested stream/subscription
scope.
ApplTotalMessage-
1349 Y 2 48 unsigned int Total number of messages included in
Count
transmission.
25021 Pad6 U 6 50 Fixed String not used
119
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
7.6.27 Retransmit (Order/Quote Event)
This message is used for re-transmission of recoverable order/quote event data for recovery
purposes. The specified application message identifier range will lead to the retransmission of
data whose application message identifier is > ApplBegMsgID (28718) and <=
ApplEndMsgID (28719).
For more details, please refer to chapter 6.10.1 Retransmission.
Tag Field Name Req’d Len Ofs Data Type Description
<MessageHeaderIn>
9 BodyLen Y 4 0 unsigned int Number of bytes for the message, in-
cluding this field.
28500 TemplateID Y 2 4 unsigned int Unique identifier for a BSE ETI mes-
sage layout. Value: 10026 (Appli-
cationMessageRequest, MsgType =
BW)
25028 NetworkMsgID U 8 6 Fixed String not used
25017 Pad2 U 2 14 Fixed String not used
120
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
Tag Field Name Req’d Len Ofs Data Type Description
<RequestHeader>
34 MsgSeqNum Y 4 16 unsigned int Message sequence number used by the
participant for requests sent to the ga-
teway.
50 SenderSubID U 4 20 unsigned int not used
<Message Body>
25001 SubscriptionScope N 4 24 unsigned int -Trade broadcast(Business Unit) :
Wildcard (no value)[Applicable for ad-
min session only]
-Trade broadcast (Own Session) : Ses-
sion ID
- News broadcast: Market ID (1 =
BSE)
- Risk Control broadcast: "no value"
- Service Availability: Partition ID or
wildcard (no value)
- Trading limits ( User/ Group/
Instrument) : Session ID
5948 PartitionID Y 2 28 unsigned int Application message identifiers are
only unique per RefApplID, Subcrip-
tionScope and PartitionID. Therefore,
the PartitionID is required to define
the scope of a Retransmit request.
1355 RefApplID Y 1 30 unsigned int Application identifier of a BSE ETI
data stream.
Value Description
4 Session Data
5 Listener Data
28718 ApplBegMsgID N 16 31 data Beginning range of application messa-
ge identifiers; "no valueïndicates first
known application message identifier.
28719 ApplEndMsgID N 16 47 data Ending range of application messa-
ge identifiers; "no value"means last
known application message identifier.
25016 Pad1 U 1 63 Fixed String not used
121
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
7.6.28 Retransmit Response (Order/Quote Event)
This message confirms the Retransmit (Order/Quote Event) request and delivers only a fixed
number of the requested data packages. So the requesting client would have to send a new
Retransmit (Order/Quote Event) request (with updated application message identifiers), if the
captured response does not contain all requested data. (See below: ApplEndMsgID (28719)).
The field ApplTotalMessageCount (1349) indicates how many retransmitted broadcast
messages will follow. They will not be interrupted by other messages.
All these messages will consist of:
• a <MessageHeaderOut>.
• a < RBCHeaderME>, where ApplSubID (28727) is always set to "no value",
TrdRegTSTimeOut (21003) is always set to "no value", and ApplResendFlag (1352) is
always set to True (indicating a retransmission message).
• a <MessageBody>, which is specific for the TemplateID (28500) in
<MessageHeaderOut>.
The retransmission message template used for order events differs from the session data
response template in the following cases:
Tag Field Name Req’d Len Ofs Data Type Description
<MessageHeaderOut>
9 BodyLen Y 4 0 unsigned int Number of bytes for the message, in-
cluding this field.
28500 TemplateID Y 2 4 unsigned int Unique identifier for a BSE ETI mes-
sage layout. Value: 10027 (Applica-
tionMessageRequestAck, MsgType =
BX)
25017 Pad2 U 2 6 Fixed String not used
<ResponseHeader>
5979 RequestTime Y 8 8 UTCTimestamp Gateway request in timestamp.
52 SendingTime Y 8 16 UTCTimestamp Gateway response out timestamp.
34 MsgSeqNum Y 4 24 unsigned int Message sequence number used by the
participant for requests sent to the ga-
teway.
25019 Pad4 U 4 28 Fixed String not used
<Message Body>
ApplTotalMessage-
1349 Y 2 32 unsigned int Total number of messages included in
Count
transmission.
28719 ApplEndMsgID N 16 34 data Ending range of application message
identifiers. If it is not set to the related
request’s ApplEndMsgID, the client
will have to send another Retransmit
request (with an updated ApplBegMs-
gID).
122
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
Tag Field Name Req’d Len Ofs Data Type Description
28722 RefApplLastMsgID N 16 50 data Last application message identifier
known by the BSE system for a certain
scope of RefApplID, SubscriptionSco-
pe and PartitionID.
25021 Pad6 U 6 66 Fixed String not used
123
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
7.6.29 Reject
All rejections and errors on an application and session level are communicated via the FIX
standard Reject (3) message.
Tag Field Name Req’d Len Ofs Data Type Description
<MessageHeaderOut>
9 BodyLen Y 4 0 unsigned int Number of bytes for the message, in-
cluding this field.
28500 TemplateID Y 2 4 unsigned int Unique identifier for a BSE ETI mes-
sage layout. Value: 10010 (Reject,
MsgType = 3)
25017 Pad2 U 2 6 Fixed String not used
<NRResponseHeaderME>
5979 RequestTime Y 8 8 UTCTimestamp Gateway request in timestamp.
7764 RequestOut N 8 16 UTCTimestamp Timestamp the gateway sends a mes-
sage to the Matching Engine
21002 TrdRegTSTimeIn N 8 24 UTCTimestamp Matching engine in timestamp.
21003 TrdRegTSTimeOut N 8 32 UTCTimestamp Matching engine out timestamp.
7765 ResponseIn N 8 40 UTCTimestamp Timestamp the gateway receives a
message from the Matching Engine
52 SendingTime Y 8 48 UTCTimestamp Gateway response out timestamp.
34 MsgSeqNum Y 4 56 unsigned int Message sequence number used by the
participant for requests sent to the ga-
teway.
893 LastFragment Y 1 60 unsigned int Indicates whether this message is the
last fragment (part) of a sequence of
messages belonging to one dedicated
transaction.
Value Description
0 Not Last Message
1 Last Message
25018 Pad3 U 3 61 Fixed String not used
<Message Body>
124
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
Tag Field Name Req’d Len Ofs Data Type Description
373 SessionRejectReason Y 4 64 unsigned int Error code.
Value Description
1 Required Tag Missing
5 Value Is Incorrect
7 Decryption Problem
11 Invalid Msg ID
16 Incorrect Num In Group
Count
99 Other
100 Throttle Limit Exceeded
101 Exposure Limit Exceeded
102 Service Temporarily Not
Available
103 Service Not Available
104 Result Of Transaction Un-
known
105 Outbound Conversion Error
152 Heartbeat Violation
200 Internal Technical Error
210 Validation Error
211 User Already Logged In
10000 Order Not Found
10001 Price Not Reasonable
10002 Client Order ID Not Unique
30354 VarTextLen Y 2 68 Counter Number of bytes for field VarText
(30355).
1409 SessionStatus Y 1 70 unsigned int Session status.
Value Description
0 Session active
4 Session logout complete
25016 Pad1 U 1 71 Fixed String not used
30355 VarText Y 2000 72 Variable String Error text.
Valid characters: \x09,\x0A,\x0D,
\x20,\x22-\x7B,\x7D,\x7E
125
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
7.6.30 Session List Inquire
This message is used to get the list of sessions for the own business unit. These returned
sessions (PartyIDSessionID (20055)) can be used as SubscriptionScope (25001) for
retransmission and subscriptions requests to Listener Data (RefApplID (1355) = 4).
For more details, please refer to chapter 6.10.1 Retransmission
Tag Field Name Req’d Len Ofs Data Type Description
<MessageHeaderIn>
9 BodyLen Y 4 0 unsigned int Number of bytes for the message, in-
cluding this field.
28500 TemplateID Y 2 4 unsigned int Unique identifier for a BSE ETI mes-
sage layout. Value: 10035 (SessionDe-
tailsListRequest, MsgType = U5)
25028 NetworkMsgID U 8 6 Fixed String not used
25017 Pad2 U 2 14 Fixed String not used
<RequestHeader>
34 MsgSeqNum Y 4 16 unsigned int Message sequence number used by the
participant for requests sent to the ga-
teway.
50 SenderSubID U 4 20 unsigned int not used
126
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
7.7 Order Handling
7.7.1 Order Mass Cancellation Notification
This message informs about an unsolicited mass cancellation event of orders. For more details,
please refer to chapter 4.11 Mass Cancellation Notification and Mass Cancellation Events.
Tag Field Name Req’d Len Ofs Data Type Description
<MessageHeaderOut>
9 BodyLen Y 4 0 unsigned int Number of bytes for the message, in-
cluding this field.
28500 TemplateID Y 2 4 unsigned int Unique identifier for a BSE ETI mes-
sage layout. Value: 10122 (Order-
MassActionReport, MsgType = BZ)
25017 Pad2 U 2 6 Fixed String not used
<RBCHeaderME>
21003 TrdRegTSTimeOut N 8 8 UTCTimestamp Matching engine out timestamp.
52 SendingTime Y 8 16 UTCTimestamp Gateway response out timestamp.
28727 ApplSubID N 4 24 unsigned int Only set for Listener Data.
5948 PartitionID Y 2 28 unsigned int Grouping of BSE products.
Belongs to the scope of Service
Availability and Retransmit requests.
28704 ApplMsgID Y 16 30 data Application message identifier assi-
gned to an order event.
1180 ApplID Y 1 46 unsigned int Identifier for an ETI data stream.
Value Description
4 Session Data
5 Listener Data
1352 ApplResendFlag Y 1 47 unsigned int Indicates a retransmission message.
Value Description
0 False
1 True
893 LastFragment Y 1 48 unsigned int Indicates whether this message is the
last fragment (part) of a sequence of
messages belonging to one dedicated
transaction.
Value Description
0 Not Last Message
1 Last Message
25022 Pad7 U 7 49 Fixed String not used
<Message Body>
1369 MassActionReportID Y 8 56 UTCTimestamp Transaction timestamp.
48 SecurityID N 8 64 signed int Only set for mass cancellations on in-
strument (SecurityID) level.
127
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
Tag Field Name Req’d Len Ofs Data Type Description
1300 MarketSegmentID Y 4 72 signed int Product identifier.
20655 TargetPartyIDSessionID Y 4 76 unsigned int Session ID.
TargetParty-
20612 N 4 80 unsigned int Owning User ID.
IDExecutingTrader
20036 PartyIDEnteringTrader N 4 84 unsigned int Entering User ID.
1370 NoNotAffectedOrders Y 2 88 Counter Number of NotAffectedOrders repea-
ting group instances.
20007 PartyIDEnteringFirm N 1 90 unsigned int Entering Entity ID.
Value Description
1 Participant
2 Market Supervision
28721 MassActionReason Y 1 91 unsigned int Reason for mass cancellation.
Value Description
0 No Special Reason
1 Stop Trading
2 Emergency
4 Stop Button Activated
5 Business Unit Suspended
6 Session Loss
7 RRM: Collateral
8 Price Band Shrink
114 Product State Closing
115 Product State EOD
116 RRM : Regulatory
117 RRM : MWPL
* More Values
18 ExecInst Y 1 92 unsigned int Instructions for order handling.
Value Description
3 Persistent and non-
persistent Orders (FIX
value "H Q")
2 Non-persistent Order (FIX
value "Q")
25018 Pad3 U 3 93 Fixed String not used
<NotAffectedOrdersGrp> Cardinality: 0-500, Record counter:
NoNotAffectedOrders
1371 >NotAffectedOrderID Y 8 96 unsigned int Exchange Order ID of an order whose
cancellation is pending.
1372 >NotAffOrigClOrdID N 8 104 unsigned int Original Client Order ID of an order
whose cancellation is pending.
128
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
7.7.2 Order Mass Cancellation Response No Hits
This message confirms the Mass Cancellation request for orders if the order book of the
session was not affected.
Tag Field Name Req’d Len Ofs Data Type Description
<MessageHeaderOut>
9 BodyLen Y 4 0 unsigned int Number of bytes for the message, in-
cluding this field.
28500 TemplateID Y 2 4 unsigned int Unique identifier for a BSE ETI mes-
sage layout. Value: 10124 (Order-
MassActionReport, MsgType = BZ)
25017 Pad2 U 2 6 Fixed String not used
<NRResponseHeaderME>
5979 RequestTime Y 8 8 UTCTimestamp Gateway request in timestamp.
7764 RequestOut Y 8 16 UTCTimestamp Timestamp the gateway sends a mes-
sage to the Matching Engine
21002 TrdRegTSTimeIn Y 8 24 UTCTimestamp Matching engine in timestamp.
21003 TrdRegTSTimeOut Y 8 32 UTCTimestamp Matching engine out timestamp.
7765 ResponseIn Y 8 40 UTCTimestamp Timestamp the gateway receives a
message from the Matching Engine
52 SendingTime Y 8 48 UTCTimestamp Gateway response out timestamp.
34 MsgSeqNum Y 4 56 unsigned int Message sequence number used by the
participant for requests sent to the ga-
teway.
893 LastFragment Y 1 60 unsigned int Indicates whether this message is the
last fragment (part) of a sequence of
messages belonging to one dedicated
transaction.
Value Description
1 Last Message
25018 Pad3 U 3 61 Fixed String not used
<Message Body>
1369 MassActionReportID Y 8 64 UTCTimestamp Transaction timestamp.
129
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
7.7.3 Order Mass Cancellation Request
This message is used for Mass Cancellation services for orders. For more details, please refer to
chapter 4.5.7 Order Mass Cancellation.
7.7.4 Delete All Order
7.7.5 Delete All Order Complex
Tag Field Name Req’d Len Ofs Data Type Description
<MessageHeaderIn>
9 BodyLen Y 4 0 unsigned int Number of bytes for the message, in-
cluding this field.
28500 TemplateID Y 2 4 unsigned int Unique identifier for a BSE ETI mes-
sage layout. Value: 10120 (Order-
MassActionRequest, MsgType = CA)
25028 NetworkMsgID U 8 6 Fixed String not used
25017 Pad2 U 2 14 Fixed String not used
130
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
Tag Field Name Req’d Len Ofs Data Type Description
<RequestHeader>
34 MsgSeqNum Y 4 16 unsigned int Message sequence number used by the
participant for requests sent to the ga-
teway.
50 SenderSubID Y 4 20 unsigned int User ID.
<Message Body>
48 SecurityID N 8 24 signed int Instrument identifier.
1300 MarketSegmentID Y 4 32 signed int Product identifier.
25029 RegulatoryID N 4 36 unsigned int not used.
20655 TargetPartyIDSessionID N 4 40 unsigned int Session ID.
TargetParty-
20612 N 4 44 unsigned int Owning User ID.
IDExecutingTrader
131
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
7.7.6 Order Mass Cancellation Response
This message confirms the Mass Cancellation request for orders. For more details, please refer
to chapter 4.11 Mass Cancellation Notification and Mass Cancellation Events.
Tag Field Name Req’d Len Ofs Data Type Description
<MessageHeaderOut>
9 BodyLen Y 4 0 unsigned int Number of bytes for the message, in-
cluding this field.
28500 TemplateID Y 2 4 unsigned int Unique identifier for a BSE ETI mes-
sage layout. Value: 10121 (Order-
MassActionReport, MsgType = BZ)
25017 Pad2 U 2 6 Fixed String not used
<ResponseHeaderME>
5979 RequestTime Y 8 8 UTCTimestamp Gateway request in timestamp.
7764 RequestOut Y 8 16 UTCTimestamp Timestamp the gateway sends a mes-
sage to the Matching Engine
21002 TrdRegTSTimeIn Y 8 24 UTCTimestamp Matching engine in timestamp.
21003 TrdRegTSTimeOut Y 8 32 UTCTimestamp Matching engine out timestamp.
7765 ResponseIn Y 8 40 UTCTimestamp Timestamp the gateway receives a
message from the Matching Engine
52 SendingTime Y 8 48 UTCTimestamp Gateway response out timestamp.
34 MsgSeqNum Y 4 56 unsigned int Message sequence number used by the
participant for requests sent to the ga-
teway.
5948 PartitionID Y 2 60 unsigned int Grouping of BSE products.
Belongs to the scope of Service
Availability and Retransmit requests.
1180 ApplID Y 1 62 unsigned int Identifier for an ETI data stream.
Value Description
4 Session Data
28704 ApplMsgID Y 16 63 data Application message identifier assi-
gned to an order event.
893 LastFragment Y 1 79 unsigned int Indicates whether this message is the
last fragment (part) of a sequence of
messages belonging to one dedicated
transaction.
Value Description
0 Not Last Message
1 Last Message
<Message Body>
1369 MassActionReportID Y 8 80 UTCTimestamp Transaction timestamp.
1370 NoNotAffectedOrders Y 2 88 Counter Number of NotAffectedOrders repea-
ting group instances.
132
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
Tag Field Name Req’d Len Ofs Data Type Description
25021 Pad6 U 6 90 Fixed String not used
<NotAffectedOrdersGrp> Cardinality: 0-500, Record counter:
NoNotAffectedOrders
1371 >NotAffectedOrderID Y 8 96 unsigned int Exchange Order ID of an order whose
cancellation is pending.
1372 >NotAffOrigClOrdID N 8 104 unsigned int Original Client Order ID of an order
whose cancellation is pending.
133
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
7.7.7 New Order Single
The New Order Single message is used by the participant to submit an order for single leg
securities. For more details, please refer to chapter 4.5.1 Order Types.
Tag Field Name Req’d Len Ofs Data Type Description
<MessageHeaderIn>
9 BodyLen Y 4 0 unsigned int Number of bytes for the message, in-
cluding this field.
28500 TemplateID Y 2 4 unsigned int Unique identifier for a BSE ETI mes-
sage layout. Value: 10100 (NewOrder-
Single, MsgType = D)
25028 NetworkMsgID U 8 6 Fixed String not used
25017 Pad2 U 2 14 Fixed String not used
<RequestHeader>
34 MsgSeqNum Y 4 16 unsigned int Message sequence number used by the
participant for requests sent to the ga-
teway.
50 SenderSubID Y 4 20 unsigned int User ID.
<Message Body>
44 Price N 8 24 PriceType Limit price. Required if OrdType (40)
is Limit (2) or Stop Limit (4).
99 StopPx N 8 32 PriceType Stop price. Required if OrdType (40)
is Stop (3) or Stop (4).
28740 MaxPricePercentage N 8 40 PriceType Indicates the protection range for mar-
ket order. Required if OrderType (40)
is Market(5).
134
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
Tag Field Name Req’d Len Ofs Data Type Description
142 SenderLocationID Y 8 48 unsigned int The location ID of the order from
where it is originated
11 ClOrdID N 8 56 unsigned int Client Order ID: Unique participant
defined order request identifier; used
for client order id chaining.
526 MessageTag Y 4 64 signed int User defined free field. The field is
echoed in the trade notifications, lis-
tener data, session data.
38 OrderQty Y 4 68 Qty Total Order Quantity.
210 MaxShow N 4 72 Qty The quantity to be made visible in the
market data.
432 ExpireDate N 4 76 LocalMktDate not used
1300 MarketSegmentID N 4 80 signed int Product identifier.
30048 SimpleSecurityID Y 4 84 unsigned int Instrument identifier for simple instru-
ments. Should be filled with the 4
least significant bytes of SecurityID
(48) provided in BSE reference data.
25029 RegulatoryID N 4 88 unsigned int not used.
PartyIDTakeUpTrading-
20096 N 5 92 Fixed String not used.
Firm
Valid characters: A-Z,0-9,\x20
PartyIDOrder-
20013 N 7 97 Fixed String not used.
OriginationFirm
Valid characters: A-Z,0-9,\x20
20032 PartyIDBeneficiary N 9 104 Fixed String not used.
Valid characters: A-Z,0-9,\x20
581 AccountType Y 1 113 unsigned int
Value Description
20 Own
30 Client
40 Special Client
90 Institution
28703 ApplSeqIndicator Y 1 114 unsigned int Indicates if the order is a Lean Order.
Application sequencing is limited for
Lean Orders.
Value Description
0 Lean Order
1 Standard (non lean) Order
135
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
Tag Field Name Req’d Len Ofs Data Type Description
54 Side Y 1 115 unsigned int Side of the order.
Value Description
1 Buy
2 Sell
40 OrdType Y 1 116 unsigned int Order type.
Value Description
2 Limit
3 Stop Market
4 Stop Limit
5 Market
6 Block Deal
28710 PriceValidityCheckType Y 1 117 unsigned int not used.
Value Description
0 None
59 TimeInForce Y 1 118 unsigned int Execution and trading restriction pa-
rameters supported by BSE.
Value Description
0 Day (GFD)
3 Immediate or Cancel (IOC)
7 Session (GFS)
18 ExecInst Y 1 119 unsigned int Instructions for order handling.
Value Description
1 Persistent Order (FIX value
"H")
2 Non-persistent Order (FIX
value "Q")
625 TradingSessionSubID N 1 120 unsigned int not used
1815 TradingCapacity Y 1 121 unsigned int not used.
Must be sent as 1
1 Account Y 2 122 Fixed String not used.
Must be sent as A1
Valid characters: 1-9,\x41,\x47,\x4D,
\x50
77 PositionEffect Y 1 124 char must be set to C
Valid characters: \x01-\x7E
20075 PartyIDLocationID N 2 125 Fixed String not used.
Valid characters: \x01-\x7E
136
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
Tag Field Name Req’d Len Ofs Data Type Description
1031 CustOrderHandlingInst N 1 127 Fixed String not used.
Valid characters: \x20,\x22-\x7B,
\x7D,\x7E
25015 RegulatoryText N 20 128 Fixed String This field is used to provide additio-
nal regulatory information (according
to respective rules & regs, circulars
and/or bilateral coordination between
participant and Trading Surveillance
Office).
Valid characters: \x20,\x22-\x7B,
\x7D,\x7E
58 FreeText1 Y 12 148 Chartext The Unique Client Code (UCC) of the
person for whom the order is entered.
Valid characters: \x00,\x21,\x23,
\x24,\x28,\x29,\x2A,\x2B,\x2D,
\x2E,\x2F,\x30-\x39,\x3A,\x3B,
\x3D,\x3E,\x3F,\x40,\x41-\x5A,
\x5C,\x5D,\x5F,\x60,\x7B,\x7D
25008 FreeText2 N 12 160 Chartext Free-format text field for trader-
specific or customer-related com-
ments. Should not be used in
conjunction with External Member
and Final Beneficiary used for trading
TAIFEX products.
Valid characters: \x00,\x21,\x23,
\x24,\x28,\x29,\x2A,\x2B,\x2D,
\x2E,\x2F,\x30-\x39,\x3A,\x3B,
\x3D,\x3E,\x3F,\x40,\x41-\x5A,
\x5C,\x5D,\x5F,\x60,\x7B,\x7D
25009 FreeText3 N 12 172 Chartext Free-format text field for trader-
specific or customer-related com-
ments.
Valid characters: \x00,\x21,\x23,
\x24,\x28,\x29,\x2A,\x2B,\x2D,
\x2E,\x2F,\x30-\x39,\x3A,\x3B,
\x3D,\x3E,\x3F,\x40,\x41-\x5A,
\x5C,\x5D,\x5F,\x60,\x7B,\x7D
137
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
7.7.8 Extended Order Information
This message format is used for order book restatement, retransmission of order events, the
Listener Broadcast and for unsolicited order events within the session data. For more details,
please refer to chapter 4.5.11 Order Status and Execution Reports.
Tag Field Name Req’d Len Ofs Data Type Description
<MessageHeaderOut>
9 BodyLen Y 4 0 unsigned int Number of bytes for the message, in-
cluding this field.
28500 TemplateID Y 2 4 unsigned int Unique identifier for a BSE ETI mes-
sage layout. Value: 10117 (Execution-
Report, MsgType = 8)
25017 Pad2 U 2 6 Fixed String not used
<RBCHeaderME>
21003 TrdRegTSTimeOut N 8 8 UTCTimestamp Matching engine out timestamp.
52 SendingTime Y 8 16 UTCTimestamp Gateway response out timestamp.
28727 ApplSubID N 4 24 unsigned int Only set for Listener Data.
5948 PartitionID Y 2 28 unsigned int Grouping of BSE products.
Belongs to the scope of Service
Availability and Retransmit requests.
28704 ApplMsgID N 16 30 data Application message identifier assi-
gned to an order event.
1180 ApplID Y 1 46 unsigned int Identifier for an ETI data stream.
Value Description
4 Session Data
5 Listener Data
1352 ApplResendFlag Y 1 47 unsigned int Indicates a retransmission message.
Value Description
0 False
1 True
893 LastFragment Y 1 48 unsigned int Indicates whether this message is the
last fragment (part) of a sequence of
messages belonging to one dedicated
transaction.
Value Description
0 Not Last Message
1 Last Message
25022 Pad7 U 7 49 Fixed String not used
<Message Body>
37 OrderID Y 8 56 unsigned int Exchange Order ID generated by BSE
System; it remains constant over the
lifetime of an order.
138
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
Tag Field Name Req’d Len Ofs Data Type Description
11 ClOrdID N 8 64 unsigned int Client Order ID: Unique participant
defined order request identifier; used
for client order id chaining.
41 OrigClOrdID N 8 72 unsigned int ClOrdID (11) of the last successfully
processed task (request) referring to
the specific order.
48 SecurityID Y 8 80 signed int Instrument identifier.
28740 MaxPricePercentage N 8 88 PriceType Indicates the protection range for mar-
ket order. Required if OrderType (40)
is Market(5).
142 SenderLocationID Y 8 96 unsigned int The location ID of the order from
where it is originated
17 ExecID Y 8 104 UTCTimestamp Transaction timestamp.
21009 TrdRegTSEntryTime Y 8 112 UTCTimestamp The entry timestamp is the time of
the creation of the order.
21008 TrdRegTSTimePriority Y 8 120 UTCTimestamp Priority timestamp.
44 Price N 8 128 PriceType Limit price. Required if OrdType (40)
is Limit (2) or Stop Limit (4).
99 StopPx N 8 136 PriceType Stop price. Required if OrdType (40)
is Stop (3) or Stop (4).
1300 MarketSegmentID Y 4 144 signed int Product identifier.
526 MessageTag Y 4 148 signed int The message tag as provided by the
user in order request
151 LeavesQty Y 4 152 Qty Remaining quantity of an order. If the
order has been executed partially this
field contains the non-executed quan-
tity. A remaining size of 0 indicates
that the order is fully matched or no
longer active.
210 MaxShow N 4 156 Qty The quantity to be made visible in the
market data.
14 CumQty Y 4 160 Qty Cumulated executed quantity of an or-
der.
84 CxlQty Y 4 164 Qty Total quantity cancelled for this order.
38 OrderQty Y 4 168 Qty Total Order Quantity.
432 ExpireDate N 4 172 LocalMktDate not used
20059 PartyIDExecutingUnit Y 4 176 unsigned int Business Unit ID.
20055 PartyIDSessionID Y 4 180 unsigned int Session ID.
PartyIDExecuting-
20012 Y 4 184 unsigned int Owning User ID.
Trader
20036 PartyIDEnteringTrader N 4 188 unsigned int Entering User ID.
139
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
Tag Field Name Req’d Len Ofs Data Type Description
30555 NoLegExecs Y 2 192 Counter Number of InstrmntLegExec repea-
ting group instances.
140
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
Tag Field Name Req’d Len Ofs Data Type Description
ExecRestatement-
378 Y 2 194 unsigned int Code to further qualify the field Exec-
Reason
Type (150) of the Execution Report
(8) message.
Value Description
001 Order Book Restatement
101 Order Added
102 Order Replaced
105 IOC Order Cancelled
108 Book Order Executed
135 Market Order Triggered
172 Stop Order Triggered
212 BOC Order Cancelled
199 Pending Cancellation Exe-
cuted
215 RRM Order Added
216 RRM Order Accepted
217 RRM Order Updation Re-
jected
218 RRM Order Updated Suc-
cessfully
219 RRM Order Deleted
220 RRM Market Order Trigge-
red
221 Provisional Order Added
222 Provisional Order Accepted
223 Provisional Order Updation
Rejected
224 Provisional Order Updated
Successfully
225 Provisional Order Deleted
226 Provisional Market Order
Triggered
231 CALLAUC Order Deleted
232 Order Cancelled: Session
Expiry
233 Order Cancelled: Day Expi-
ry
234 Order Cancelled: Halt
235 Block Deal Order Timed
Out
236 Out Of Price Band Order
237 Order Worse Than Close
Price
141 243 Order Cancelled : SPOS
Price undetermined
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
Tag Field Name Req’d Len Ofs Data Type Description
581 AccountType Y 1 196 unsigned int
Value Description
20 Own
30 Client
40 Special Client
90 Institution
20007 PartyIDEnteringFirm N 1 197 unsigned int Entering Entity ID.
Value Description
1 Participant
2 Market Supervision
1227 ProductComplex Y 1 198 unsigned int This field qualifies an instrument type
on BSE.
Value Description
1 Simple Instrument
5 Futures Spread
39 OrdStatus Y 1 199 char Conveys the current status of an or-
der.
Value Description
0 New
1 Partially Filled
2 Filled
4 Cancelled
9 Suspended
150 ExecType Y 1 200 char The reason why this message was ge-
nerated.
Value Description
0 New
4 Cancelled
5 Replaced
9 Suspended
D Restated
L Triggered
F Trade
M RRM Order Accept
N RRM Order Reject
X Provisional Accept
Y Provisional Order Reject
142
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
Tag Field Name Req’d Len Ofs Data Type Description
54 Side Y 1 201 unsigned int Side of the order.
Value Description
1 Buy
2 Sell
40 OrdType Y 1 202 unsigned int Order type.
Value Description
2 Limit
3 Stop Market
4 Stop Limit
5 Market
6 Block Deal
1815 TradingCapacity Y 1 203 unsigned int not used
59 TimeInForce N 1 204 unsigned int Execution and trading restriction pa-
rameters supported by BSE.
Value Description
0 Day (GFD)
3 Immediate or Cancel (IOC)
7 Session (GFS)
18 ExecInst N 1 205 unsigned int Instructions for order handling.
Value Description
1 Persistent Order (FIX value
"H")
2 Non-persistent Order (FIX
value "Q")
625 TradingSessionSubID N 1 206 unsigned int not used
28703 ApplSeqIndicator N 1 207 unsigned int Indicates if the order is a Lean Order.
Application sequencing is limited for
Lean Orders.
Value Description
0 Lean Order
1 Standard (non lean) Order
1 Account N 2 208 Fixed String not used
Valid characters: 1-9,\x41,\x47,\x4D,
\x50
77 PositionEffect N 1 210 char must be set to C
Valid characters: \x01-\x7E
PartyIDTakeUpTrading-
20096 N 5 211 Fixed String not used.
Firm
Valid characters: A-Z,0-9,\x20
143
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
Tag Field Name Req’d Len Ofs Data Type Description
PartyIDOrder-
20013 N 7 216 Fixed String not used.
OriginationFirm
Valid characters: A-Z,0-9,\x20
20032 PartyIDBeneficiary N 9 223 Fixed String not used.
Valid characters: A-Z,0-9,\x20
20075 PartyIDLocationID N 2 232 Fixed String not used.
Valid characters: \x01-\x7E
1031 CustOrderHandlingInst N 1 234 Fixed String not used.
Valid characters: \x20,\x22-\x7B,
\x7D,\x7E
25015 RegulatoryText N 20 235 Fixed String This field is used to provide additio-
nal regulatory information (according
to respective rules & regs, circulars
and/or bilateral coordination between
participant and Trading Surveillance
Office).
Valid characters: \x20,\x22-\x7B,
\x7D,\x7E
58 FreeText1 Y 12 255 Chartext The Unique Client Code (UCC) of the
person for whom the order is entered.
Valid characters: \x00,\x21,\x23,
\x24,\x28,\x29,\x2A,\x2B,\x2D,
\x2E,\x2F,\x30-\x39,\x3A,\x3B,
\x3D,\x3E,\x3F,\x40,\x41-\x5A,
\x5C,\x5D,\x5F,\x60,\x7B,\x7D
25008 FreeText2 N 12 267 Chartext Free-format text field for trader-
specific or customer-related com-
ments. Should not be used in
conjunction with External Member
and Final Beneficiary used for trading
TAIFEX products.
Valid characters: \x00,\x21,\x23,
\x24,\x28,\x29,\x2A,\x2B,\x2D,
\x2E,\x2F,\x30-\x39,\x3A,\x3B,
\x3D,\x3E,\x3F,\x40,\x41-\x5A,
\x5C,\x5D,\x5F,\x60,\x7B,\x7D
25009 FreeText3 N 12 279 Chartext Free-format text field for trader-
specific or customer-related com-
ments.
Valid characters: \x00,\x21,\x23,
\x24,\x28,\x29,\x2A,\x2B,\x2D,
\x2E,\x2F,\x30-\x39,\x3A,\x3B,
\x3D,\x3E,\x3F,\x40,\x41-\x5A,
\x5C,\x5D,\x5F,\x60,\x7B,\x7D
144
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
Tag Field Name Req’d Len Ofs Data Type Description
1362 NoFills Y 1 291 Counter Specifies the number of partial fills in-
cluded in this Execution Report.
555 NoLegs Y 1 292 Counter Number of LegOrd repeating group
instances.
1823 Triggered Y 1 293 unsigned int Indicates if an order has been pre-
viously triggered.
Value Description
0 Not Triggered
1 Triggered Stop Order
25017 Pad2 U 2 294 Fixed String not used
<LegOrdGrp> Cardinality: 0-5, Record counter: No-
Legs
28715 >LegAccount Y 2 296 Fixed String not used
Must be sent as A1
Valid characters: 1-9,\x41,\x47,\x4D,
\x50
564 >LegPositionEffect Y 1 298 char not used.
Must be set as Cl
Valid characters: \x01-\x7E
25020 >Pad5 U 5 299 Fixed String not used
<FillsGrp> Cardinality: 0-100, Record counter:
NoFills
1364 >FillPx Y 8 0 PriceType Price of Fill.
1365 >FillQty Y 4 8 Qty Quantity of Fill.
28708 >FillMatchID Y 4 12 unsigned int Unique identifier for each price level
(match step) of a match event; it is
used for public trade reporting.
1363 >FillExecID Y 4 16 signed int Private identifier of an order match
step event, which can be reconciled
with the field SideTradeID (1506) in
the Trade Notification.
1443 >FillLiquidityInd N 1 20 unsigned int Indicates whether the order added or
removed liquidity. Required only for
execution reports generated for fills.
Value Description
1 Added Liquidity
2 Removed Liquidity
5 Triggered Stop Order
7 Triggered Market Order
25018 >Pad3 U 3 21 Fixed String not used
145
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
Tag Field Name Req’d Len Ofs Data Type Description
<InstrmntLegExecGrp> Cardinality: 0-600, Record counter:
NoLegExecs
602 >LegSecurityID Y 8 0 signed int Instrument identifier of the leg securi-
ty.
637 >LegLastPx Y 8 8 PriceType Price of this leg fill.
1418 >LegLastQty Y 4 16 Qty Quantity executed in this leg fill.
1893 >LegExecID Y 4 20 signed int Private identifier of a leg match step,
which can be reconciled with the field
SideTradeID (1506) in the Trade No-
tification.
624 >LegSide Y 1 24 unsigned int The side of the individual leg of a stra-
tegy as defined in its signature.
Value Description
1 Buy
2 Sell
25010 >NoFillsIndex Y 1 25 unsigned int Reference to the corresponding Fills-
Grp repeating group instance.
25021 >Pad6 U 6 26 Fixed String not used
146
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
7.7.9 New Order Single (short layout)
This short order message layout is used by the participant to submit an order in a simple
instrument. Selected order attributes are implicitly set. For more details, please refer to
chapter 4.5.9 Short Order Message Layouts.
Tag Field Name Req’d Len Ofs Data Type Description
<MessageHeaderIn>
9 BodyLen Y 4 0 unsigned int Number of bytes for the message, in-
cluding this field.
28500 TemplateID Y 2 4 unsigned int Unique identifier for a BSE ETI mes-
sage layout. Value: 10125 (NewOrder-
Single, MsgType = D)
25028 NetworkMsgID U 8 6 Fixed String not used
25017 Pad2 U 2 14 Fixed String not used
<RequestHeader>
34 MsgSeqNum Y 4 16 unsigned int Message sequence number used by the
participant for requests sent to the ga-
teway.
50 SenderSubID Y 4 20 unsigned int User ID.
<Message Body>
44 Price Y 8 24 PriceType Limit price.
147
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
Tag Field Name Req’d Len Ofs Data Type Description
142 SenderLocationID Y 8 32 unsigned int The location ID of the order from
where it is originated
11 ClOrdID N 8 40 unsigned int Client Order ID: Unique participant
defined order request identifier; used
for client order id chaining.
38 OrderQty Y 4 48 Qty Total Order Quantity.
210 MaxShow N 4 52 Qty The quantity to be made visible in the
market data.
30048 SimpleSecurityID Y 4 56 unsigned int Instrument identifier for simple instru-
ments. Should be filled with the 4
least significant bytes of SecurityID
(48) provided in BSE reference data.
581 AccountType Y 1 60 unsigned int
Value Description
20 Own
30 Client
40 Special Client
90 Institution
54 Side Y 1 61 unsigned int Side of the order.
Value Description
1 Buy
2 Sell
28710 PriceValidityCheckType Y 1 62 unsigned int not used.
Value Description
0 None
1 Optional
2 Mandatory
59 TimeInForce Y 1 63 unsigned int Execution and trading restriction pa-
rameters supported by BSE.
Value Description
0 Day (GFD)
3 Immediate or Cancel (IOC)
7 Session (GFS)
18 ExecInst U 1 64 unsigned int not used
148
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
Tag Field Name Req’d Len Ofs Data Type Description
58 FreeText1 Y 12 66 Chartext The Unique Client Code (UCC) of the
person for whom the order is entered.
Valid characters: \x00,\x21,\x23,
\x24,\x28,\x29,\x2A,\x2B,\x2D,
\x2E,\x2F,\x30-\x39,\x3A,\x3B,
\x3D,\x3E,\x3F,\x40,\x41-\x5A,
\x5C,\x5D,\x5F,\x60,\x7B,\x7D
25017 Pad2 U 2 78 Fixed String not used
149
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
7.7.10 New Order Multi Leg
The New Order Multi Leg message is provided to submit orders for securities that are made
up of multiple securities, known as "legs". For more details, please refer to chapter 4.5.1 Order
Types.
Tag Field Name Req’d Len Ofs Data Type Description
<MessageHeaderIn>
9 BodyLen Y 4 0 unsigned int Number of bytes for the message, in-
cluding this field.
28500 TemplateID Y 2 4 unsigned int Unique identifier for a BSE ETI mes-
sage layout. Value: 10113 (NewOrder-
Multileg, MsgType = AB)
25028 NetworkMsgID U 8 6 Fixed String not used
25017 Pad2 U 2 14 Fixed String not used
<RequestHeader>
34 MsgSeqNum Y 4 16 unsigned int Message sequence number used by the
participant for requests sent to the ga-
teway.
50 SenderSubID Y 4 20 unsigned int User ID.
<Message Body>
11 ClOrdID N 8 24 unsigned int Client Order ID: Unique participant
defined order request identifier; used
for client order id chaining.
48 SecurityID Y 8 32 signed int Instrument identifier.
150
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
Tag Field Name Req’d Len Ofs Data Type Description
28740 MaxPricePercentage N 8 40 PriceType Indicates the protection range for mar-
ket order. Required if OrderType (40)
is Market(5).
142 SenderLocationID Y 8 48 unsigned int The location ID of the order from
where it is originated
44 Price Y 8 56 PriceType Limit price. Required if OrdType (40)
is Limit (2) or Stop Limit (4).
526 MessageTag Y 4 64 signed int User defined free field. The field is
echoed in the trade notifications, lis-
tener data, session data.
1300 MarketSegmentID Y 4 68 signed int Product identifier.
38 OrderQty Y 4 72 Qty Total Order Quantity.
210 MaxShow N 4 76 Qty The quantity to be made visible in the
market data.
432 ExpireDate N 4 80 LocalMktDate not used
25029 RegulatoryID N 4 84 unsigned int not used.
PartyIDTakeUpTrading-
20096 N 5 88 Fixed String not used.
Firm
Valid characters: A-Z,0-9,\x20
PartyIDOrder-
20013 N 7 93 Fixed String not used.
OriginationFirm
Valid characters: A-Z,0-9,\x20
20032 PartyIDBeneficiary N 9 100 Fixed String not used.
Valid characters: A-Z,0-9,\x20
581 AccountType Y 1 109 unsigned int
Value Description
20 Own
30 Client
40 Special Client
90 Institution
28703 ApplSeqIndicator Y 1 110 unsigned int Indicates if the order is a Lean Order.
Application sequencing is limited for
Lean Orders.
Value Description
0 Lean Order
1 Standard (non lean) Order
1227 ProductComplex Y 1 111 unsigned int This field qualifies an instrument type
on BSE.
Value Description
5 Futures Spread
151
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
Tag Field Name Req’d Len Ofs Data Type Description
54 Side Y 1 112 unsigned int Side of the order.
Value Description
1 Buy
2 Sell
40 OrdType Y 1 113 unsigned int Order type.
Value Description
2 Limit
28710 PriceValidityCheckType Y 1 114 unsigned int not used.
Value Description
0 None
18 ExecInst Y 1 115 unsigned int Instructions for order handling.
Value Description
1 Persistent Order (FIX value
"H")
2 Non-persistent Order (FIX
value "Q")
59 TimeInForce Y 1 116 unsigned int Execution and trading restriction pa-
rameters supported by BSE.
Value Description
0 Day (GFD)
3 Immediate or Cancel (IOC)
7 Session (GFS)
1815 TradingCapacity Y 1 117 unsigned int not used.
Must be sent as 1
20075 PartyIDLocationID N 2 118 Fixed String not used.
Valid characters: \x01-\x7E
25015 RegulatoryText N 20 120 Fixed String This field is used to provide additio-
nal regulatory information (according
to respective rules & regs, circulars
and/or bilateral coordination between
participant and Trading Surveillance
Office).
Valid characters: \x20,\x22-\x7B,
\x7D,\x7E
1031 CustOrderHandlingInst N 1 140 Fixed String not used.
Valid characters: \x20,\x22-\x7B,
\x7D,\x7E
152
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
Tag Field Name Req’d Len Ofs Data Type Description
58 FreeText1 Y 12 141 Chartext The Unique Client Code (UCC) of the
person for whom the order is entered.
Valid characters: \x00,\x21,\x23,
\x24,\x28,\x29,\x2A,\x2B,\x2D,
\x2E,\x2F,\x30-\x39,\x3A,\x3B,
\x3D,\x3E,\x3F,\x40,\x41-\x5A,
\x5C,\x5D,\x5F,\x60,\x7B,\x7D
25008 FreeText2 N 12 153 Chartext Free-format text field for trader-
specific or customer-related com-
ments. Should not be used in
conjunction with External Member
and Final Beneficiary used for trading
TAIFEX products.
Valid characters: \x00,\x21,\x23,
\x24,\x28,\x29,\x2A,\x2B,\x2D,
\x2E,\x2F,\x30-\x39,\x3A,\x3B,
\x3D,\x3E,\x3F,\x40,\x41-\x5A,
\x5C,\x5D,\x5F,\x60,\x7B,\x7D
25009 FreeText3 N 12 165 Chartext Free-format text field for trader-
specific or customer-related com-
ments.
Valid characters: \x00,\x21,\x23,
\x24,\x28,\x29,\x2A,\x2B,\x2D,
\x2E,\x2F,\x30-\x39,\x3A,\x3B,
\x3D,\x3E,\x3F,\x40,\x41-\x5A,
\x5C,\x5D,\x5F,\x60,\x7B,\x7D
555 NoLegs Y 1 177 Counter Number of LegOrd repeating group
instances.
25021 Pad6 U 6 178 Fixed String not used
<LegOrdGrp> Cardinality: 0-5, Record counter: No-
Legs
28715 >LegAccount Y 2 184 Fixed String not used
Must be sent as A1
Valid characters: 1-9,\x41,\x47,\x4D,
\x50
564 >LegPositionEffect Y 1 186 char not used.
Must be set as Cl
Valid characters: \x01-\x7E
25020 >Pad5 U 5 187 Fixed String not used
153
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
7.7.11 New Order Response (Standard Order)
This message confirms a New Order request for a Standard (non lean) Order. For more
details, please refer to chapter 4.5.11 Order Status and Execution Reports.
Tag Field Name Req’d Len Ofs Data Type Description
<MessageHeaderOut>
9 BodyLen Y 4 0 unsigned int Number of bytes for the message, in-
cluding this field.
28500 TemplateID Y 2 4 unsigned int Unique identifier for a BSE ETI mes-
sage layout. Value: 10101 (Execution-
Report, MsgType = 8)
25017 Pad2 U 2 6 Fixed String not used
<ResponseHeaderME>
5979 RequestTime Y 8 8 UTCTimestamp Gateway request in timestamp.
7764 RequestOut Y 8 16 UTCTimestamp Timestamp the gateway sends a mes-
sage to the Matching Engine
21002 TrdRegTSTimeIn Y 8 24 UTCTimestamp Matching engine in timestamp.
21003 TrdRegTSTimeOut Y 8 32 UTCTimestamp Matching engine out timestamp.
7765 ResponseIn Y 8 40 UTCTimestamp Timestamp the gateway receives a
message from the Matching Engine
52 SendingTime Y 8 48 UTCTimestamp Gateway response out timestamp.
34 MsgSeqNum Y 4 56 unsigned int Message sequence number used by the
participant for requests sent to the ga-
teway.
5948 PartitionID Y 2 60 unsigned int Grouping of BSE products.
Belongs to the scope of Service
Availability and Retransmit requests.
1180 ApplID Y 1 62 unsigned int Identifier for an ETI data stream.
Value Description
4 Session Data
28704 ApplMsgID Y 16 63 data Application message identifier assi-
gned to an order event.
893 LastFragment Y 1 79 unsigned int Indicates whether this message is the
last fragment (part) of a sequence of
messages belonging to one dedicated
transaction.
Value Description
1 Last Message
<Message Body>
37 OrderID Y 8 80 unsigned int Exchange Order ID generated by BSE
System; it remains constant over the
lifetime of an order.
154
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
Tag Field Name Req’d Len Ofs Data Type Description
11 ClOrdID N 8 88 unsigned int Client Order ID: Unique participant
defined order request identifier; used
for client order id chaining.
48 SecurityID Y 8 96 signed int Instrument identifier.
1110 PriceMkToLimitPx N 8 104 PriceType The price at which the market order
got converted into regular limit order.
Applicable for OrderType (40) = 5.
17 ExecID Y 8 112 UTCTimestamp Transaction timestamp.
21009 TrdRegTSEntryTime Y 8 120 UTCTimestamp The entry timestamp is the time of
the creation of the order.
21008 TrdRegTSTimePriority Y 8 128 UTCTimestamp Priority timestamp.
39 OrdStatus Y 1 136 char Conveys the current status of an or-
der.
Value Description
0 New
4 Cancelled
9 Suspended
150 ExecType Y 1 137 char The reason why this message was ge-
nerated.
Value Description
0 New
4 Cancelled
L Triggered
5 Replaced
ExecRestatement-
378 Y 2 138 unsigned int Code to further qualify the field Exec-
Reason
Type (150) of the Execution Report
(8) message.
Value Description
101 Order Added
105 IOC Order Cancelled
135 Market Order Triggered
215 RRM Order Added
221 Provisional Order Added
246 Self Trade Order Deleted
1227 ProductComplex Y 1 140 unsigned int This field qualifies an instrument type
on BSE.
Value Description
1 Simple Instrument
5 Futures Spread
155
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
Tag Field Name Req’d Len Ofs Data Type Description
25018 Pad3 U 3 141 Fixed String not used
156
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
7.7.12 New Order Response (Lean Order)
This message confirms a New Order request for a Lean Order. For more details, please refer to
chapter 4.5.11 Order Status and Execution Reports.
Tag Field Name Req’d Len Ofs Data Type Description
<MessageHeaderOut>
9 BodyLen Y 4 0 unsigned int Number of bytes for the message, in-
cluding this field.
28500 TemplateID Y 2 4 unsigned int Unique identifier for a BSE ETI mes-
sage layout. Value: 10102 (Execution-
Report, MsgType = 8)
25017 Pad2 U 2 6 Fixed String not used
<NRResponseHeaderME>
5979 RequestTime Y 8 8 UTCTimestamp Gateway request in timestamp.
7764 RequestOut Y 8 16 UTCTimestamp Timestamp the gateway sends a mes-
sage to the Matching Engine
21002 TrdRegTSTimeIn Y 8 24 UTCTimestamp Matching engine in timestamp.
21003 TrdRegTSTimeOut Y 8 32 UTCTimestamp Matching engine out timestamp.
7765 ResponseIn Y 8 40 UTCTimestamp Timestamp the gateway receives a
message from the Matching Engine
52 SendingTime Y 8 48 UTCTimestamp Gateway response out timestamp.
34 MsgSeqNum Y 4 56 unsigned int Message sequence number used by the
participant for requests sent to the ga-
teway.
893 LastFragment Y 1 60 unsigned int Indicates whether this message is the
last fragment (part) of a sequence of
messages belonging to one dedicated
transaction.
Value Description
1 Last Message
25018 Pad3 U 3 61 Fixed String not used
<Message Body>
37 OrderID Y 8 64 unsigned int Exchange Order ID generated by BSE
System; it remains constant over the
lifetime of an order.
11 ClOrdID N 8 72 unsigned int Client Order ID: Unique participant
defined order request identifier; used
for client order id chaining.
48 SecurityID Y 8 80 signed int Instrument identifier.
1110 PriceMkToLimitPx N 8 88 PriceType The price at which the market order
got converted into regular limit order.
Applicable for OrderType (40) = 5.
17 ExecID Y 8 96 UTCTimestamp Transaction timestamp.
157
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
Tag Field Name Req’d Len Ofs Data Type Description
39 OrdStatus Y 1 104 char Conveys the current status of an or-
der.
Value Description
0 New
4 Cancelled
9 Suspended
150 ExecType Y 1 105 char The reason why this message was ge-
nerated.
Value Description
0 New
4 Cancelled
L Triggered
5 Replaced
ExecRestatement-
378 Y 2 106 unsigned int Code to further qualify the field Exec-
Reason
Type (150) of the Execution Report
(8) message.
Value Description
101 Order Added
105 IOC Order Cancelled
135 Market Order Triggered
215 RRM Order Added
221 Provisional Order Added
246 Self Trade Order Deleted
1227 ProductComplex Y 1 108 unsigned int This field qualifies an instrument type
on BSE.
Value Description
1 Simple Instrument
5 Futures Spread
25018 Pad3 U 3 109 Fixed String not used
158
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
7.7.13 Immediate Execution Response
This message informs about the immediate execution of an incoming order or the execution of
a book order due to a replace request. For more details, please refer to chapter 4.5.11 Order
Status and Execution Reports.
Tag Field Name Req’d Len Ofs Data Type Description
<MessageHeaderOut>
9 BodyLen Y 4 0 unsigned int Number of bytes for the message, in-
cluding this field.
28500 TemplateID Y 2 4 unsigned int Unique identifier for a BSE ETI mes-
sage layout. Value: 10103 (Execution-
Report, MsgType = 8)
25017 Pad2 U 2 6 Fixed String not used
<ResponseHeaderME>
5979 RequestTime Y 8 8 UTCTimestamp Gateway request in timestamp.
7764 RequestOut Y 8 16 UTCTimestamp Timestamp the gateway sends a mes-
sage to the Matching Engine
21002 TrdRegTSTimeIn Y 8 24 UTCTimestamp Matching engine in timestamp.
21003 TrdRegTSTimeOut Y 8 32 UTCTimestamp Matching engine out timestamp.
7765 ResponseIn Y 8 40 UTCTimestamp Timestamp the gateway receives a
message from the Matching Engine
52 SendingTime Y 8 48 UTCTimestamp Gateway response out timestamp.
34 MsgSeqNum Y 4 56 unsigned int Message sequence number used by the
participant for requests sent to the ga-
teway.
5948 PartitionID Y 2 60 unsigned int Grouping of BSE products.
Belongs to the scope of Service
Availability and Retransmit requests.
1180 ApplID Y 1 62 unsigned int Identifier for an ETI data stream.
Value Description
4 Session Data
28704 ApplMsgID N 16 63 data Not set if the submitting session is not
the owner of the executed order.
893 LastFragment Y 1 79 unsigned int Indicates whether this message is the
last fragment (part) of a sequence of
messages belonging to one dedicated
transaction.
Value Description
0 Not Last Message
1 Last Message
<Message Body>
159
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
Tag Field Name Req’d Len Ofs Data Type Description
37 OrderID Y 8 80 unsigned int Exchange Order ID generated by BSE
System; it remains constant over the
lifetime of an order.
11 ClOrdID N 8 88 unsigned int Client Order ID: Unique participant
defined order request identifier; used
for client order id chaining.
41 OrigClOrdID N 8 96 unsigned int ClOrdID (11) of the last successfully
processed task (request) referring to
the specific order.
48 SecurityID Y 8 104 signed int Instrument identifier.
17 ExecID Y 8 112 UTCTimestamp Transaction timestamp.
21009 TrdRegTSEntryTime N 8 120 UTCTimestamp The entry timestamp is the time of
the creation of the order.
21008 TrdRegTSTimePriority N 8 128 UTCTimestamp Priority timestamp.
1300 MarketSegmentID Y 4 136 signed int Product identifier.
151 LeavesQty Y 4 140 Qty Remaining quantity of an order. If the
order has been executed partially this
field contains the non-executed quan-
tity. A remaining size of 0 indicates
that the order is fully matched or no
longer active.
14 CumQty Y 4 144 Qty Cumulated executed quantity of an or-
der.
84 CxlQty Y 4 148 Qty Total quantity cancelled for this order.
30555 NoLegExecs Y 2 152 Counter Number of InstrmntLegExec repea-
ting group instances.
ExecRestatement-
378 Y 2 154 unsigned int Code to further qualify the field Exec-
Reason
Type (150) of the Execution Report
(8) message.
Value Description
101 Order Added
102 Order Replaced
105 IOC Order Cancelled
135 Market Order Triggered
246 Self Trade Order Deleted
1227 ProductComplex Y 1 156 unsigned int This field qualifies an instrument type
on BSE.
Value Description
1 Simple Instrument
5 Futures Spread
160
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
Tag Field Name Req’d Len Ofs Data Type Description
39 OrdStatus Y 1 157 char Conveys the current status of an or-
der.
Value Description
1 Partially Filled
2 Filled
4 Cancelled
150 ExecType Y 1 158 char The reason why this message was ge-
nerated.
Value Description
F Trade
1823 Triggered Y 1 159 unsigned int Indicates if an order has been pre-
viously triggered.
Value Description
0 Not Triggered
1 Triggered Stop Order
1362 NoFills Y 1 160 Counter Specifies the number of partial fills in-
cluded in this Execution Report.
25022 Pad7 U 7 161 Fixed String not used
<FillsGrp> Cardinality: 0-100, Record counter:
NoFills
1364 >FillPx Y 8 168 PriceType Price of Fill.
1365 >FillQty Y 4 176 Qty Quantity of Fill.
28708 >FillMatchID Y 4 180 unsigned int Unique identifier for each price level
(match step) of a match event; it is
used for public trade reporting.
1363 >FillExecID Y 4 184 signed int Private identifier of an order match
step event, which can be reconciled
with the field SideTradeID (1506) in
the Trade Notification.
1443 >FillLiquidityInd N 1 188 unsigned int Indicates whether the order added or
removed liquidity. Required only for
execution reports generated for fills.
Value Description
2 Removed Liquidity
5 Triggered Stop Order
25018 >Pad3 U 3 189 Fixed String not used
<InstrmntLegExecGrp> Cardinality: 0-600, Record counter:
NoLegExecs
602 >LegSecurityID Y 8 0 signed int Instrument identifier of the leg securi-
ty.
161
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
Tag Field Name Req’d Len Ofs Data Type Description
637 >LegLastPx Y 8 8 PriceType Price of this leg fill.
1418 >LegLastQty Y 4 16 Qty Quantity executed in this leg fill.
1893 >LegExecID Y 4 20 signed int Private identifier of a leg match step,
which can be reconciled with the field
SideTradeID (1506) in the Trade No-
tification.
624 >LegSide Y 1 24 unsigned int The side of the individual leg of a stra-
tegy as defined in its signature.
Value Description
1 Buy
2 Sell
25010 >NoFillsIndex Y 1 25 unsigned int Reference to the corresponding Fills-
Grp repeating group instance.
25021 >Pad6 U 6 26 Fixed String not used
162
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
7.7.14 Book Order Execution
This message informs about the execution of a resting book order. For more details, please
refer to chapter 4.5.11 Order Status and Execution Reports.
Tag Field Name Req’d Len Ofs Data Type Description
<MessageHeaderOut>
9 BodyLen Y 4 0 unsigned int Number of bytes for the message, in-
cluding this field.
28500 TemplateID Y 2 4 unsigned int Unique identifier for a BSE ETI mes-
sage layout. Value: 10104 (Execution-
Report, MsgType = 8)
25017 Pad2 U 2 6 Fixed String not used
<RBCHeaderME>
21003 TrdRegTSTimeOut N 8 8 UTCTimestamp Matching engine out timestamp.
52 SendingTime Y 8 16 UTCTimestamp Gateway response out timestamp.
28727 ApplSubID U 4 24 unsigned int not used
5948 PartitionID Y 2 28 unsigned int Grouping of BSE products.
Belongs to the scope of Service
Availability and Retransmit requests.
28704 ApplMsgID Y 16 30 data Application message identifier assi-
gned to an order event.
1180 ApplID Y 1 46 unsigned int Identifier for an ETI data stream.
Value Description
4 Session Data
1352 ApplResendFlag Y 1 47 unsigned int Indicates a retransmission message.
Value Description
0 False
1 True
893 LastFragment Y 1 48 unsigned int Indicates whether this message is the
last fragment (part) of a sequence of
messages belonging to one dedicated
transaction.
Value Description
0 Not Last Message
1 Last Message
25022 Pad7 U 7 49 Fixed String not used
<Message Body>
37 OrderID Y 8 56 unsigned int Exchange Order ID generated by BSE
System; it remains constant over the
lifetime of an order.
142 SenderLocationID Y 8 64 unsigned int The location ID of the order from
where it is originated
163
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
Tag Field Name Req’d Len Ofs Data Type Description
11 ClOrdID N 8 72 unsigned int Client Order ID: Unique participant
defined order request identifier; used
for client order id chaining.
41 OrigClOrdID N 8 80 unsigned int ClOrdID (11) of the last successfully
processed task (request) referring to
the specific order.
48 SecurityID Y 8 88 signed int Instrument identifier.
17 ExecID Y 8 96 UTCTimestamp Transaction timestamp.
526 MessageTag Y 4 104 signed int The message tag provided by the user
in the order request
1300 MarketSegmentID Y 4 108 signed int Product identifier.
151 LeavesQty Y 4 112 Qty Remaining quantity of an order. If the
order has been executed partially this
field contains the non-executed quan-
tity. A remaining size of 0 indicates
that the order is fully matched or no
longer active.
14 CumQty Y 4 116 Qty Cumulated executed quantity of an or-
der.
84 CxlQty Y 4 120 Qty Total quantity cancelled for this order.
30555 NoLegExecs Y 2 124 Counter Number of InstrmntLegExec repea-
ting group instances.
ExecRestatement-
378 Y 2 126 unsigned int Code to further qualify the field Exec-
Reason
Type (150) of the Execution Report
(8) message.
Value Description
108 Book Order Executed
135 Market Order Triggered
172 Stop Order Triggered
150 CAO Order Inactivated
581 AccountType Y 1 128 unsigned int
Value Description
20 Own
30 Client
40 Special Client
90 Institution
164
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
Tag Field Name Req’d Len Ofs Data Type Description
1227 ProductComplex Y 1 129 unsigned int This field qualifies an instrument type
on BSE.
Value Description
1 Simple Instrument
5 Futures Spread
39 OrdStatus Y 1 130 char Conveys the current status of an or-
der.
Value Description
1 Partially Filled
2 Filled
4 Cancelled
150 ExecType Y 1 131 char The reason why this message was ge-
nerated.
Value Description
F Trade
1823 Triggered Y 1 132 unsigned int Indicates if an order has been pre-
viously triggered.
Value Description
0 Not Triggered
1 Triggered Stop Order
1362 NoFills Y 1 133 Counter Specifies the number of partial fills in-
cluded in this Execution Report.
54 Side Y 1 134 unsigned int Side of the order.
Value Description
1 Buy
2 Sell
1 Account Y 2 135 Fixed String not used
Valid characters: 1-9,\x41,\x47,\x4D,
\x50
58 FreeText1 Y 12 137 Chartext The Unique Client Code (UCC) of the
person for whom the order is entered.
Valid characters: \x00,\x21,\x23,
\x24,\x28,\x29,\x2A,\x2B,\x2D,
\x2E,\x2F,\x30-\x39,\x3A,\x3B,
\x3D,\x3E,\x3F,\x40,\x41-\x5A,
\x5C,\x5D,\x5F,\x60,\x7B,\x7D
165
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
Tag Field Name Req’d Len Ofs Data Type Description
25008 FreeText2 N 12 149 Chartext Free-format text field for trader-
specific or customer-related com-
ments. Should not be used in
conjunction with External Member
and Final Beneficiary used for trading
TAIFEX products.
Valid characters: \x00,\x21,\x23,
\x24,\x28,\x29,\x2A,\x2B,\x2D,
\x2E,\x2F,\x30-\x39,\x3A,\x3B,
\x3D,\x3E,\x3F,\x40,\x41-\x5A,
\x5C,\x5D,\x5F,\x60,\x7B,\x7D
25009 FreeText3 N 12 161 Chartext Free-format text field for trader-
specific or customer-related com-
ments.
Valid characters: \x00,\x21,\x23,
\x24,\x28,\x29,\x2A,\x2B,\x2D,
\x2E,\x2F,\x30-\x39,\x3A,\x3B,
\x3D,\x3E,\x3F,\x40,\x41-\x5A,
\x5C,\x5D,\x5F,\x60,\x7B,\x7D
25018 Pad3 U 3 173 Fixed String not used
<FillsGrp> Cardinality: 0-100, Record counter:
NoFills
1364 >FillPx Y 8 176 PriceType Price of Fill.
1365 >FillQty Y 4 184 Qty Quantity of Fill.
28708 >FillMatchID Y 4 188 unsigned int Unique identifier for each price level
(match step) of a match event; it is
used for public trade reporting.
1363 >FillExecID Y 4 192 signed int Private identifier of an order match
step event, which can be reconciled
with the field SideTradeID (1506) in
the Trade Notification.
1443 >FillLiquidityInd N 1 196 unsigned int Indicates whether the order added or
removed liquidity. Required only for
execution reports generated for fills.
Value Description
1 Added Liquidity
5 Triggered Stop Order
7 Triggered Market Order
25018 >Pad3 U 3 197 Fixed String not used
<InstrmntLegExecGrp> Cardinality: 0-600, Record counter:
NoLegExecs
166
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
Tag Field Name Req’d Len Ofs Data Type Description
602 >LegSecurityID Y 8 0 signed int Instrument identifier of the leg securi-
ty.
637 >LegLastPx Y 8 8 PriceType Price of this leg fill.
1418 >LegLastQty Y 4 16 Qty Quantity executed in this leg fill.
1893 >LegExecID Y 4 20 signed int Private identifier of a leg match step,
which can be reconciled with the field
SideTradeID (1506) in the Trade No-
tification.
624 >LegSide Y 1 24 unsigned int The side of the individual leg of a stra-
tegy as defined in its signature.
Value Description
1 Buy
2 Sell
25010 >NoFillsIndex Y 1 25 unsigned int Reference to the corresponding Fills-
Grp repeating group instance.
25021 >Pad6 U 6 26 Fixed String not used
167
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
7.7.15 Replace Order Single
This message is used to replace an existing order in a simple instrument. For more details,
please refer to chapter 4.5.4 Modification and Total Order Quantity Modification.
Tag Field Name Req’d Len Ofs Data Type Description
<MessageHeaderIn>
9 BodyLen Y 4 0 unsigned int Number of bytes for the message, in-
cluding this field.
28500 TemplateID Y 2 4 unsigned int Unique identifier for a BSE ETI mes-
sage layout. Value: 10106 (OrderCan-
celReplaceRequest, MsgType = G)
25028 NetworkMsgID U 8 6 Fixed String not used
25017 Pad2 U 2 14 Fixed String not used
<RequestHeader>
34 MsgSeqNum Y 4 16 unsigned int Message sequence number used by the
participant for requests sent to the ga-
teway.
50 SenderSubID Y 4 20 unsigned int User ID.
<Message Body>
37 OrderID N 8 24 unsigned int Exchange Order ID generated by BSE
System; it remains constant over the
lifetime of an order.
11 ClOrdID N 8 32 unsigned int Client Order ID: Unique participant
defined order request identifier; used
for client order id chaining.
168
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
Tag Field Name Req’d Len Ofs Data Type Description
41 OrigClOrdID N 8 40 unsigned int ClOrdID (11) of the last successfully
processed task (request) referring to
the specific order.
44 Price N 8 48 PriceType Limit price. Required if OrdType (40)
is Limit (2) or Stop Limit (4).
99 StopPx N 8 56 PriceType Stop price. Required if OrdType (40)
is Stop (3) or Stop (4).
28740 MaxPricePercentage N 8 64 PriceType Indicates the protection range for mar-
ket order. Required if OrderType (40)
is Market(5).
142 SenderLocationID Y 8 72 unsigned int The location ID of the order from
where it is originated
526 MessageTag Y 4 80 signed int User defined free field. The field is
echoed in the trade notifications, lis-
tener data, session data.
38 OrderQty Y 4 84 Qty Total Order Quantity.
210 MaxShow N 4 88 Qty The quantity to be made visible in the
market data.
432 ExpireDate N 4 92 LocalMktDate not used
1300 MarketSegmentID N 4 96 signed int Product identifier.
30048 SimpleSecurityID Y 4 100 unsigned int Instrument identifier for simple instru-
ments. Should be filled with the 4
least significant bytes of SecurityID
(48) provided in BSE reference data.
20655 TargetPartyIDSessionID N 4 104 unsigned int Session ID.
25029 RegulatoryID N 4 108 unsigned int not used.
PartyIDTakeUpTrading-
20096 N 5 112 Fixed String not used.
Firm
Valid characters: A-Z,0-9,\x20
PartyIDOrder-
20013 N 7 117 Fixed String not used.
OriginationFirm
Valid characters: A-Z,0-9,\x20
20032 PartyIDBeneficiary N 9 124 Fixed String not used.
Valid characters: A-Z,0-9,\x20
581 AccountType Y 1 133 unsigned int
Value Description
20 Own
30 Client
40 Special Client
90 Institution
169
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
Tag Field Name Req’d Len Ofs Data Type Description
28703 ApplSeqIndicator Y 1 134 unsigned int Indicates if the order is a Lean Order.
Application sequencing is limited for
Lean Orders.
Value Description
0 Lean Order
1 Standard (non lean) Order
54 Side Y 1 135 unsigned int Side of the order.
Value Description
1 Buy
2 Sell
40 OrdType Y 1 136 unsigned int Order type.
Value Description
2 Limit
3 Stop Market
4 Stop Limit
5 Market
6 Block Deal
28710 PriceValidityCheckType Y 1 137 unsigned int not used.
Value Description
0 None
59 TimeInForce Y 1 138 unsigned int Execution and trading restriction pa-
rameters supported by BSE.
Value Description
0 Day (GFD)
3 Immediate or Cancel (IOC)
7 Session (GFS)
18 ExecInst Y 1 139 unsigned int Instructions for order handling.
Value Description
1 Persistent Order (FIX value
"H")
2 Non-persistent Order (FIX
value "Q")
625 TradingSessionSubID N 1 140 unsigned int not used
1815 TradingCapacity Y 1 141 unsigned int not used.
Must be sent as 1
30640 DeltaQtyFlag N 1 142 char not used
Valid characters: \x01-\x7E
170
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
Tag Field Name Req’d Len Ofs Data Type Description
1 Account Y 2 143 Fixed String not used.
Must be sent as A1
Valid characters: 1-9,\x41,\x47,\x4D,
\x50
77 PositionEffect Y 1 145 char must be set to C
Valid characters: \x01-\x7E
20075 PartyIDLocationID N 2 146 Fixed String not used.
Valid characters: \x01-\x7E
1031 CustOrderHandlingInst N 1 148 Fixed String not used.
Valid characters: \x20,\x22-\x7B,
\x7D,\x7E
25015 RegulatoryText N 20 149 Fixed String This field is used to provide additio-
nal regulatory information (according
to respective rules & regs, circulars
and/or bilateral coordination between
participant and Trading Surveillance
Office).
Valid characters: \x20,\x22-\x7B,
\x7D,\x7E
58 FreeText1 Y 12 169 Chartext The Unique Client Code (UCC) of the
person for whom the order is entered.
Valid characters: \x00,\x21,\x23,
\x24,\x28,\x29,\x2A,\x2B,\x2D,
\x2E,\x2F,\x30-\x39,\x3A,\x3B,
\x3D,\x3E,\x3F,\x40,\x41-\x5A,
\x5C,\x5D,\x5F,\x60,\x7B,\x7D
25008 FreeText2 N 12 181 Chartext Free-format text field for trader-
specific or customer-related com-
ments. Should not be used in
conjunction with External Member
and Final Beneficiary used for trading
TAIFEX products.
Valid characters: \x00,\x21,\x23,
\x24,\x28,\x29,\x2A,\x2B,\x2D,
\x2E,\x2F,\x30-\x39,\x3A,\x3B,
\x3D,\x3E,\x3F,\x40,\x41-\x5A,
\x5C,\x5D,\x5F,\x60,\x7B,\x7D
171
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
Tag Field Name Req’d Len Ofs Data Type Description
25009 FreeText3 N 12 193 Chartext Free-format text field for trader-
specific or customer-related com-
ments.
Valid characters: \x00,\x21,\x23,
\x24,\x28,\x29,\x2A,\x2B,\x2D,
\x2E,\x2F,\x30-\x39,\x3A,\x3B,
\x3D,\x3E,\x3F,\x40,\x41-\x5A,
\x5C,\x5D,\x5F,\x60,\x7B,\x7D
25018 Pad3 U 3 205 Fixed String not used
172
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
7.7.16 Replace Order Single (short layout)
This short order message layout is used by the participant to replace an order in a simple
instrument. Selected order attributes are implicitly set. For more details, please refer to
chapter 4.5.9 Short Order Message Layouts.
Tag Field Name Req’d Len Ofs Data Type Description
<MessageHeaderIn>
9 BodyLen Y 4 0 unsigned int Number of bytes for the message, in-
cluding this field.
28500 TemplateID Y 2 4 unsigned int Unique identifier for a BSE ETI mes-
sage layout. Value: 10126 (OrderCan-
celReplaceRequest, MsgType = G)
25028 NetworkMsgID U 8 6 Fixed String not used
25017 Pad2 U 2 14 Fixed String not used
<RequestHeader>
34 MsgSeqNum Y 4 16 unsigned int Message sequence number used by the
participant for requests sent to the ga-
teway.
50 SenderSubID Y 4 20 unsigned int User ID.
<Message Body>
173
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
Tag Field Name Req’d Len Ofs Data Type Description
37 OrderID N 8 24 unsigned int Exchange Order ID generated by BSE
System; it remains constant over the
lifetime of an order.
11 ClOrdID N 8 32 unsigned int Client Order ID: Unique participant
defined order request identifier; used
for client order id chaining.
41 OrigClOrdID N 8 40 unsigned int ClOrdID (11) of the last successfully
processed task (request) referring to
the specific order.
44 Price Y 8 48 PriceType Limit price. Required if OrdType (40)
is Limit (2) or Stop Limit (4).
142 SenderLocationID Y 8 56 unsigned int The location ID of the order from
where it is originated
38 OrderQty Y 4 64 Qty Total Order Quantity.
210 MaxShow N 4 68 Qty The quantity to be made visible in the
market data.
30048 SimpleSecurityID Y 4 72 unsigned int Instrument identifier for simple instru-
ments. Should be filled with the 4
least significant bytes of SecurityID
(48) provided in BSE reference data.
581 AccountType Y 1 82 unsigned int
Value Description
20 Own
30 Client
40 Special Client
90 Institution
54 Side Y 1 83 unsigned int Side of the order.
Value Description
1 Buy
2 Sell
28710 PriceValidityCheckType Y 1 84 unsigned int not used.
Value Description
0 None
1 Optional
2 Mandatory
174
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
Tag Field Name Req’d Len Ofs Data Type Description
59 TimeInForce Y 1 85 unsigned int Execution and trading restriction pa-
rameters supported by BSE.
Value Description
0 Day (GFD)
3 Immediate or Cancel (IOC)
7 Session (GFS)
18 ExecInst U 1 86 unsigned int not used
58 FreeText1 Y 12 88 Chartext The Unique Client Code (UCC) of the
person for whom the order is entered.
Valid characters: \x00,\x21,\x23,
\x24,\x28,\x29,\x2A,\x2B,\x2D,
\x2E,\x2F,\x30-\x39,\x3A,\x3B,
\x3D,\x3E,\x3F,\x40,\x41-\x5A,
\x5C,\x5D,\x5F,\x60,\x7B,\x7D
25019 Pad4 U 4 100 Fixed String not used
175
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
7.7.17 Replace Order Multi Leg
This message is used to replace a multi leg order (previously submitted using the New Order
Multi Leg message). For more details, please refer to chapter 4.5.4 Modification and Total
Order Quantity Modification.
Tag Field Name Req’d Len Ofs Data Type Description
<MessageHeaderIn>
9 BodyLen Y 4 0 unsigned int Number of bytes for the message, in-
cluding this field.
28500 TemplateID Y 2 4 unsigned int Unique identifier for a BSE ETI mes-
sage layout. Value: 10114 (Multi-
legOrderCancelReplace, MsgType =
AC)
25028 NetworkMsgID U 8 6 Fixed String not used
25017 Pad2 U 2 14 Fixed String not used
<RequestHeader>
34 MsgSeqNum Y 4 16 unsigned int Message sequence number used by the
participant for requests sent to the ga-
teway.
50 SenderSubID Y 4 20 unsigned int User ID.
<Message Body>
37 OrderID N 8 24 unsigned int Exchange Order ID generated by BSE
System; it remains constant over the
lifetime of an order.
11 ClOrdID N 8 32 unsigned int Client Order ID: Unique participant
defined order request identifier; used
for client order id chaining.
176
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
Tag Field Name Req’d Len Ofs Data Type Description
41 OrigClOrdID N 8 40 unsigned int ClOrdID (11) of the last successfully
processed task (request) referring to
the specific order.
48 SecurityID Y 8 48 signed int Instrument identifier.
44 Price Y 8 56 PriceType Limit price. Required if OrdType (40)
is Limit (2) or Stop Limit (4).
28740 MaxPricePercentage N 8 64 PriceType Indicates the protection range for mar-
ket order. Required if OrderType (40)
is Market(5).
142 SenderLocationID Y 8 72 unsigned int The location ID of the order from
where it is originated
1300 MarketSegmentID Y 4 80 signed int Product identifier.
526 MessageTag Y 4 84 signed int User defined free field. The field is
echoed in the trade notifications, lis-
tener data, session data.
38 OrderQty Y 4 88 Qty Total Order Quantity.
210 MaxShow N 4 92 Qty The quantity to be made visible in the
market data.
432 ExpireDate N 4 96 LocalMktDate not used
20655 TargetPartyIDSessionID N 4 100 unsigned int Session ID.
25029 RegulatoryID N 4 104 unsigned int not used.
PartyIDTakeUpTrading-
20096 N 5 108 Fixed String not used.
Firm
Valid characters: A-Z,0-9,\x20
PartyIDOrder-
20013 N 7 113 Fixed String not used.
OriginationFirm
Valid characters: A-Z,0-9,\x20
20032 PartyIDBeneficiary N 9 120 Fixed String not used.
Valid characters: A-Z,0-9,\x20
581 AccountType Y 1 129 unsigned int
Value Description
20 Own
30 Client
40 Special Client
90 Institution
28703 ApplSeqIndicator Y 1 130 unsigned int Indicates if the order is a Lean Order.
Application sequencing is limited for
Lean Orders.
Value Description
0 Lean Order
1 Standard (non lean) Order
177
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
Tag Field Name Req’d Len Ofs Data Type Description
1227 ProductComplex Y 1 131 unsigned int This field qualifies an instrument type
on BSE.
Value Description
5 Futures Spread
54 Side Y 1 132 unsigned int Side of the order.
Value Description
1 Buy
2 Sell
40 OrdType Y 1 133 unsigned int Order type.
Value Description
2 Limit
28710 PriceValidityCheckType Y 1 134 unsigned int not used.
Value Description
0 None
18 ExecInst Y 1 135 unsigned int Instructions for order handling.
Value Description
1 Persistent Order (FIX value
"H")
2 Non-persistent Order (FIX
value "Q")
59 TimeInForce Y 1 136 unsigned int Execution and trading restriction pa-
rameters supported by BSE.
Value Description
0 Day (GFD)
3 Immediate or Cancel (IOC)
7 Session (GFS)
1815 TradingCapacity Y 1 137 unsigned int not used.
Must be sent as 1
30640 DeltaQtyFlag N 1 138 char not used
Valid characters: \x01-\x7E
20075 PartyIDLocationID N 2 139 Fixed String not used.
Valid characters: \x01-\x7E
1031 CustOrderHandlingInst N 1 141 Fixed String not used.
Valid characters: \x20,\x22-\x7B,
\x7D,\x7E
178
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
Tag Field Name Req’d Len Ofs Data Type Description
25015 RegulatoryText N 20 142 Fixed String This field is used to provide additio-
nal regulatory information (according
to respective rules & regs, circulars
and/or bilateral coordination between
participant and Trading Surveillance
Office).
Valid characters: \x20,\x22-\x7B,
\x7D,\x7E
58 FreeText1 Y 12 162 Chartext The Unique Client Code (UCC) of the
person for whom the order is entered.
Valid characters: \x00,\x21,\x23,
\x24,\x28,\x29,\x2A,\x2B,\x2D,
\x2E,\x2F,\x30-\x39,\x3A,\x3B,
\x3D,\x3E,\x3F,\x40,\x41-\x5A,
\x5C,\x5D,\x5F,\x60,\x7B,\x7D
25008 FreeText2 N 12 174 Chartext Free-format text field for trader-
specific or customer-related com-
ments. Should not be used in
conjunction with External Member
and Final Beneficiary used for trading
TAIFEX products.
Valid characters: \x00,\x21,\x23,
\x24,\x28,\x29,\x2A,\x2B,\x2D,
\x2E,\x2F,\x30-\x39,\x3A,\x3B,
\x3D,\x3E,\x3F,\x40,\x41-\x5A,
\x5C,\x5D,\x5F,\x60,\x7B,\x7D
25009 FreeText3 N 12 186 Chartext Free-format text field for trader-
specific or customer-related com-
ments.
Valid characters: \x00,\x21,\x23,
\x24,\x28,\x29,\x2A,\x2B,\x2D,
\x2E,\x2F,\x30-\x39,\x3A,\x3B,
\x3D,\x3E,\x3F,\x40,\x41-\x5A,
\x5C,\x5D,\x5F,\x60,\x7B,\x7D
555 NoLegs Y 1 198 Counter Number of LegOrd repeating group
[Link] be greater than 1.
25016 Pad1 U 1 199 Fixed String not used
<LegOrdGrp> Cardinality: 0-5, Record counter: No-
Legs
28715 >LegAccount Y 2 200 Fixed String not used
Must be sent as A1
Valid characters: 1-9,\x41,\x47,\x4D,
\x50
179
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
Tag Field Name Req’d Len Ofs Data Type Description
564 >LegPositionEffect Y 1 202 char not used.
Must be set as Cl
Valid characters: \x01-\x7E
25020 >Pad5 U 5 203 Fixed String not used
180
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
7.7.18 Replace Order Response (Standard Order)
This message confirms a Replace Order request for a Standard (non lean) Order. For more
details, please refer to chapter 4.5.11 Order Status and Execution Reports.
Tag Field Name Req’d Len Ofs Data Type Description
<MessageHeaderOut>
9 BodyLen Y 4 0 unsigned int Number of bytes for the message, in-
cluding this field.
28500 TemplateID Y 2 4 unsigned int Unique identifier for a BSE ETI mes-
sage layout. Value: 10107 (Execution-
Report, MsgType = 8)
25017 Pad2 U 2 6 Fixed String not used
<ResponseHeaderME>
5979 RequestTime Y 8 8 UTCTimestamp Gateway request in timestamp.
7764 RequestOut Y 8 16 UTCTimestamp Timestamp the gateway sends a mes-
sage to the Matching Engine
21002 TrdRegTSTimeIn Y 8 24 UTCTimestamp Matching engine in timestamp.
21003 TrdRegTSTimeOut Y 8 32 UTCTimestamp Matching engine out timestamp.
7765 ResponseIn Y 8 40 UTCTimestamp Timestamp the gateway receives a
message from the Matching Engine
52 SendingTime Y 8 48 UTCTimestamp Gateway response out timestamp.
34 MsgSeqNum Y 4 56 unsigned int Message sequence number used by the
participant for requests sent to the ga-
teway.
5948 PartitionID Y 2 60 unsigned int Grouping of BSE products.
Belongs to the scope of Service
Availability and Retransmit requests.
1180 ApplID Y 1 62 unsigned int Identifier for an ETI data stream.
Value Description
4 Session Data
28704 ApplMsgID N 16 63 data Not set if the submitting session is not
the owner of the replaced order.
893 LastFragment Y 1 79 unsigned int Indicates whether this message is the
last fragment (part) of a sequence of
messages belonging to one dedicated
transaction.
Value Description
1 Last Message
<Message Body>
37 OrderID Y 8 80 unsigned int Exchange Order ID generated by BSE
System; it remains constant over the
lifetime of an order.
181
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
Tag Field Name Req’d Len Ofs Data Type Description
11 ClOrdID N 8 88 unsigned int Client Order ID: Unique participant
defined order request identifier; used
for client order id chaining.
41 OrigClOrdID N 8 96 unsigned int ClOrdID (11) of the last successfully
processed task (request) referring to
the specific order.
48 SecurityID Y 8 104 signed int Instrument identifier.
17 ExecID Y 8 112 UTCTimestamp Transaction timestamp.
1110 PriceMkToLimitPx N 8 120 PriceType The price at which the market order
got converted into regular limit order.
Applicable for OrderType (40) = 5.
21008 TrdRegTSTimePriority Y 8 128 UTCTimestamp Priority timestamp.
151 LeavesQty Y 4 136 Qty Remaining quantity of an order. If the
order has been executed partially this
field contains the non-executed quan-
tity. A remaining size of 0 indicates
that the order is fully matched or no
longer active.
14 CumQty Y 4 140 Qty Cumulated executed quantity of an or-
der.
84 CxlQty Y 4 144 Qty Total quantity cancelled for this order.
39 OrdStatus Y 1 148 char Conveys the current status of an or-
der.
Value Description
0 New
1 Partially Filled
2 Filled
4 Cancelled
9 Suspended
150 ExecType Y 1 149 char The reason why this message was ge-
nerated.
Value Description
4 Cancelled
5 Replaced
L Triggered
182
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
Tag Field Name Req’d Len Ofs Data Type Description
ExecRestatement-
378 Y 2 150 unsigned int Code to further qualify the field Exec-
Reason
Type (150) of the Execution Report
(8) message.
Value Description
102 Order Replaced
105 IOC Order Cancelled
135 Market Order Triggered
215 RRM Order Added
221 Provisional Order Added
246 Self Trade Order Deleted
1227 ProductComplex Y 1 152 unsigned int This field qualifies an instrument type
on BSE.
Value Description
1 Simple Instrument
5 Futures Spread
25022 Pad7 U 7 153 Fixed String not used
183
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
7.7.19 Replace Order Response (Lean Order)
This message confirms a Replace Order request for a Lean Order. For more details, please
refer to chapter 4.5.11 Order Status and Execution Reports.
Tag Field Name Req’d Len Ofs Data Type Description
<MessageHeaderOut>
9 BodyLen Y 4 0 unsigned int Number of bytes for the message, in-
cluding this field.
28500 TemplateID Y 2 4 unsigned int Unique identifier for a BSE ETI mes-
sage layout. Value: 10108 (Execution-
Report, MsgType = 8)
25017 Pad2 U 2 6 Fixed String not used
<NRResponseHeaderME>
5979 RequestTime Y 8 8 UTCTimestamp Gateway request in timestamp.
7764 RequestOut Y 8 16 UTCTimestamp Timestamp the gateway sends a mes-
sage to the Matching Engine
21002 TrdRegTSTimeIn Y 8 24 UTCTimestamp Matching engine in timestamp.
21003 TrdRegTSTimeOut Y 8 32 UTCTimestamp Matching engine out timestamp.
7765 ResponseIn Y 8 40 UTCTimestamp Timestamp the gateway receives a
message from the Matching Engine
52 SendingTime Y 8 48 UTCTimestamp Gateway response out timestamp.
34 MsgSeqNum Y 4 56 unsigned int Message sequence number used by the
participant for requests sent to the ga-
teway.
893 LastFragment Y 1 60 unsigned int Indicates whether this message is the
last fragment (part) of a sequence of
messages belonging to one dedicated
transaction.
Value Description
1 Last Message
25018 Pad3 U 3 61 Fixed String not used
<Message Body>
37 OrderID Y 8 64 unsigned int Exchange Order ID generated by BSE
System; it remains constant over the
lifetime of an order.
11 ClOrdID N 8 72 unsigned int Client Order ID: Unique participant
defined order request identifier; used
for client order id chaining.
41 OrigClOrdID N 8 80 unsigned int ClOrdID (11) of the last successfully
processed task (request) referring to
the specific order.
48 SecurityID Y 8 88 signed int Instrument identifier.
17 ExecID Y 8 96 UTCTimestamp Transaction timestamp.
184
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
Tag Field Name Req’d Len Ofs Data Type Description
1110 PriceMkToLimitPx N 8 104 PriceType The price at which the market order
got converted into regular limit order.
Applicable for OrderType (40) = 5.
151 LeavesQty Y 4 112 Qty Remaining quantity of an order. If the
order has been executed partially this
field contains the non-executed quan-
tity. A remaining size of 0 indicates
that the order is fully matched or no
longer active.
14 CumQty Y 4 116 Qty Cumulated executed quantity of an or-
der.
84 CxlQty Y 4 120 Qty Total quantity cancelled for this order.
39 OrdStatus Y 1 124 char Conveys the current status of an or-
der.
Value Description
0 New
1 Partially Filled
2 Filled
4 Cancelled
9 Suspended
150 ExecType Y 1 125 char The reason why this message was ge-
nerated.
Value Description
4 Cancelled
5 Replaced
L Triggered
ExecRestatement-
378 Y 2 126 unsigned int Code to further qualify the field Exec-
Reason
Type (150) of the Execution Report
(8) message.
Value Description
102 Order Replaced
105 IOC Order Cancelled
135 Market Order Triggered
215 RRM Order Added
221 Provisional Order Added
246 Self Trade Order Deleted
185
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
Tag Field Name Req’d Len Ofs Data Type Description
1227 ProductComplex Y 1 128 unsigned int This field qualifies an instrument type
on BSE.
Value Description
1 Simple Instrument
5 Futures Spread
25022 Pad7 U 7 129 Fixed String not used
186
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
7.7.20 Cancel Order Single
This message is used to cancel a single order. For more details, please refer to chapter 4.5.3
Cancellation.
Tag Field Name Req’d Len Ofs Data Type Description
<MessageHeaderIn>
9 BodyLen Y 4 0 unsigned int Number of bytes for the message, in-
cluding this field.
28500 TemplateID Y 2 4 unsigned int Unique identifier for a BSE ETI mes-
sage layout. Value: 10109 (OrderCan-
celRequest, MsgType = F)
25028 NetworkMsgID U 8 6 Fixed String not used
25017 Pad2 U 2 14 Fixed String not used
<RequestHeader>
34 MsgSeqNum Y 4 16 unsigned int Message sequence number used by the
participant for requests sent to the ga-
teway.
50 SenderSubID Y 4 20 unsigned int User ID.
<Message Body>
37 OrderID N 8 24 unsigned int Exchange Order ID generated by BSE
System; it remains constant over the
lifetime of an order.
11 ClOrdID N 8 32 unsigned int Client Order ID: Unique participant
defined order request identifier; used
for client order id chaining.
41 OrigClOrdID N 8 40 unsigned int ClOrdID (11) of the last successfully
processed task (request) referring to
the specific order.
526 MessageTag Y 4 48 signed int User defined free field. The field is
echoed in the trade notifications, lis-
tener data, session data.
187
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
Tag Field Name Req’d Len Ofs Data Type Description
1300 MarketSegmentID N 4 52 signed int Product identifier.
30048 SimpleSecurityID Y 4 56 unsigned int Instrument identifier for simple instru-
ments. Should be filled with the 4
least significant bytes of SecurityID
(48) provided in BSE reference data.
20655 TargetPartyIDSessionID N 4 60 unsigned int Session ID.
25029 RegulatoryID N 4 64 unsigned int not used.
25019 Pad4 U 4 68 Fixed String not used
188
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
7.7.21 Cancel Order Multi Leg
This message is used to cancel a multi leg order. For more details, please refer to chapter
4.5.3 Cancellation.
Tag Field Name Req’d Len Ofs Data Type Description
<MessageHeaderIn>
9 BodyLen Y 4 0 unsigned int Number of bytes for the message, in-
cluding this field.
28500 TemplateID Y 2 4 unsigned int Unique identifier for a BSE ETI mes-
sage layout. Value: 10123 (OrderCan-
celRequest, MsgType = F)
25028 NetworkMsgID U 8 6 Fixed String not used
25017 Pad2 U 2 14 Fixed String not used
<RequestHeader>
34 MsgSeqNum Y 4 16 unsigned int Message sequence number used by the
participant for requests sent to the ga-
teway.
50 SenderSubID Y 4 20 unsigned int User ID.
<Message Body>
37 OrderID N 8 24 unsigned int Exchange Order ID generated by BSE
System; it remains constant over the
lifetime of an order.
189
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
Tag Field Name Req’d Len Ofs Data Type Description
11 ClOrdID N 8 32 unsigned int Client Order ID: Unique participant
defined order request identifier; used
for client order id chaining.
41 OrigClOrdID N 8 40 unsigned int ClOrdID (11) of the last successfully
processed task (request) referring to
the specific order.
48 SecurityID Y 8 48 signed int Instrument identifier.
526 MessageTag Y 4 56 signed int User defined free field. The field is
echoed in the trade notifications, lis-
tener data, session data.
1300 MarketSegmentID Y 4 60 signed int Product identifier.
20655 TargetPartyIDSessionID N 4 64 unsigned int Session ID.
25029 RegulatoryID N 4 68 unsigned int not used.
190
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
7.7.22 Cancel Order Response (Standard Order)
This message confirms the cancellation of a Standard (non lean) Order. For more details,
please refer to chapter 4.5.11 Order Status and Execution Reports.
Tag Field Name Req’d Len Ofs Data Type Description
<MessageHeaderOut>
9 BodyLen Y 4 0 unsigned int Number of bytes for the message, in-
cluding this field.
28500 TemplateID Y 2 4 unsigned int Unique identifier for a BSE ETI mes-
sage layout. Value: 10110 (Execution-
Report, MsgType = 8)
25017 Pad2 U 2 6 Fixed String not used
<ResponseHeaderME>
5979 RequestTime Y 8 8 UTCTimestamp Gateway request in timestamp.
7764 RequestOut Y 8 16 UTCTimestamp Timestamp the gateway sends a mes-
sage to the Matching Engine
21002 TrdRegTSTimeIn Y 8 24 UTCTimestamp Matching engine in timestamp.
21003 TrdRegTSTimeOut Y 8 32 UTCTimestamp Matching engine out timestamp.
7765 ResponseIn Y 8 40 UTCTimestamp Timestamp the gateway receives a
message from the Matching Engine
52 SendingTime Y 8 48 UTCTimestamp Gateway response out timestamp.
34 MsgSeqNum Y 4 56 unsigned int Message sequence number used by the
participant for requests sent to the ga-
teway.
5948 PartitionID Y 2 60 unsigned int Grouping of BSE products.
Belongs to the scope of Service
Availability and Retransmit requests.
1180 ApplID Y 1 62 unsigned int Identifier for an ETI data stream.
Value Description
4 Session Data
28704 ApplMsgID N 16 63 data Not set if the submitting session is not
the owner of the cancelled order.
893 LastFragment Y 1 79 unsigned int Indicates whether this message is the
last fragment (part) of a sequence of
messages belonging to one dedicated
transaction.
Value Description
1 Last Message
<Message Body>
37 OrderID Y 8 80 unsigned int Exchange Order ID generated by BSE
System; it remains constant over the
lifetime of an order.
191
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
Tag Field Name Req’d Len Ofs Data Type Description
11 ClOrdID N 8 88 unsigned int Client Order ID: Unique participant
defined order request identifier; used
for client order id chaining.
41 OrigClOrdID N 8 96 unsigned int ClOrdID (11) of the last successfully
processed task (request) referring to
the specific order.
48 SecurityID Y 8 104 signed int Instrument identifier.
17 ExecID Y 8 112 UTCTimestamp Transaction timestamp.
14 CumQty Y 4 120 Qty Cumulated executed quantity of an or-
der.
84 CxlQty Y 4 124 Qty Total quantity cancelled for this order.
39 OrdStatus Y 1 128 char Conveys the current status of an or-
der.
Value Description
4 Cancelled
6 Pending Cancel
9 Suspended
150 ExecType Y 1 129 char The reason why this message was ge-
nerated.
Value Description
4 Cancelled
6 Pending Cancel
Y Provisional Order Reject
N RRM Order Reject
ExecRestatement-
378 Y 2 130 unsigned int Code to further qualify the field Exec-
Reason
Type (150) of the Execution Report
(8) message.
Value Description
103 Order Cancelled
197 Order Cancellation Pending
1227 ProductComplex Y 1 132 unsigned int This field qualifies an instrument type
on BSE.
Value Description
1 Simple Instrument
5 Futures Spread
25018 Pad3 U 3 133 Fixed String not used
192
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
7.7.23 Cancel Order Response (Lean Order)
This message confirms the cancellation of a Lean Order. For more details, please refer to
chapter 4.5.11 Order Status and Execution Reports.
Tag Field Name Req’d Len Ofs Data Type Description
<MessageHeaderOut>
9 BodyLen Y 4 0 unsigned int Number of bytes for the message, in-
cluding this field.
28500 TemplateID Y 2 4 unsigned int Unique identifier for a BSE ETI mes-
sage layout. Value: 10111 (Execution-
Report, MsgType = 8)
25017 Pad2 U 2 6 Fixed String not used
<NRResponseHeaderME>
5979 RequestTime Y 8 8 UTCTimestamp Gateway request in timestamp.
7764 RequestOut Y 8 16 UTCTimestamp Timestamp the gateway sends a mes-
sage to the Matching Engine
21002 TrdRegTSTimeIn Y 8 24 UTCTimestamp Matching engine in timestamp.
21003 TrdRegTSTimeOut Y 8 32 UTCTimestamp Matching engine out timestamp.
7765 ResponseIn Y 8 40 UTCTimestamp Timestamp the gateway receives a
message from the Matching Engine
52 SendingTime Y 8 48 UTCTimestamp Gateway response out timestamp.
34 MsgSeqNum Y 4 56 unsigned int Message sequence number used by the
participant for requests sent to the ga-
teway.
893 LastFragment Y 1 60 unsigned int Indicates whether this message is the
last fragment (part) of a sequence of
messages belonging to one dedicated
transaction.
Value Description
1 Last Message
25018 Pad3 U 3 61 Fixed String not used
<Message Body>
37 OrderID Y 8 64 unsigned int Exchange Order ID generated by BSE
System; it remains constant over the
lifetime of an order.
11 ClOrdID N 8 72 unsigned int Client Order ID: Unique participant
defined order request identifier; used
for client order id chaining.
41 OrigClOrdID N 8 80 unsigned int ClOrdID (11) of the last successfully
processed task (request) referring to
the specific order.
48 SecurityID Y 8 88 signed int Instrument identifier.
17 ExecID Y 8 96 UTCTimestamp Transaction timestamp.
193
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
Tag Field Name Req’d Len Ofs Data Type Description
14 CumQty Y 4 104 Qty Cumulated executed quantity of an or-
der.
84 CxlQty Y 4 108 Qty Total quantity cancelled for this order.
39 OrdStatus Y 1 112 char Conveys the current status of an or-
der.
Value Description
4 Cancelled
6 Pending Cancel
9 Suspended
150 ExecType Y 1 113 char The reason why this message was ge-
nerated.
Value Description
4 Cancelled
6 Pending Cancel
Y Provisional Order Reject
N RRM Order Reject
ExecRestatement-
378 Y 2 114 unsigned int Code to further qualify the field Exec-
Reason
Type (150) of the Execution Report
(8) message.
Value Description
103 Order Cancelled
197 Order Cancellation Pending
1227 ProductComplex Y 1 116 unsigned int This field qualifies an instrument type
on BSE.
Value Description
1 Simple Instrument
5 Futures Spread
25018 Pad3 U 3 117 Fixed String not used
194
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
7.7.24 Cancel Order Notification
This message informs about an unsolicited cancellation of a single order. For more details,
please refer to chapter 4.5.11 Order Status and Execution Reports.
Tag Field Name Req’d Len Ofs Data Type Description
<MessageHeaderOut>
9 BodyLen Y 4 0 unsigned int Number of bytes for the message, in-
cluding this field.
28500 TemplateID Y 2 4 unsigned int Unique identifier for a BSE ETI mes-
sage layout. Value: 10112 (Execution-
Report, MsgType = 8)
25017 Pad2 U 2 6 Fixed String not used
<RBCHeaderME>
21003 TrdRegTSTimeOut N 8 8 UTCTimestamp Matching engine out timestamp.
52 SendingTime Y 8 16 UTCTimestamp Gateway response out timestamp.
28727 ApplSubID N 4 24 unsigned int Unique ID assigned by the BSE sys-
tem during broadcast subscription in
order to link broadcasts to the related
subscription.
5948 PartitionID Y 2 28 unsigned int Grouping of BSE products.
Belongs to the scope of Service
Availability and Retransmit requests.
28704 ApplMsgID N 16 30 data Application message identifier assi-
gned to an order event.
1180 ApplID N 1 46 unsigned int Identifier for an ETI data stream.
Value Description
4 Session Data
5 Listener Data
1352 ApplResendFlag Y 1 47 unsigned int Indicates a retransmission message.
Value Description
0 False
1 True
893 LastFragment Y 1 48 unsigned int Indicates whether this message is the
last fragment (part) of a sequence of
messages belonging to one dedicated
transaction.
Value Description
1 Last Message
25022 Pad7 U 7 49 Fixed String not used
<Message Body>
195
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
Tag Field Name Req’d Len Ofs Data Type Description
37 OrderID Y 8 56 unsigned int Exchange Order ID generated by BSE
System; it remains constant over the
lifetime of an order.
11 ClOrdID N 8 64 unsigned int Client Order ID: Unique participant
defined order request identifier; used
for client order id chaining.
41 OrigClOrdID N 8 72 unsigned int ClOrdID (11) of the last successfully
processed task (request) referring to
the specific order.
48 SecurityID Y 8 80 signed int Instrument identifier.
17 ExecID Y 8 88 UTCTimestamp Transaction timestamp.
526 MessageTag Y 4 96 signed int The message tag as provided by the
user in order request
14 CumQty Y 4 100 Qty Cumulated executed quantity of an or-
der.
84 CxlQty Y 4 104 Qty Total quantity cancelled for this order.
1300 MarketSegmentID N 4 108 signed int Product identifier.
20036 PartyIDEnteringTrader N 4 112 unsigned int Entering User ID.
ExecRestatement-
378 Y 2 116 unsigned int Code to further qualify the field Exec-
Reason
Type (150) of the Execution Report
(8) message.
Value Description
103 Order Cancelled
197 Order Cancellation Pending
199 Pending Cancellation Exe-
cuted
20007 PartyIDEnteringFirm N 1 118 unsigned int Entering Entity ID.
Value Description
1 Participant
2 Market Supervision
39 OrdStatus Y 1 119 char Conveys the current status of an or-
der.
Value Description
4 Cancelled
6 Pending Cancel
9 Suspended
196
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
Tag Field Name Req’d Len Ofs Data Type Description
150 ExecType Y 1 120 char Indicates if a request has been entered
by the participant or by market super-
vision.
Value Description
4 Cancelled
6 Pending Cancel
1227 ProductComplex Y 1 121 unsigned int This field qualifies an instrument type
on BSE.
Value Description
1 Simple Instrument
5 Futures Spread
54 Side Y 1 122 unsigned int Side of the order.
Value Description
1 Buy
2 Sell
25020 Pad5 U 5 123 Fixed String not used
197
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
8 Appendix
8.1 Message Flows
8.1.1 Enter Order
The following example message flow shows the entry of an aggressively matching order in a
simple instrument:
Each entry of an aggressively matching order will be answered by the Gateway with the
Immediate Execution Response (Execution Report (8)) message indicating OrdStatus (39) and
ExecType (150). In case of an immediate match, the fill details (i.e. prices, quantities and IDs)
of all partial executions (<FillsGrp>) will be provided as well.
The Execution Report (8) message within the session submitting the request will not
completely contain the order data sent by the participant. The participant application should
record the details of each sent order. The field MsgSeqNum (34) in the response header
contains the message sequence number of the original New Order Single (D) request.
For lean orders, (ApplSeqIndicator (28703) = 0), an application message identifier is only
provided in the response of the order entry in case the order has been immediately executed.
Regarding lean orders only executions and unsolicited messages are recoverable.
198
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
8.2 Trade Reconciliation and Identifiers
The following message flow shows a match event of an incoming aggressively matching order
against two resting orders in the book at two different price levels.
The focus of this message flow is to show, how trade reconciliation is based on the different
execution and trade identifiers.
The first figure shows the relevant private execution identifiers and the identifier of the match
event in the Execution Report (8) message as well as in the public trade information (message
MDIncrementalRefresh refers to the BSE EMDI and BSE MDI interface).
199
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
The second figure shows how the private execution identifiers and the identifier of the match
event can also be found in the Trade Capture Report (AE).
Additionally it is illustrated, how trades within the new BSE trading architecture can be
mapped to the trade information provided by BSE Clearing.
200
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
8.3 Reconciliation of Timestamps in BSE ETI and BSE EMDI
Transaction and matching engine in timestamps can be mapped in BSE ETI and BSE EMDI
in order to identify own transactions that led to a public market data update as well as trades.
A not ‘successful’ aggressor may investigate how much he was too late.
T13: MDEntryTime (273) in BSE EMDI maps to ExecID (17) in BSE ETI order responses
and notifications as well as to TransactTime (60) in the BSE ETI Trade Notification.
T12: AggressorTimeStamp (8820) in BSE EMDI maps to TrdRegTSTimeIn (21002) in BSE
ETI. It comprises the matching engine in time of the order that triggered the trade.
201
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
202
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
8.4 Variable Arrays
203
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
8.5 Uniqueness of Identifiers
The following table documents the criteria required for uniqueness of IDs.
Tag Field Name Description Source Rule Uniqueness
The uniqueness of ClOrdID (11) is
checked at entry time among currently
Client Order ID: Unique live orders for the same instrument and
11 ClOrdID participant defined order P1 session. Duplicate ClOrdID (11) values Session
request identifier. Instrument
for the same session and instrument will
be rejected with the exception of
Immediate or Cancel (IOC) Orders.
Exchange Order ID An exchange order ID is guaranteed to
37 OrderID generated by BSE System; E be unique among all orders of the same Product
it remains constant over the product that have an open quantity on
lifetime of an order. the same business day.
17 ExecID Transaction timestamp. E Is unique per product. Product
The MsgSeqNum (34) in the request
Message sequence number
used by the participant for header must increment with each
34 MsgSeqNum requests sent to the P message sent by the participant to the Session
gateway. gateway, starting with the Session
Logon message as sequence number 1.
Application Message Is unique per software release and Software
28704 ApplMsgID Identifier. E partition. Any kind of “reset” will be Release
announced via the related release notes. Partition
Application Message Trade notification: unique per business Partition
1181 ApplSeqNum Sequence Number. E day, partition and business unit. Starts Business Unit
every business day with 1.
News: unique per market. Market
Risk Control: unique per business unit. Business Unit
Unique identifier for each
880 TrdMatchID price level (match step) of a Is unique for the product of the order Business Day
28708 FillMatchID E and business day. Product
match event; it is used for
public trade reporting.
Private identifier of an order
1363 FillExecID match step event, which
28725 LegExecID can be reconciled with the E Is unique for the product of the order BusinessDay
1506 SideTradeID field SideTradeID (1506) in and business day. Product
the Trade Notification.
The TradeID (1003) field in
the Trade Notification in
BSE ETI uniquely identifies
all order leg allocations
1003 TradeID referring to the same BusinessDay
1126 OrigTradeID matching event, simple E Is unique per product and business day. Product
instrument and price. The
TradeID (1003) is
equivalent to the trade
identifier in BSE Clearing.
1
P = Participant, E = BSE
204
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
8.6 XML Interface Description
The BSE ETI interface description is also available as a machine readable XML file. The
structure of the XML is described by an XML schema file.
The XML file consists of the following parts and definitions:
Definitions Description
A "MessageFlow" is a flow diagram describing the system behavior
MessageFlow from the user's point of view. The MessageFlow is represented as a
tree of nodes.
An "ApplicationMessage" represents a top-level structure which
describes a message transmitted between the participant and user
ApplicationMessage and the exchange. In contrast to the “Structure” definition, all
components and repeating groups are uncollapsed. Valid values and
description of fields are provided in the application scope.
A "Structure" is either the definition of a top-level-structure
Structure ("Message") or of a (repeated) sub-structure. Components and
repeating groups are provided in a collapsed representation. All
fields show the complete list of valid values.
A "DataType" is the technical and functional description of a data field.
DataType Each "DataType" is part of a (multi-level) inheritance tree based on the
following “rootTypes": String, float, int, and data.
For a detailed description of all available XML elements and attributes please refer to the
XML schema file.
205
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
9 Change Log
9.1 Major Changes compared to the version 1.0:
Chapter Description
7.6Order Handling New field Account Type added in Order Messages
7.5.3, 7.5.4 User New message added for user password management.
password management
- Added messages: Risk notification to members, Collateral alerts to
members.
9.2 Major Changes compared to the version 1.2
Chapter Description
1 List of Abbreviations Abbreviations added for RRM and HOVC
3.4 Session Oriented Separate session required for each segment.
4.5.2 Order Quantity
4.5.5 MaxShow Revealed Quantity feature added for Equity Derivatives segment.
Quantity Modification
4.5.9 Order Status and New Scenarios added for RRM orders and HOVC orders
Execution Reports
4.9 Risk Controls Description provided for RRM mode
5.2 Identification and Description provided for handling multiple segment.
Authentication
6.11 Order Handling For Mechanism for handling RRM orders
RRM Orders
6.12 Order Handling For Mechanism for handling High Value orders
HOVC Orders
9.3 Major Changes compared to the version 1.3
Chapter Description
5.1 Session Concept Trade Broadcast enabled for HF sessions also
5.1.2 HF session All sessions currently are classified as HF session only
9.4 Major Changes compared to the version 1.4
Chapter Description
Logic for the location ID field SenderLocationID(142) to be sent in
4.5.9 Location ID
the order request
206
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
Chapter Description
5.2.3 User The description for password change elaborate d to include the
Authentication password change policy is applicable for user and session both.
For Modification of disclosed quantity field MaxShow(210), the
4.5.5 MaxShow Quantity user should send the desired quantity instead of sum of
Modification
CumQty(14) and desired visible quantity.
9.5 Major Changes compared to the version 1.4.2
Chapter Description
1 List of Abbreviations Removal of HF and LF
2 Introduction Drop copy for standard orders removed
3.5 Subscription Subscription to Listener Broadcast removed
Mechanism
4.5.1 order Types Removal of Standard orders
4.5.4 Modification Removal of facility to modify standard orders of another session
4.7 Listener Broadcast Removed
4.12 Trading Session Trading session events will not be available on listener broadcast
Events
5.1 Session Concept
5.1.1 Low Frequency
session (LF) 5.1.2 High Removed HF and LF session related information
Frequency Session (HF)
5.4 Throughput Limit Removal of HF and LF session
6.8 Session data Removal of standard order related information
6.9 Broadcast Listener broadcast removed
6.10.1 Retransmission Listener broadcast removed
9.6 Major Changes compared to the version 1.4.3
Chapter Description
1 List of Abbreviations Zero Terminal (ZT) Introduced
4.5.1 Order Types New order Type Good-for-Session TimeInForce (59) = 7 introduced.
4.5.10 Order Status and All Scenarios having HOVC word are rephrased with the word
Execution Provisional
4.10 Mass cancellation New Event for mass cancellation (Product state = Post closing and End
Notification and Mass
Cancellation Events of Day) Introduced.
5.2.3 User Rules for Password Expiry and Password Change introduced for Session
Authentication and User Password.
6.12 Order Handling for New case of call auction orders added.. Section rephrased from Order
Provisional orders handling for HOVCorders to Order Handling for Provisional orders
207
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
9.7 Major Changes compared to the version 1.4.4
208
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
Chapter Description
4.5.1 Order Types New Order Type block deal OrdType (40) = 6 supported.
4.5.10 Order Status and New cases for block deal orders added. New Caseadded in Unsoliciited
Execution Reports Events for orders cancelled due to price outside price band.
9.8 Major Changes compared to the version 1.4.5
Chapter Description
1 List of Abbreviations Removal of HF and LF
2 Introduction Drop copy for standard orders added
3.5 Subscription Subscription to Listener Broadcast added
Mechanism
4.5.1 order Types Addition of Standard orders
4.5.4 Modification Addition of facility to modify standard orders of another session
4.5.9 Short Order New messages structures with lesser payload is introduced.
Message Layout
4.7 Listener Broadcast Added
4.9 Risk Control Risk notification messages sent additionally for position limit violation in
equity derivatives and currency derivatives segment.
4.12 Trading Session Trading session events will not be available on listener broadcast
Events
5.1 Session Concept
5.1.1 Low Frequency
session (LF) 5.1.2 High Removed HF and LF session related information
Frequency Session (HF)
5.4 Throughput Limit Addition of HF and LF session
6.8 Session data Addition of standard order related information
6.9 Broadcast Listener broadcast added
6.10.1 Retransmission Listener broadcast added
6.12 Order Handling for Orders submitted in call auction sessions will not be acknowledged with
Provisional orders provisional acknowledgement. For each order added in call auction
session, final confirmation would be provided immediately.
7.5.8 Risk Notification
7.5.1 Risk Collateral Following new fields are added in the structures MarketsegmentID
Alert Trader 7.5.2 Risk (1300) MemberStatus(30633) SegmentIndicatior (30636)
Collateral Alert Admin
7.7.8 Extended Order New values added for ExecRestatementReason (378)
Information
9.9 Major Changes compared to the version 1.4.6
Chapter Description
Heartbeat interval value set as zero will not be effective in
6.4 Heartbeat production. The exchangedefault heartbeat interval will be
effective.
209
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
Chapter Description
4.5.11 Order Status and Orderstatus(39) for Delete orders under Provisional orders and
Execution RRM orders is changed from 9=Suspended to 4= Order cancelled
9.10 Major Changes compared to the version 1.4.7
1. In following messages a new field RegulatoryID has been added with description given
below:
· Cancel Order Single = 10109
· Cancel Order Multi Leg = 10123
· Order Mass Cancellation Request = 10120
Field Name Tag DataType Length Required Description
RegulatoryID unsigned int 4 N not used
2. In following messages two fields RequestOut and ResponseIn has been added with
description given below:
· New Order Response (Standard Order) = 10101
· New Order Response (Lean Order) = 10102
· Replace Order Response (Standard Order) = 10107
· Replace Order Response (Lean Order) = 10108
· Cancel Order Response (Standard Order) = 10110
· Cancel Order Response (Lean Order) = 10111
· Order Mass Cancellation Response = 10121
· Order Mass Cancellation Response No Hits = 10124
· Immediate Execution Response = 10103
Field Name Tag DataType Length Required Description
Timestamp the gateway
RequestOut 7764 UTCTimestamp 8 Y sends a message to the
Matching Engine
Timestamp the gateway
ResponseIn 7765 UTCTimestamp 8 Y receives a message from the
Matching Engine
3. In Field MassActionReason = 28721
· In Reason for mass cancellation new reason has been added
210
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
Value Description
111 Product_temporarily_not_tradable
In Reason for mass cancellation an existing reason has been removed.
Value Description
108 Instrument_Expired
4. In following messages three fields RegulatoryID , PartyIDLocationID and
CustOrderHandlingInst have been added with description given below:
· New Order Single = 10100,
· Replace Order Single = 10106
· New Order Multi Leg = 10113
· Replace Order Multi Leg = 10114
· IN Extended Order Information = 10117 two Fields
PartyIDLocationID,CustOrderHandlingInst have been added
Field Name Tag DataType Length Required Description
RegulatoryID 25029 unsigned int 4 N not used
PartyIDLocationID 20075 Fixed String 2 N not used
CustOrderHandlingInst 1031 Fixed String 1 N not used
5. In Cancel Order Notification = 10112 message two fields MarketSegmentID and Side
have been added with description given below(these two fields are not new)
Field Name Tag DataType Length Required Description
MarketSegmentID 1300 signed int 4 Y Product identifier.
Side of the order.
value Description
Side 54 unsigned int 1 Y 1 Buy
2 Sell
6. In Immediate Execution Response= 10103 in field FillsGrp[NoFills] for following sub
fields FillLiquidityInd(1443) enum 1,7 is removed
7. In following messages field TargetPartyIDDeskID removed
· Order Mass Cancellation Notification = 10122
211
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
· Order Mass Cancellation Request = 10120
8. In Reject = 10010,in place of <ResponseHeader>,< NRResponseHeaderME> as a
required field has been added with following subfields
<NRResponseHeaderME>
Field Name Tag DataType Length Required Description
RequestTime 5979 UTCTimestamp 8 Y Gateway request in
timestamp.
Timestamp the gateway sends
RequestOut 7764 UTCTimestamp 8 N a message to the Matching
Engine
TrdRegTSTimeIn 21002 UTCTimestamp 8 N Matching engine in
timestamp.
TrdRegTSTimeOut 21003 UTCTimestamp 8 N Matching engine out
timestamp.
Timestamp the gateway
ResponseIn 7765 UTCTimestamp 8 N receives a message from the
Matching Engine
SendingTime 52 UTCTimestamp 8 Y Gateway response out
timestamp.
Message sequence number
MsgSeqNum 34 unsigned int 4 Y used by the participant for
requests sent to the gateway.
Indicates whether this
message is the last fragment
(part) of a sequence of
messages belonging to one
dedicated transaction.
LastFragment 893 unsigned int 1 Y
Value Description
0 Not Last Message
1 Last Message
9. InConnection Gateway Request= 10020 field DefaultCstmApplVerID has been added
Field Name Tag DataType Length Required Description
Indicates the BSE ETI
interface version the ETI
DefaultCstmApplVerID
1408 Fixed String 30 Y gateway software uses. Must
be set as 1.0 Valid characters:
\x20,\x22-\x7B, \x7D,\x7E
10. IN News = 10031 Field ApplSeqNum modified from Required to not Not Mandatory
11. IN Trade Notification = 10500 new fields ClearingTradePrice , ClearingTradeQty,
CustOrderHandlingInst have been added .
212
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
Field Name Tag DataType Length Required Description
ClearingTradePrice 1596 PriceType 8 N Not used
ClearingTradeQty 28736 Qty 4 N Not used
CustOrderHandlingInst 1031 Fixed String 1 N Not used
IN Trade Notification = 10500 Field AggressorSide DELETED and field
RootPartyIDSessionID changes from mandatory to not required.
9.11 Major Changes compared to the version 1.5
Chapter Description
New Field NoOf Partition(1770) introducedwhich provides
7.6.9 Session Logon
Response information about the total number of partitions present in the
segment.
9.12 Major Changes compared to the version 1.5.1
Chapter Description
5.2.3 User Authentication Handling expired password scenario detailed.
7.6.9 Session Logon New authentication related fields are added LastLoginTime(1772)
Response 7.6.17 User DaysLeftForPasswdExpiry(1774) GraceLoginsLeft(1773)
Logon Response LastLoginIP(1771)
9.13 Major Changes compared to the version 1.5.2
Chapter Description
7.7.8 Extended Order
Information
7.7.11 New Order
Response (Standard)
7.7.12 New Order
Response (Lean) New value added for the field ExecRestatementReason (378) for
7.7.13 Immediate orders deleted due to self trade prevention functionality
Execution Response
7.7.18 Replace Order
Response (Standard)
7.7.19 Replace Order
Response (Lean)
213
Bombay Stock Exchange’s Release 1.1 BSE India Pvt. Ltd.
Enhanced Trading Interface V1.5.3
Chapter Description
New cases added under New Order, Replace Order, Unsolicited
4.5.11 Order Status and Events for the orders cancelled due to self trade prevention
Execution functionality
214