syntax = "proto3"; package fincleartech.ibroker; option java_package = "io.fincleartech.protobuf.ibroker.broadcast"; option java_multiple_files = true; import "google/protobuf/wrappers.proto"; import "fincleartech/ibroker/ibroker-common.proto"; // Marks a message as acknowledged. An acknowledged message is no longer delivered to a subscriber. message IBrokerAcknowledge { // Message identifier as specified in a received IBrokerMessage. string message_id = 1; } message IBrokerMessage { // Message identifier. string message_id = 1; // Message type. oneof message_type { ParticipantToIssuerConversionConfirmation participant_to_issuer_conversion_confirmation = 2; IssuerToParticipantConversionConfirmation issuer_to_participant_conversion_confirmation = 3; ParticipantToIssuerTransferConfirmation participant_to_issuer_transfer_confirmation = 4; IssuerToParticipantTransferConfirmation issuer_to_participant_transfer_confirmation = 5; AccountToAccountTransferConfirmation account_to_account_transfer_confirmation = 6; ParticipantToParticipantTransferConfirmation participant_to_participant_transfer_confirmation = 7; ParticipantToParticipantTransferCancellationConfirmation participant_to_participant_transfer_cancellation_confirmation = 8; ParticipantToParticipantTransferStatus participant_to_participant_transfer_status = 9; SettlementAccountNotification settlement_account_notification = 10; CorporateActionElectionStatusAdvice corporate_action_election_status_advice = 11; CorporateActionElectionCancellationStatusAdvice corporate_action_election_cancellation_status_advice = 12; TransactionAcknowledgementAdvice transaction_acknowledgement_advice = 13; ChangeOfControllingParticipantStatusAdvice change_of_controlling_participant_status_advice = 14; ChangeOfControllingParticipantConfirmation change_of_controlling_participant_confirmation = 15; ChangeOfControllingParticipantCancellationConfirmation change_of_controlling_participant_cancellation_confirmation = 16; CollateralCreated collateral_created = 17; CollateralReduced collateral_reduced = 18; CollateralLodgementAcknowledgeAdvice collateral_lodgement_acknowledge_advice = 19; CollateralWithdrawalRequestAccepted collateral_withdrawal_request_accepted = 20; CollateralWithdrawalRequestRejected collateral_withdrawal_request_rejected = 21; SRNEnquiryStatusAdvice srn_enquiry_status_advice = 24; SRNEnquiryResponse srn_enquiry_response = 25; SRNBalanceStatusAdvice srn_balance_status_advice = 26; SRNBalanceResponse srn_balance_response = 27; RequestRejected request_rejected = 28; } } service IBrokerBroadcastService { // Asynchronous persistent subscription to IBroker notifications. rpc Subscribe (stream IBrokerAcknowledge) returns (stream IBrokerMessage); } message ParticipantToParticipantTransferConfirmation { // Correlation request identifier google.protobuf.StringValue request_id = 1; // The Supplementary Reference field allows a Participant to optionally include a reference on the request // which will be passed to the Counterparty (if member of Participant Group). // No business validations are performed on this field. // Maximum Size 16 google.protobuf.StringValue supplementary_reference = 2; // The Participant Reference field allows a Participant to optionally include a reference on the request // which remains private to the Sender Participant. No business validations are performed on this field. // Maximum size 16 google.protobuf.StringValue participant_reference = 3; // The Underlying Reference field allows a Participant to optionally include an additional reference on the // Maximum size 16 google.protobuf.StringValue underlying_reference = 4; // Identifies the security in which units are being transferred. // Maximum size 8 google.protobuf.StringValue security_code = 5; // The Unit Quantity of the Security Code which is being transferred. This must be a positive whole number // greater than 0, with no decimal places. // The Delivering Account (HIN) must have sufficient available units greater than or equal to the Unit Quantity // for the specified security. // Maximum size 18 fincleartech.ibroker.NumberValue units = 6; // The Transaction Basis field characterises the movement of securities. // // # Valid Values: // // - F Facility for non-reportable transactions. // - I IPO transaction. // - M Market. // - L Stock lending activity. // - O Off-market. google.protobuf.StringValue transaction_basis = 7; // The Override Basis of Movement field(s) allow a Participant to optionally Override the default Basis of Movement // for the transaction where there are current corporate actions. // There can be up to 3 Override Basis of Movement present. // // # Valid Values: // // - CB Cum bonus issue. // - CC Cum capital return. // - CD Cum dividend. // - CE Cum entitlement (non-renounceable rights). // - CI Cum interest. // - CM Cum premium return. // - CQ Cum equal-access buyback. // - CR Cum rights issue (renounceable rights). // - CZ Cum non pro rata balance. // - XB Ex bonus issue. // - XC Ex capital return. // - XD Ex dividend. // - XE Ex entitlement (non-renounceable rights). // - XI Ex interest. // - XM Ex premium return. // - XQ Ex equal-access buyback. // - XR Ex rights issue (renounceable rights). // - XZ Ex non pro rata balance. repeated google.protobuf.StringValue basis_of_movement = 8; // Movement reason. // // # Valid values: // // - A Holder in Liquidation // - B balance transfer // - C holder request // - D Deceased Estate // - E Holder Bankrupt // - F Security Closed // - G Withdrawal of Participant // - I IPO Transaction // - Z Action by ASX operations google.protobuf.StringValue movement_reason = 9; // The Delivering Participant identifies the PID that owns the delivery HIN deliverying the units. google.protobuf.StringValue delivering_participant = 10; // The Receiving Participant identifies the PID that owns the HIN receiving the units google.protobuf.StringValue receiving_participant = 11; // The Settlement Account of the delivering/receiving HIN google.protobuf.StringValue settlement_account = 12; // Holding balance of your settlement Account as per CSP holding. fincleartech.ibroker.NumberValue holding_balance = 13; google.protobuf.StringValue transaction_id = 14; google.protobuf.StringValue counterparty_transaction_id = 15; google.protobuf.StringValue secondary_matching_flag = 16; } message ParticipantToParticipantTransferStatus { // Correlation request identifier google.protobuf.StringValue request_id = 1; google.protobuf.StringValue transaction_id = 8; google.protobuf.StringValue status = 6; } message AccountToAccountTransferConfirmation { // Correlation request identifier google.protobuf.StringValue request_id = 1; // The Participant Reference field allows a Participant to optionally include a reference on the request // which remains private to the Sender Participant. No business validations are performed on this field. // Maximum size 16 google.protobuf.StringValue participant_reference = 3; // The Underlying Reference field allows a Participant to optionally include an additional reference on the // Maximum size 16 google.protobuf.StringValue underlying_reference = 4; // Identifies the security in which units are being transferred. // Maximum size 8 google.protobuf.StringValue security_code = 5; // The Unit Quantity of the Security Code which is being transferred. This must be a positive whole number // greater than 0, with no decimal places. // The Delivering Account (HIN) must have sufficient available units greater than or equal to the Unit Quantity // for the specified security. // Maximum size 18 fincleartech.ibroker.NumberValue units = 6; // The Transaction Basis field characterises the movement of securities. // // # Valid Values: // // - F Facility for non-reportable transactions. // - I IPO transaction. // - M Market. // - L Stock lending activity. // - O Off-market. google.protobuf.StringValue transaction_basis = 7; // The Override Basis of Movement field(s) allow a Participant to optionally Override the default Basis of Movement // for the transaction where there are current corporate actions. // There can be up to 3 Override Basis of Movement present. // // # Valid Values: // // - CB Cum bonus issue. // - CC Cum capital return. // - CD Cum dividend. // - CE Cum entitlement (non-renounceable rights). // - CI Cum interest. // - CM Cum premium return. // - CQ Cum equal-access buyback. // - CR Cum rights issue (renounceable rights). // - CZ Cum non pro rata balance. // - XB Ex bonus issue. // - XC Ex capital return. // - XD Ex dividend. // - XE Ex entitlement (non-renounceable rights). // - XI Ex interest. // - XM Ex premium return. // - XQ Ex equal-access buyback. // - XR Ex rights issue (renounceable rights). // - XZ Ex non pro rata balance. repeated google.protobuf.StringValue basis_of_movement = 8; // Movement reason. // // # Valid values: // // - A Holder in Liquidation // - B balance transfer // - C holder request // - D Deceased Estate // - E Holder Bankrupt // - F Security Closed // - G Withdrawal of Participant // - I IPO Transaction // - Z Action by ASX operations google.protobuf.StringValue movement_reason = 9; google.protobuf.StringValue delivering_participant = 10; google.protobuf.StringValue delivering_settlement_account = 11; google.protobuf.StringValue receiving_participant = 12; google.protobuf.StringValue receiving_settlement_account = 13; fincleartech.ibroker.NumberValue receiving_holding_balance = 14; fincleartech.ibroker.NumberValue delivering_holding_balance = 15; fincleartech.ibroker.DateTimeValue effective_settlement_date = 16; google.protobuf.StringValue transaction_id = 17; } message ParticipantToIssuerTransferConfirmation { // Correlation request identifier google.protobuf.StringValue request_id = 1; // The Participant Reference field allows a Participant to optionally include a reference on the request // which remains private to the Sender Participant. No business validations are performed on this field. // Maximum size 16 google.protobuf.StringValue participant_reference = 3; // Identifies the security in which units are being transferred. // Maximum size 8 google.protobuf.StringValue security_code = 5; // The Unit Quantity of the Security Code which is being transferred. This must be a positive whole number // greater than 0, with no decimal places. // The Delivering Account (HIN) must have sufficient available units greater than or equal to the Unit Quantity // for the specified security. // Maximum size 18 fincleartech.ibroker.NumberValue units = 6; // The Transaction Basis field characterises the movement of securities. // // # Valid Values: // // - F Facility for non-reportable transactions. // - I IPO transaction. // - M Market. // - L Stock lending activity. // - O Off-market. google.protobuf.StringValue transaction_basis = 7; // The Override Basis of Movement field(s) allow a Participant to optionally Override the default Basis of Movement // for the transaction where there are current corporate actions. // There can be up to 3 Override Basis of Movement present. // // # Valid Values: // // - CB Cum bonus issue. // - CC Cum capital return. // - CD Cum dividend. // - CE Cum entitlement (non-renounceable rights). // - CI Cum interest. // - CM Cum premium return. // - CQ Cum equal-access buyback. // - CR Cum rights issue (renounceable rights). // - CZ Cum non pro rata balance. // - XB Ex bonus issue. // - XC Ex capital return. // - XD Ex dividend. // - XE Ex entitlement (non-renounceable rights). // - XI Ex interest. // - XM Ex premium return. // - XQ Ex equal-access buyback. // - XR Ex rights issue (renounceable rights). // - XZ Ex non pro rata balance. repeated google.protobuf.StringValue basis_of_movement = 8; // Movement reason. // // # Valid values: // // - A Holder in Liquidation // - B balance transfer // - C holder request // - D Deceased Estate // - E Holder Bankrupt // - F Security Closed // - G Withdrawal of Participant // - I IPO Transaction // - Z Action by ASX operations google.protobuf.StringValue movement_reason = 9; google.protobuf.StringValue participant = 10; google.protobuf.StringValue settlement_account = 11; google.protobuf.StringValue srn = 12; fincleartech.ibroker.NumberValue holding_balance = 13; google.protobuf.StringValue registration_reference = 14; google.protobuf.StringValue transaction_id = 15; } message IssuerToParticipantTransferConfirmation { // Correlation request identifier google.protobuf.StringValue request_id = 1; // The Participant Reference field allows a Participant to optionally include a reference on the request // which remains private to the Sender Participant. No business validations are performed on this field. // Maximum size 16 google.protobuf.StringValue participant_reference = 3; // Identifies the security in which units are being transferred. // Maximum size 8 google.protobuf.StringValue security_code = 5; // The Unit Quantity of the Security Code which is being transferred. This must be a positive whole number // greater than 0, with no decimal places. // The Delivering Account (HIN) must have sufficient available units greater than or equal to the Unit Quantity // for the specified security. // Maximum size 18 fincleartech.ibroker.NumberValue units = 6; // The Transaction Basis field characterises the movement of securities. // // # Valid Values: // // - F Facility for non-reportable transactions. // - I IPO transaction. // - M Market. // - L Stock lending activity. // - O Off-market. google.protobuf.StringValue transaction_basis = 7; // The Override Basis of Movement field(s) allow a Participant to optionally Override the default Basis of Movement // for the transaction where there are current corporate actions. // There can be up to 3 Override Basis of Movement present. // // # Valid Values: // // - CB Cum bonus issue. // - CC Cum capital return. // - CD Cum dividend. // - CE Cum entitlement (non-renounceable rights). // - CI Cum interest. // - CM Cum premium return. // - CQ Cum equal-access buyback. // - CR Cum rights issue (renounceable rights). // - CZ Cum non pro rata balance. // - XB Ex bonus issue. // - XC Ex capital return. // - XD Ex dividend. // - XE Ex entitlement (non-renounceable rights). // - XI Ex interest. // - XM Ex premium return. // - XQ Ex equal-access buyback. // - XR Ex rights issue (renounceable rights). // - XZ Ex non pro rata balance. repeated google.protobuf.StringValue basis_of_movement = 8; // Movement reason. // // # Valid values: // // - A Holder in Liquidation // - B balance transfer // - C holder request // - D Deceased Estate // - E Holder Bankrupt // - F Security Closed // - G Withdrawal of Participant // - I IPO Transaction // - Z Action by ASX operations google.protobuf.StringValue movement_reason = 9; google.protobuf.StringValue participant = 10; google.protobuf.StringValue settlement_account = 11; google.protobuf.StringValue srn = 12; fincleartech.ibroker.NumberValue holding_balance = 13; google.protobuf.StringValue transaction_id = 14; } message ParticipantToIssuerConversionConfirmation { // Correlation request identifier google.protobuf.StringValue request_id = 1; // The Participant Reference field allows a Participant to optionally include a reference on the request // which remains private to the Sender Participant. No business validations are performed on this field. // Maximum size 16 google.protobuf.StringValue participant_reference = 3; // Identifies the security in which units are being transferred. // Maximum size 8 google.protobuf.StringValue security_code = 5; // The Unit Quantity of the Security Code which is being transferred. This must be a positive whole number // greater than 0, with no decimal places. // The Delivering Account (HIN) must have sufficient available units greater than or equal to the Unit Quantity // for the specified security. // Maximum size 18 fincleartech.ibroker.NumberValue units = 6; // The Transaction Basis field characterises the movement of securities. // // # Valid Values: // // - F Facility for non-reportable transactions. // - I IPO transaction. // - M Market. // - L Stock lending activity. // - O Off-market. google.protobuf.StringValue transaction_basis = 7; // The Override Basis of Movement field(s) allow a Participant to optionally Override the default Basis of Movement // for the transaction where there are current corporate actions. // There can be up to 3 Override Basis of Movement present. // // # Valid Values: // // - CB Cum bonus issue. // - CC Cum capital return. // - CD Cum dividend. // - CE Cum entitlement (non-renounceable rights). // - CI Cum interest. // - CM Cum premium return. // - CQ Cum equal-access buyback. // - CR Cum rights issue (renounceable rights). // - CZ Cum non pro rata balance. // - XB Ex bonus issue. // - XC Ex capital return. // - XD Ex dividend. // - XE Ex entitlement (non-renounceable rights). // - XI Ex interest. // - XM Ex premium return. // - XQ Ex equal-access buyback. // - XR Ex rights issue (renounceable rights). // - XZ Ex non pro rata balance. repeated google.protobuf.StringValue basis_of_movement = 8; // Movement reason. // // # Valid values: // // - A Holder in Liquidation // - B balance transfer // - C holder request // - D Deceased Estate // - E Holder Bankrupt // - F Security Closed // - G Withdrawal of Participant // - I IPO Transaction // - Z Action by ASX operations google.protobuf.StringValue movement_reason = 9; google.protobuf.StringValue participant = 10; google.protobuf.StringValue settlement_account = 11; fincleartech.ibroker.NumberValue holding_balance = 12; google.protobuf.StringValue transaction_id = 13; } message IssuerToParticipantConversionConfirmation { // Correlation request identifier google.protobuf.StringValue request_id = 1; // The Participant Reference field allows a Participant to optionally include a reference on the request // which remains private to the Sender Participant. No business validations are performed on this field. // Maximum size 16 google.protobuf.StringValue participant_reference = 3; // Identifies the security in which units are being transferred. // Maximum size 8 google.protobuf.StringValue security_code = 5; // The Unit Quantity of the Security Code which is being transferred. This must be a positive whole number // greater than 0, with no decimal places. // The Delivering Account (HIN) must have sufficient available units greater than or equal to the Unit Quantity // for the specified security. // Maximum size 18 fincleartech.ibroker.NumberValue units = 6; // The Transaction Basis field characterises the movement of securities. // // # Valid Values: // // - F Facility for non-reportable transactions. // - I IPO transaction. // - M Market. // - L Stock lending activity. // - O Off-market. google.protobuf.StringValue transaction_basis = 7; // The Override Basis of Movement field(s) allow a Participant to optionally Override the default Basis of Movement // for the transaction where there are current corporate actions. // There can be up to 3 Override Basis of Movement present. // // # Valid Values: // // - CB Cum bonus issue. // - CC Cum capital return. // - CD Cum dividend. // - CE Cum entitlement (non-renounceable rights). // - CI Cum interest. // - CM Cum premium return. // - CQ Cum equal-access buyback. // - CR Cum rights issue (renounceable rights). // - CZ Cum non pro rata balance. // - XB Ex bonus issue. // - XC Ex capital return. // - XD Ex dividend. // - XE Ex entitlement (non-renounceable rights). // - XI Ex interest. // - XM Ex premium return. // - XQ Ex equal-access buyback. // - XR Ex rights issue (renounceable rights). // - XZ Ex non pro rata balance. repeated google.protobuf.StringValue basis_of_movement = 8; // Movement reason. // // # Valid values: // // - A Holder in Liquidation // - B balance transfer // - C holder request // - D Deceased Estate // - E Holder Bankrupt // - F Security Closed // - G Withdrawal of Participant // - I IPO Transaction // - Z Action by ASX operations google.protobuf.StringValue movement_reason = 9; google.protobuf.StringValue participant = 10; google.protobuf.StringValue settlement_account = 11; google.protobuf.StringValue srn = 12; fincleartech.ibroker.NumberValue holding_balance = 13; google.protobuf.StringValue transaction_id = 14; } message SettlementAccountNotification { message Address { repeated google.protobuf.StringValue address_line = 1; // The town which the address is located google.protobuf.StringValue town_name = 2; // The state which the address is located google.protobuf.StringValue state = 3; // The postcode which the address is located google.protobuf.StringValue post_code = 4; // The country code which the address is located google.protobuf.StringValue country = 5; } message Holder { // numeric value assigned by CSP to identify holders google.protobuf.StringValue holder_identifier = 1; // Date of Brith of holder fincleartech.ibroker.DateTimeValue date_of_birth = 2; // CSP Holder Type = I or C google.protobuf.StringValue holder_type = 3; // Name of the holder as per CSP google.protobuf.StringValue holder_name = 4; // address type of holder - home, bizz. Not maintained by iBROKER google.protobuf.StringValue address_type = 5; // Address of holder Address address = 6; // Legal Entity identifier google.protobuf.StringValue legal_entity_identifier = 7; // Date company incorporated fincleartech.ibroker.DateTimeValue company_incorporation_date = 8; // Email address of holder google.protobuf.StringValue email_address = 9; // mobile number of holder google.protobuf.StringValue mobile_number = 10; // residency of holder google.protobuf.StringValue residency_for_tax_purposes = 11; } // Correlation request identifier // A universally unique identifier for this request. Used for idempotency and correlation with asynchronous notifications. google.protobuf.StringValue request_id = 1; // Settlement Account (HIN) google.protobuf.StringValue settlement_account = 2; // status of settlement account i.e Active, locked google.protobuf.StringValue account_status = 3; // Settlement Account Type - S - sponsored, D - Direct, google.protobuf.StringValue account_type = 4; // settlement account name google.protobuf.StringValue account_name = 5; // Designation on settlement account google.protobuf.StringValue designation = 6; // mailing address on settlement account google.protobuf.StringValue mailing_addressee = 7; // registration address on settlement account. Address registered_address = 8; // residency of holder google.protobuf.StringValue residency_indicator = 9; // CSP communication preference i.e POST, EA google.protobuf.StringValue communication_preference = 10; // Email address of holder google.protobuf.StringValue email_address = 11; // mobile number of holder google.protobuf.StringValue mobile_number = 12; repeated Holder holder = 13; } message CorporateActionElectionStatusAdvice { // Correlation request identifier google.protobuf.StringValue request_id = 1; google.protobuf.StringValue participant_id = 2; google.protobuf.StringValue transaction_id = 3; google.protobuf.StringValue corporate_action_id = 4; google.protobuf.StringValue corporate_action_event_type = 5; google.protobuf.StringValue security_code = 6; google.protobuf.StringValue settlement_account = 7; google.protobuf.StringValue corporate_action_option_number = 8; google.protobuf.StringValue corporate_action_option_type = 9; google.protobuf.StringValue units = 10; google.protobuf.StringValue holding_balance = 11; google.protobuf.BoolValue distinct_portion = 12; google.protobuf.BoolValue cancelled = 13; google.protobuf.BoolValue accepted = 14; google.protobuf.BoolValue rejected = 15; } message CorporateActionElectionCancellationStatusAdvice { // Correlation request identifier google.protobuf.StringValue request_id = 1; google.protobuf.StringValue cancellation_transaction_id = 2; google.protobuf.StringValue corporate_action_id = 3; google.protobuf.StringValue corporate_action_event_type = 4; google.protobuf.StringValue security_code = 5; google.protobuf.StringValue settlement_account = 6; google.protobuf.StringValue corporate_action_option_number = 7; google.protobuf.StringValue corporate_action_option_type = 8; google.protobuf.StringValue units = 9; google.protobuf.StringValue holding_balance = 10; google.protobuf.BoolValue pending = 11; google.protobuf.BoolValue cancelled = 12; google.protobuf.BoolValue accepted = 13; google.protobuf.BoolValue rejected = 14; google.protobuf.StringValue cancellation_request_reason = 15; } message TransactionAcknowledgementAdvice { // Correlation request identifier google.protobuf.StringValue request_id = 1; google.protobuf.StringValue transaction_id = 2; google.protobuf.StringValue status = 3; google.protobuf.StringValue basis_of_movement = 4; } message ChangeOfControllingParticipantStatusAdvice { // Correlation request identifier google.protobuf.StringValue request_id = 1; google.protobuf.StringValue participant_id = 2; google.protobuf.StringValue transaction_id = 3; google.protobuf.StringValue settlement_account = 4; google.protobuf.StringValue counterparty_transaction_id = 5; google.protobuf.StringValue status = 6; } message ChangeOfControllingParticipantConfirmation { // Correlation request identifier google.protobuf.StringValue request_id = 1; google.protobuf.StringValue transaction_id = 2; google.protobuf.StringValue controlling_participant_id = 3; google.protobuf.StringValue new_controlling_participant_id = 4; google.protobuf.StringValue settlement_account = 5; } message ChangeOfControllingParticipantCancellationConfirmation { // Correlation request identifier google.protobuf.StringValue request_id = 1; google.protobuf.StringValue transaction_id = 2; google.protobuf.StringValue cancellation_transaction_id = 3; } message SRNEnquiryStatusAdvice { // Correlation request identifier google.protobuf.StringValue request_id = 1; google.protobuf.StringValue transaction_id = 2; google.protobuf.StringValue status = 3; google.protobuf.StringValue cancellation_reason = 4; } message SRNEnquiryResponse { // Correlation request identifier google.protobuf.StringValue request_id = 1; google.protobuf.StringValue transaction_id = 2; google.protobuf.StringValue srn = 3; google.protobuf.StringValue security_code = 4; google.protobuf.StringValue registration_reference = 5; } message RequestRejected { // Correlation request identifier google.protobuf.StringValue request_id = 1; google.protobuf.StringValue external_reference = 2; google.protobuf.StringValue request_status = 3; google.protobuf.StringValue error_code = 4; google.protobuf.StringValue error_reason = 5; } message ParticipantToParticipantTransferCancellationConfirmation { google.protobuf.StringValue request_id = 1; google.protobuf.StringValue target_transaction_id = 2; google.protobuf.StringValue cancellation_reason = 3; } message CollateralCreated { google.protobuf.StringValue request_id = 1; google.protobuf.StringValue transaction_id = 2; google.protobuf.StringValue controlling_participant_id = 3; google.protobuf.StringValue settlement_account = 4; google.protobuf.StringValue security_code = 5; google.protobuf.StringValue units = 6; google.protobuf.StringValue subposition_type = 7; google.protobuf.StringValue balance_from = 8; google.protobuf.StringValue balance_to = 9; google.protobuf.StringValue participant_reference = 10; google.protobuf.StringValue total_cover = 11; google.protobuf.BoolValue margin_lender = 12; google.protobuf.BoolValue specific_cover = 13; google.protobuf.StringValue clearing_settlement_account = 14; google.protobuf.StringValue clearing_participant_id = 15; google.protobuf.StringValue lodgement_number = 16; } message CollateralReduced { google.protobuf.StringValue request_id = 1; google.protobuf.StringValue transaction_id = 2; google.protobuf.StringValue controlling_participant_id = 3; google.protobuf.StringValue settlement_account = 4; google.protobuf.StringValue security_code = 5; google.protobuf.StringValue units = 6; google.protobuf.StringValue subposition_type = 7; google.protobuf.StringValue balance_from = 8; google.protobuf.StringValue balance_to = 9; google.protobuf.StringValue participant_reference = 10; google.protobuf.StringValue total_cover = 11; google.protobuf.BoolValue margin_lender = 12; google.protobuf.BoolValue specific_cover = 13; google.protobuf.StringValue clearing_settlement_account = 14; google.protobuf.StringValue clearing_participant_id = 15; google.protobuf.StringValue lodgement_number = 16; google.protobuf.StringValue rejected_reason = 17; } message CollateralLodgementAcknowledgeAdvice { google.protobuf.StringValue request_id = 1; google.protobuf.StringValue transaction_id = 2; google.protobuf.StringValue status = 3; google.protobuf.StringValue basis_of_movement = 4; } message CollateralWithdrawalRequestAccepted { google.protobuf.StringValue request_id = 1; google.protobuf.StringValue participant_id = 2; google.protobuf.StringValue transaction_id = 3; google.protobuf.StringValue status = 4; } message CollateralWithdrawalRequestRejected { google.protobuf.StringValue request_id = 1; google.protobuf.StringValue participant_id = 2; google.protobuf.StringValue transaction_id = 3; google.protobuf.StringValue rejected_reason = 4; } message SRNBalanceStatusAdvice { google.protobuf.StringValue request_id = 1; google.protobuf.StringValue transaction_id = 2; google.protobuf.StringValue status = 3; google.protobuf.StringValue cancellation_reason = 4; } message SRNBalanceResponse { google.protobuf.StringValue request_id = 1; google.protobuf.StringValue transaction_id = 2; google.protobuf.StringValue srn = 3; google.protobuf.StringValue security_code = 4; google.protobuf.StringValue holding_balance = 5; google.protobuf.StringValue registration_reference = 6; }