This document explains the InArena Volleyball (IAV) software. This feed is provided in venue by means of a LAN connection. It provides both individual actions and aggregated data. IAV comes as an external executable installed and runned by NCAA LiveStats.
The feed is a simple TCP socket connecting to specified port. By default the port number is 50200 on the computer running the software who install the InArena Volleyball Server, however this can be changed by the owner software.
All data provided to these API functions is required to be in UTF8 format.
All responses will be provided as UTF8 strings.
Messages are sent in JSON structures.
Each message content differs depending on the type of the message, but will contain at least the following keys.
type
This field indicates the type of message. The valid types are each explained in more detail in this documentation.
{
"type": "action",
...
...
}
The body of the response is a series of messages (defined below). Each message is delimited by a carriage return \r\n
series of characters (in hex, 0x0D 0x0A).
From time to time new key values/structures will be added to this protocol. Any client consuming this data should ignore anything they do not understand. New fields/values/structures should not cause a failure or crash in the client system.
Not all keys will exist in all messages for all events. No value present for a key can be sent either as a value of null
or the key not being present in the data.
type
parameter set should be sent.
type enum 
The type of the message

types string(100) 
A comma separated value of the message types to be sent through the feed. If not set, then the following value is assumed.

playbyplayOnConnect enum 
If this parameter is set to 1, then the playbyplay section will only be sent at the start of the connection not on every action. If the

fromMessageId integer 
When connecting to the service, previous messages occurring in the game will not be sent, only new messages. By specifying a messageId with this paramter, messages with a messageId greater than (or equal to) the number specified here will be resent. 0 is valid and will resend all messages on connection. 
{
"type": "parameters",
"types": "se,ac,mi,te,sc,box"
}
type enum 
The type of the message

timestamp date 
The current date/time Format is: YYYYMMDD HH:MM:SS.CC 
{
"type": "ping",
"timestamp" : "20170331 16:56:34.01"
}
type enum 
The type of the message


status enum 
The status of the match.


gameSet object  
 
gameSetStatus enum 
The status of the gameset.


clock 
The current time on the clock. 

possession integer 
The number of the team in the match, 1 or 2 that currently has possession. 0 is valid. 

teamOnLeft integer 
The team on the left side of the court (1 or 2). 

scores array 
An array of team records 


{
"status" : 8,
"gameSet" : {
"current" : 1,
"gameSetType" : 1
},
"gameSetStatus" : 2,
"clock" : null,
"possession" : 1,
"teamOnLeft" : 1,
"scores" : [{
"teamNumber" : 1,
"setWon" : 0,
"matchPoints" : 0,
"setPoints" : 0,
"timeoutsRemaining" : 6,
"challengeRemaining" : 0,
"substitutionsRemaining" : 2
}, {
"teamNumber" : 2,
"setWon" : 0,
"matchPoints" : 0,
"setPoints" : 0,
"timeoutsRemaining" : 6,
"challengeRemaining" : 0,
"substitutionsRemaining" : 2
}
],
"type" : "status"
}
type enum 
The type of the message


settings object  

type enum 
The type of the message


competition object  
 
venue object  
 
league object  
 
match object  
 
pool object  
 
match_notes array 
An array of notes for the match 


{
"competition" : {
"competitionName" : "201819 Women's Volleyball",
"competitionAbbrev" : "",
"competitionNameInternational" : "",
"competitionAbbrevInternational" : "",
"standard" : 0,
"competitionId" : 1104,
"externalId" : "",
"twitter" : "",
"gender" : 1,
"year" : 2018,
"ageGroup" : 0,
"logo" : null
},
"venue" : {
"venueName" : "Mountain View AWT MegaPark",
"venueCode" : "",
"venueNickname" : "AWT MegaPark",
"venueId" : 38,
"isNeutralVenue" : 1,
"venueNameInternational" : "Mountain View AWT MegaPark",
"venueCodeInternational" : "",
"venueNicknameInternational" : "AWT MegaPark",
"externalId" : "",
"countryCode" : "US",
"countryCodeIOC" : "USA",
"country" : "",
"suburb" : "",
"latitude" : 37.414,
"longitude" : 122.077,
"surfaceName" : "",
"seatingCapacity" : 150,
"timezone" : "America/Los_Angeles"
},
"league" : {
"leagueName" : "NCAA Volleyball Test",
"leagueAbbrev" : "",
"leagueNameInternational" : "",
"leagueAbbrevInternational" : "",
"leagueId" : 2,
"externalId" : "2",
"countryCode" : "US",
"countryCodeIOC" : "USA",
"country" : "UNITED STATES",
"geographicRegion" : 2,
"logo" : null
},
"match" : {
"matchTime" : "20190715T23:30:00Z",
"matchName" : "Test Brazil vs Cuba",
"matchNumber" : 674,
"phaseName" : "",
"poolNumber" : 0,
"roundDescription" : "",
"roundNumber" : "0",
"matchType" : 2,
"twitterHashtag" : "",
"matchId" : 162,
"externalId" : "",
"inConference" : 1
},
"pool" : {
"poolName" : null,
"poolNumber" : 0,
"externalId" : null
},
"match_notes" : ["THIS IS A TEST!"],
"type" : "matchInformation"
}
type enum 
The type of the message


messageId integer 
Unique identifier of the message being sent 

competitionStatistics  
conferenceStatistics  
teams array 
An array of team records 


{
"teams" : [{
"teamNumber" : 1,
"total" : {
"players" : [{
"pno" : 20375,
"sAttackBlocked" : 0,
"sAttackBlockedCovered" : 0,
"sAttackError" : 0,
"sPointsFromAttack" : 0,
"sAttackNegative" : 0,
"sAttackPositive" : 0,
"sAttacks" : 0,
"sBallHandlingError" : 0,
"sBlockAssist" : 0,
"sBlockSolo" : 0,
"sBlockNegative" : 0,
"sBlockError" : 0,
"sBlockInvasion" : 0,
"sPointsFromBlock" : 0.000,
"sBlockPoor" : 0,
"sBlockPositive" : 0,
"sBlocks" : 0.000,
"sDigError" : 0,
"sDigNegative" : 0,
"sDigVeryPoor" : 0,
"sDigPositive" : 0,
"sDigGood" : 0,
"sDigPerfect" : 0,
"sDigs" : 0,
"sFreeBallError" : 0,
"sFreeBallGood" : 0,
"sFreeBallNegative" : 0,
"sFreeBallVeryPoor" : 0,
"sFreeBallPositive" : 0,
"sFreeBallPerfect" : 0,
"sFreeBalls" : 0,
"sFreeBallVeryPositive" : 0,
"sPoints" : 0.000,
"sReceiveGood" : 0,
"sReceiveError" : 0,
"sReceiveNegative" : 0,
"sReceiveVeryPoor" : 0,
"sReceivePositive" : 0,
"sReceives" : 0,
"sReceivePerfect" : 0,
"sServeError" : 0,
"sServeNegative" : 0,
"sPointsFromServe" : 0,
"sServePositive" : 0,
"sServes" : 0,
"sServeVeryPositive" : 0,
"sServePoor" : 0,
"sSetError" : 0,
"sSetNegative" : 0,
"sSetVeryPoor" : 0,
"sSetGood" : 0,
"sSetPositive" : 0,
"sSets" : 0,
"sSetPerfect" : 0,
"sAssists" : 0,
"sSetAssist" : 0,
"sAttackEfficiency" : 0.000,
"sAttackPct" : 0.000,
"sAttackErrorTotal" : 0.000,
"sAttackPositivity" : 0.000,
"sBlockEfficiency" : 0.000,
"sDigEfficiency" : 0.000,
"sFreeBallEfficiency" : 0.000,
"sReceive0" : 0,
"sReceiveEfficiency" : 0.000,
"sReceiveExcPerc" : 0.000,
"sReceivePosPerc" : 0.000,
"sReceivePct" : 0.000,
"sServeEfficiency" : 0.000,
"sServePct" : 0.000,
"sServePositivity" : 0.000,
"sSetPct" : 0.000,
"sSetEfficiency" : 0.000
}, {
"pno" : 20376,
"sAttackBlocked" : 0,
"sAttackBlockedCovered" : 0,
"sAttackError" : 0,
"sPointsFromAttack" : 0,
"sAttackNegative" : 0,
"sAttackPositive" : 0,
"sAttacks" : 0,
"sBallHandlingError" : 0,
"sBlockAssist" : 0,
"sBlockSolo" : 0,
"sBlockNegative" : 0,
"sBlockError" : 0,
"sBlockInvasion" : 0,
"sPointsFromBlock" : 0.000,
"sBlockPoor" : 0,
"sBlockPositive" : 0,
"sBlocks" : 0.000,
"sDigError" : 0,
"sDigNegative" : 0,
"sDigVeryPoor" : 0,
"sDigPositive" : 0,
"sDigGood" : 0,
"sDigPerfect" : 0,
"sDigs" : 0,
"sFreeBallError" : 0,
"sFreeBallGood" : 0,
"sFreeBallNegative" : 0,
"sFreeBallVeryPoor" : 0,
"sFreeBallPositive" : 0,
"sFreeBallPerfect" : 0,
"sFreeBalls" : 0,
"sFreeBallVeryPositive" : 0,
"sPoints" : 0.000,
"sReceiveGood" : 0,
"sReceiveError" : 0,
"sReceiveNegative" : 0,
"sReceiveVeryPoor" : 0,
"sReceivePositive" : 0,
"sReceives" : 0,
"sReceivePerfect" : 0,
"sServeError" : 0,
"sServeNegative" : 0,
"sPointsFromServe" : 0,
"sServePositive" : 0,
"sServes" : 0,
"sServeVeryPositive" : 0,
"sServePoor" : 0,
"sSetError" : 0,
"sSetNegative" : 0,
"sSetVeryPoor" : 0,
"sSetGood" : 0,
"sSetPositive" : 0,
"sSets" : 0,
"sSetPerfect" : 0,
"sAssists" : 0,
"sSetAssist" : 0,
"sAttackEfficiency" : 0.000,
"sAttackPct" : 0.000,
"sAttackErrorTotal" : 0.000,
"sAttackPositivity" : 0.000,
"sBlockEfficiency" : 0.000,
"sDigEfficiency" : 0.000,
"sFreeBallEfficiency" : 0.000,
"sReceive0" : 0,
"sReceiveEfficiency" : 0.000,
"sReceiveExcPerc" : 0.000,
"sReceivePosPerc" : 0.000,
"sReceivePct" : 0.000,
"sServeEfficiency" : 0.000,
"sServePct" : 0.000,
"sServePositivity" : 0.000,
"sSetPct" : 0.000,
"sSetEfficiency" : 0.000
}, {
"pno" : 20377,
"sAttackBlocked" : 0,
"sAttackBlockedCovered" : 0,
"sAttackError" : 0,
"sPointsFromAttack" : 0,
"sAttackNegative" : 0,
"sAttackPositive" : 0,
"sAttacks" : 0,
"sBallHandlingError" : 0,
"sBlockAssist" : 0,
"sBlockSolo" : 0,
"sBlockNegative" : 0,
"sBlockError" : 0,
"sBlockInvasion" : 0,
"sPointsFromBlock" : 0.000,
"sBlockPoor" : 0,
"sBlockPositive" : 0,
"sBlocks" : 0.000,
"sDigError" : 0,
"sDigNegative" : 0,
"sDigVeryPoor" : 0,
"sDigPositive" : 0,
"sDigGood" : 0,
"sDigPerfect" : 0,
"sDigs" : 0,
"sFreeBallError" : 0,
"sFreeBallGood" : 0,
"sFreeBallNegative" : 0,
"sFreeBallVeryPoor" : 0,
"sFreeBallPositive" : 0,
"sFreeBallPerfect" : 0,
"sFreeBalls" : 0,
"sFreeBallVeryPositive" : 0,
"sPoints" : 0.000,
"sReceiveGood" : 0,
"sReceiveError" : 0,
"sReceiveNegative" : 0,
"sReceiveVeryPoor" : 0,
"sReceivePositive" : 0,
"sReceives" : 0,
"sReceivePerfect" : 0,
"sServeError" : 0,
"sServeNegative" : 0,
"sPointsFromServe" : 0,
"sServePositive" : 0,
"sServes" : 0,
"sServeVeryPositive" : 0,
"sServePoor" : 0,
"sSetError" : 0,
"sSetNegative" : 0,
"sSetVeryPoor" : 0,
"sSetGood" : 0,
"sSetPositive" : 0,
"sSets" : 0,
"sSetPerfect" : 0,
"sAssists" : 0,
"sSetAssist" : 0,
"sAttackEfficiency" : 0.000,
"sAttackPct" : 0.000,
"sAttackErrorTotal" : 0.000,
"sAttackPositivity" : 0.000,
"sBlockEfficiency" : 0.000,
"sDigEfficiency" : 0.000,
"sFreeBallEfficiency" : 0.000,
"sReceive0" : 0,
"sReceiveEfficiency" : 0.000,
"sReceiveExcPerc" : 0.000,
"sReceivePosPerc" : 0.000,
"sReceivePct" : 0.000,
"sServeEfficiency" : 0.000,
"sServePct" : 0.000,
"sServePositivity" : 0.000,
"sSetPct" : 0.000,
"sSetEfficiency" : 0.000
}, {
"pno" : 20378,
"sAttackBlocked" : 0,
"sAttackBlockedCovered" : 0,
"sAttackError" : 0,
"sPointsFromAttack" : 0,
"sAttackNegative" : 0,
"sAttackPositive" : 0,
"sAttacks" : 0,
"sBallHandlingError" : 0,
"sBlockAssist" : 0,
"sBlockSolo" : 0,
"sBlockNegative" : 0,
"sBlockError" : 0,
"sBlockInvasion" : 0,
"sPointsFromBlock" : 0.000,
"sBlockPoor" : 0,
"sBlockPositive" : 0,
"sBlocks" : 0.000,
"sDigError" : 0,
"sDigNegative" : 0,
"sDigVeryPoor" : 0,
"sDigPositive" : 0,
"sDigGood" : 0,
"sDigPerfect" : 0,
"sDigs" : 0,
"sFreeBallError" : 0,
"sFreeBallGood" : 0,
"sFreeBallNegative" : 0,
"sFreeBallVeryPoor" : 0,
"sFreeBallPositive" : 0,
"sFreeBallPerfect" : 0,
"sFreeBalls" : 0,
"sFreeBallVeryPositive" : 0,
"sPoints" : 0.000,
"sReceiveGood" : 0,
"sReceiveError" : 0,
"sReceiveNegative" : 0,
"sReceiveVeryPoor" : 0,
"sReceivePositive" : 0,
"sReceives" : 0,
"sReceivePerfect" : 0,
"sServeError" : 0,
"sServeNegative" : 1,
"sPointsFromServe" : 0,
"sServePositive" : 0,
"sServes" : 1,
"sServeVeryPositive" : 0,
"sServePoor" : 0,
"sSetError" : 0,
"sSetNegative" : 0,
"sSetVeryPoor" : 0,
"sSetGood" : 0,
"sSetPositive" : 0,
"sSets" : 0,
"sSetPerfect" : 0,
"sAssists" : 0,
"sSetAssist" : 0,
"sAttackEfficiency" : 0.000,
"sAttackPct" : 0.000,
"sAttackErrorTotal" : 0.000,
"sAttackPositivity" : 0.000,
"sBlockEfficiency" : 0.000,
"sDigEfficiency" : 0.000,
"sFreeBallEfficiency" : 0.000,
"sReceive0" : 0,
"sReceiveEfficiency" : 0.000,
"sReceiveExcPerc" : 0.000,
"sReceivePosPerc" : 0.000,
"sReceivePct" : 0.000,
"sServeEfficiency" : 0.000,
"sServePct" : 1.000,
"sServePositivity" : 0.000,
"sSetPct" : 0.000,
"sSetEfficiency" : 0.000
}, {
"pno" : 20379,
"sAttackBlocked" : 0,
"sAttackBlockedCovered" : 0,
"sAttackError" : 0,
"sPointsFromAttack" : 0,
"sAttackNegative" : 0,
"sAttackPositive" : 0,
"sAttacks" : 0,
"sBallHandlingError" : 0,
"sBlockAssist" : 0,
"sBlockSolo" : 0,
"sBlockNegative" : 0,
"sBlockError" : 0,
"sBlockInvasion" : 0,
"sPointsFromBlock" : 0.000,
"sBlockPoor" : 0,
"sBlockPositive" : 0,
"sBlocks" : 0.000,
"sDigError" : 0,
"sDigNegative" : 0,
"sDigVeryPoor" : 0,
"sDigPositive" : 0,
"sDigGood" : 0,
"sDigPerfect" : 0,
"sDigs" : 0,
"sFreeBallError" : 0,
"sFreeBallGood" : 0,
"sFreeBallNegative" : 0,
"sFreeBallVeryPoor" : 0,
"sFreeBallPositive" : 0,
"sFreeBallPerfect" : 0,
"sFreeBalls" : 0,
"sFreeBallVeryPositive" : 0,
"sPoints" : 0.000,
"sReceiveGood" : 0,
"sReceiveError" : 0,
"sReceiveNegative" : 0,
"sReceiveVeryPoor" : 0,
"sReceivePositive" : 0,
"sReceives" : 0,
"sReceivePerfect" : 0,
"sServeError" : 0,
"sServeNegative" : 0,
"sPointsFromServe" : 0,
"sServePositive" : 0,
"sServes" : 0,
"sServeVeryPositive" : 0,
"sServePoor" : 0,
"sSetError" : 0,
"sSetNegative" : 0,
"sSetVeryPoor" : 0,
"sSetGood" : 0,
"sSetPositive" : 0,
"sSets" : 0,
"sSetPerfect" : 0,
"sAssists" : 0,
"sSetAssist" : 0,
"sAttackEfficiency" : 0.000,
"sAttackPct" : 0.000,
"sAttackErrorTotal" : 0.000,
"sAttackPositivity" : 0.000,
"sBlockEfficiency" : 0.000,
"sDigEfficiency" : 0.000,
"sFreeBallEfficiency" : 0.000,
"sReceive0" : 0,
"sReceiveEfficiency" : 0.000,
"sReceiveExcPerc" : 0.000,
"sReceivePosPerc" : 0.000,
"sReceivePct" : 0.000,
"sServeEfficiency" : 0.000,
"sServePct" : 0.000,
"sServePositivity" : 0.000,
"sSetPct" : 0.000,
"sSetEfficiency" : 0.000
}, {
"pno" : 20380,
"sAttackBlocked" : 0,
"sAttackBlockedCovered" : 0,
"sAttackError" : 0,
"sPointsFromAttack" : 0,
"sAttackNegative" : 0,
"sAttackPositive" : 0,
"sAttacks" : 0,
"sBallHandlingError" : 0,
"sBlockAssist" : 0,
"sBlockSolo" : 0,
"sBlockNegative" : 0,
"sBlockError" : 0,
"sBlockInvasion" : 0,
"sPointsFromBlock" : 0.000,
"sBlockPoor" : 0,
"sBlockPositive" : 0,
"sBlocks" : 0.000,
"sDigError" : 0,
"sDigNegative" : 0,
"sDigVeryPoor" : 0,
"sDigPositive" : 0,
"sDigGood" : 0,
"sDigPerfect" : 0,
"sDigs" : 0,
"sFreeBallError" : 0,
"sFreeBallGood" : 0,
"sFreeBallNegative" : 0,
"sFreeBallVeryPoor" : 0,
"sFreeBallPositive" : 0,
"sFreeBallPerfect" : 0,
"sFreeBalls" : 0,
"sFreeBallVeryPositive" : 0,
"sPoints" : 0.000,
"sReceiveGood" : 0,
"sReceiveError" : 0,
"sReceiveNegative" : 0,
"sReceiveVeryPoor" : 0,
"sReceivePositive" : 0,
"sReceives" : 0,
"sReceivePerfect" : 0,
"sServeError" : 0,
"sServeNegative" : 0,
"sPointsFromServe" : 0,
"sServePositive" : 0,
"sServes" : 0,
"sServeVeryPositive" : 0,
"sServePoor" : 0,
"sSetError" : 0,
"sSetNegative" : 0,
"sSetVeryPoor" : 0,
"sSetGood" : 0,
"sSetPositive" : 0,
"sSets" : 0,
"sSetPerfect" : 0,
"sAssists" : 0,
"sSetAssist" : 0,
"sAttackEfficiency" : 0.000,
"sAttackPct" : 0.000,
"sAttackErrorTotal" : 0.000,
"sAttackPositivity" : 0.000,
"sBlockEfficiency" : 0.000,
"sDigEfficiency" : 0.000,
"sFreeBallEfficiency" : 0.000,
"sReceive0" : 0,
"sReceiveEfficiency" : 0.000,
"sReceiveExcPerc" : 0.000,
"sReceivePosPerc" : 0.000,
"sReceivePct" : 0.000,
"sServeEfficiency" : 0.000,
"sServePct" : 0.000,
"sServePositivity" : 0.000,
"sSetPct" : 0.000,
"sSetEfficiency" : 0.000
}, {
"pno" : 20381,
"sAttackBlocked" : 0,
"sAttackBlockedCovered" : 0,
"sAttackError" : 0,
"sPointsFromAttack" : 0,
"sAttackNegative" : 0,
"sAttackPositive" : 0,
"sAttacks" : 0,
"sBallHandlingError" : 0,
"sBlockAssist" : 0,
"sBlockSolo" : 0,
"sBlockNegative" : 0,
"sBlockError" : 0,
"sBlockInvasion" : 0,
"sPointsFromBlock" : 0.000,
"sBlockPoor" : 0,
"sBlockPositive" : 0,
"sBlocks" : 0.000,
"sDigError" : 0,
"sDigNegative" : 0,
"sDigVeryPoor" : 0,
"sDigPositive" : 0,
"sDigGood" : 0,
"sDigPerfect" : 0,
"sDigs" : 0,
"sFreeBallError" : 0,
"sFreeBallGood" : 0,
"sFreeBallNegative" : 0,
"sFreeBallVeryPoor" : 0,
"sFreeBallPositive" : 0,
"sFreeBallPerfect" : 0,
"sFreeBalls" : 0,
"sFreeBallVeryPositive" : 0,
"sPoints" : 0.000,
"sReceiveGood" : 0,
"sReceiveError" : 0,
"sReceiveNegative" : 0,
"sReceiveVeryPoor" : 0,
"sReceivePositive" : 0,
"sReceives" : 0,
"sReceivePerfect" : 0,
"sServeError" : 0,
"sServeNegative" : 0,
"sPointsFromServe" : 0,
"sServePositive" : 0,
"sServes" : 0,
"sServeVeryPositive" : 0,
"sServePoor" : 0,
"sSetError" : 0,
"sSetNegative" : 0,
"sSetVeryPoor" : 0,
"sSetGood" : 0,
"sSetPositive" : 0,
"sSets" : 0,
"sSetPerfect" : 0,
"sAssists" : 0,
"sSetAssist" : 0,
"sAttackEfficiency" : 0.000,
"sAttackPct" : 0.000,
"sAttackErrorTotal" : 0.000,
"sAttackPositivity" : 0.000,
"sBlockEfficiency" : 0.000,
"sDigEfficiency" : 0.000,
"sFreeBallEfficiency" : 0.000,
"sReceive0" : 0,
"sReceiveEfficiency" : 0.000,
"sReceiveExcPerc" : 0.000,
"sReceivePosPerc" : 0.000,
"sReceivePct" : 0.000,
"sServeEfficiency" : 0.000,
"sServePct" : 0.000,
"sServePositivity" : 0.000,
"sSetPct" : 0.000,
"sSetEfficiency" : 0.000
}, {
"pno" : 20382,
"sAttackBlocked" : 0,
"sAttackBlockedCovered" : 0,
"sAttackError" : 0,
"sPointsFromAttack" : 0,
"sAttackNegative" : 0,
"sAttackPositive" : 0,
"sAttacks" : 0,
"sBallHandlingError" : 0,
"sBlockAssist" : 0,
"sBlockSolo" : 0,
"sBlockNegative" : 0,
"sBlockError" : 0,
"sBlockInvasion" : 0,
"sPointsFromBlock" : 0.000,
"sBlockPoor" : 0,
"sBlockPositive" : 0,
"sBlocks" : 0.000,
"sDigError" : 0,
"sDigNegative" : 0,
"sDigVeryPoor" : 0,
"sDigPositive" : 0,
"sDigGood" : 0,
"sDigPerfect" : 0,
"sDigs" : 0,
"sFreeBallError" : 0,
"sFreeBallGood" : 0,
"sFreeBallNegative" : 0,
"sFreeBallVeryPoor" : 0,
"sFreeBallPositive" : 0,
"sFreeBallPerfect" : 0,
"sFreeBalls" : 0,
"sFreeBallVeryPositive" : 0,
"sPoints" : 0.000,
"sReceiveGood" : 0,
"sReceiveError" : 0,
"sReceiveNegative" : 0,
"sReceiveVeryPoor" : 0,
"sReceivePositive" : 0,
"sReceives" : 0,
"sReceivePerfect" : 0,
"sServeError" : 0,
"sServeNegative" : 0,
"sPointsFromServe" : 0,
"sServePositive" : 0,
"sServes" : 0,
"sServeVeryPositive" : 0,
"sServePoor" : 0,
"sSetError" : 0,
"sSetNegative" : 0,
"sSetVeryPoor" : 0,
"sSetGood" : 0,
"sSetPositive" : 0,
"sSets" : 0,
"sSetPerfect" : 0,
"sAssists" : 0,
"sSetAssist" : 0,
"sAttackEfficiency" : 0.000,
"sAttackPct" : 0.000,
"sAttackErrorTotal" : 0.000,
"sAttackPositivity" : 0.000,
"sBlockEfficiency" : 0.000,
"sDigEfficiency" : 0.000,
"sFreeBallEfficiency" : 0.000,
"sReceive0" : 0,
"sReceiveEfficiency" : 0.000,
"sReceiveExcPerc" : 0.000,
"sReceivePosPerc" : 0.000,
"sReceivePct" : 0.000,
"sServeEfficiency" : 0.000,
"sServePct" : 0.000,
"sServePositivity" : 0.000,
"sSetPct" : 0.000,
"sSetEfficiency" : 0.000
}, {
"pno" : 20383,
"sAttackBlocked" : 0,
"sAttackBlockedCovered" : 0,
"sAttackError" : 0,
"sPointsFromAttack" : 0,
"sAttackNegative" : 0,
"sAttackPositive" : 0,
"sAttacks" : 0,
"sBallHandlingError" : 0,
"sBlockAssist" : 0,
"sBlockSolo" : 0,
"sBlockNegative" : 0,
"sBlockError" : 0,
"sBlockInvasion" : 0,
"sPointsFromBlock" : 0.000,
"sBlockPoor" : 0,
"sBlockPositive" : 0,
"sBlocks" : 0.000,
"sDigError" : 0,
"sDigNegative" : 0,
"sDigVeryPoor" : 0,
"sDigPositive" : 0,
"sDigGood" : 0,
"sDigPerfect" : 0,
"sDigs" : 0,
"sFreeBallError" : 0,
"sFreeBallGood" : 0,
"sFreeBallNegative" : 0,
"sFreeBallVeryPoor" : 0,
"sFreeBallPositive" : 0,
"sFreeBallPerfect" : 0,
"sFreeBalls" : 0,
"sFreeBallVeryPositive" : 0,
"sPoints" : 0.000,
"sReceiveGood" : 0,
"sReceiveError" : 0,
"sReceiveNegative" : 0,
"sReceiveVeryPoor" : 0,
"sReceivePositive" : 0,
"sReceives" : 0,
"sReceivePerfect" : 0,
"sServeError" : 0,
"sServeNegative" : 0,
"sPointsFromServe" : 0,
"sServePositive" : 0,
"sServes" : 0,
"sServeVeryPositive" : 0,
"sServePoor" : 0,
"sSetError" : 0,
"sSetNegative" : 0,
"sSetVeryPoor" : 0,
"sSetGood" : 0,
"sSetPositive" : 0,
"sSets" : 0,
"sSetPerfect" : 0,
"sAssists" : 0,
"sSetAssist" : 0,
"sAttackEfficiency" : 0.000,
"sAttackPct" : 0.000,
"sAttackErrorTotal" : 0.000,
"sAttackPositivity" : 0.000,
"sBlockEfficiency" : 0.000,
"sDigEfficiency" : 0.000,
"sFreeBallEfficiency" : 0.000,
"sReceive0" : 0,
"sReceiveEfficiency" : 0.000,
"sReceiveExcPerc" : 0.000,
"sReceivePosPerc" : 0.000,
"sReceivePct" : 0.000,
"sServeEfficiency" : 0.000,
"sServePct" : 0.000,
"sServePositivity" : 0.000,
"sSetPct" : 0.000,
"sSetEfficiency" : 0.000
}
],
"team" : {
"sAttackBlocked" : 0,
"sAttackBlockedCovered" : 0,
"sAttackError" : 0,
"sPointsFromAttack" : 0,
"sAttackNegative" : 0,
"sAttackPositive" : 0,
"sAttacks" : 0,
"sBallHandlingError" : 0,
"sBlockAssist" : 0,
"sBlockSolo" : 0,
"sBlockNegative" : 0,
"sBlockError" : 0,
"sBlockInvasion" : 0,
"sPointsFromBlock" : 0.000,
"sBlockPoor" : 0,
"sBlockPositive" : 0,
"sBlocks" : 0.000,
"sDigError" : 0,
"sDigNegative" : 0,
"sDigVeryPoor" : 0,
"sDigPositive" : 0,
"sDigGood" : 0,
"sDigPerfect" : 0,
"sDigs" : 0,
"sFreeBallError" : 0,
"sFreeBallGood" : 0,
"sFreeBallNegative" : 0,
"sFreeBallVeryPoor" : 0,
"sFreeBallPositive" : 0,
"sFreeBalls" : 0,
"sFreeBallVeryPositive" : 0,
"sFreeBallPerfect" : 0,
"sPoints" : 0.000,
"sReceiveGood" : 0,
"sReceiveError" : 0,
"sReceiveNegative" : 0,
"sReceiveVeryPoor" : 0,
"sReceivePositive" : 0,
"sReceives" : 0,
"sReceivePerfect" : 0,
"sServeError" : 0,
"sServeNegative" : 1,
"sPointsFromServe" : 0,
"sServePositive" : 0,
"sServes" : 1,
"sServeVeryPositive" : 0,
"sServePoor" : 0,
"sSetError" : 0,
"sSetNegative" : 0,
"sSetVeryPoor" : 0,
"sSetGood" : 0,
"sSetPositive" : 0,
"sSets" : 0,
"sSetPerfect" : 0,
"sReceptionErrorforTeam" : 0,
"sAssists" : 0,
"sSetAssist" : 0,
"sAttackEfficiency" : 0.000,
"sAttackPct" : 0.000,
"sAttackErrorTotal" : 0.000,
"sAttackPositivity" : 0.000,
"sBlockEfficiency" : 0.000,
"sDigEfficiency" : 0.000,
"sFreeBallEfficiency" : 0.000,
"sReceive0" : 0,
"sReceiveEfficiency" : 0.000,
"sReceiveExcPerc" : 0.000,
"sReceivePosPerc" : 0.000,
"sReceivePct" : 0.000,
"sServeEfficiency" : 0.000,
"sServePct" : 1.000,
"sServePositivity" : 0.000,
"sSetPct" : 0.000,
"sSetEfficiency" : 0.000
}
},
"sets" : [{
"gameSet" : 1,
"gameSetType" : 1,
"players" : [{
"pno" : 20375,
"sAttackBlocked" : 0,
"sAttackBlockedCovered" : 0,
"sAttackError" : 0,
"sPointsFromAttack" : 0,
"sAttackNegative" : 0,
"sAttackPositive" : 0,
"sAttacks" : 0,
"sBallHandlingError" : 0,
"sBlockAssist" : 0,
"sBlockSolo" : 0,
"sBlockNegative" : 0,
"sBlockError" : 0,
"sBlockInvasion" : 0,
"sPointsFromBlock" : 0.000,
"sBlockPoor" : 0,
"sBlockPositive" : 0,
"sBlocks" : 0.000,
"sDigError" : 0,
"sDigNegative" : 0,
"sDigVeryPoor" : 0,
"sDigPositive" : 0,
"sDigGood" : 0,
"sDigPerfect" : 0,
"sDigs" : 0,
"sFreeBallError" : 0,
"sFreeBallGood" : 0,
"sFreeBallNegative" : 0,
"sFreeBallVeryPoor" : 0,
"sFreeBallPositive" : 0,
"sFreeBallPerfect" : 0,
"sFreeBalls" : 0,
"sFreeBallVeryPositive" : 0,
"sPoints" : 0.000,
"sReceiveGood" : 0,
"sReceiveError" : 0,
"sReceiveNegative" : 0,
"sReceiveVeryPoor" : 0,
"sReceivePositive" : 0,
"sReceives" : 0,
"sReceivePerfect" : 0,
"sServeError" : 0,
"sServeNegative" : 0,
"sPointsFromServe" : 0,
"sServePositive" : 0,
"sServes" : 0,
"sServeVeryPositive" : 0,
"sServePoor" : 0,
"sSetError" : 0,
"sSetNegative" : 0,
"sSetVeryPoor" : 0,
"sSetGood" : 0,
"sSetPositive" : 0,
"sSets" : 0,
"sSetPerfect" : 0,
"sAssists" : 0,
"sSetAssist" : 0,
"sAttackEfficiency" : 0.000,
"sAttackPct" : 0.000,
"sAttackErrorTotal" : 0.000,
"sAttackPositivity" : 0.000,
"sBlockEfficiency" : 0.000,
"sDigEfficiency" : 0.000,
"sFreeBallEfficiency" : 0.000,
"sReceive0" : 0,
"sReceiveEfficiency" : 0.000,
"sReceiveExcPerc" : 0.000,
"sReceivePosPerc" : 0.000,
"sReceivePct" : 0.000,
"sServeEfficiency" : 0.000,
"sServePct" : 0.000,
"sServePositivity" : 0.000,
"sSetPct" : 0.000,
"sSetEfficiency" : 0.000
}, {
"pno" : 20376,
"sAttackBlocked" : 0,
"sAttackBlockedCovered" : 0,
"sAttackError" : 0,
"sPointsFromAttack" : 0,
"sAttackNegative" : 0,
"sAttackPositive" : 0,
"sAttacks" : 0,
"sBallHandlingError" : 0,
"sBlockAssist" : 0,
"sBlockSolo" : 0,
"sBlockNegative" : 0,
"sBlockError" : 0,
"sBlockInvasion" : 0,
"sPointsFromBlock" : 0.000,
"sBlockPoor" : 0,
"sBlockPositive" : 0,
"sBlocks" : 0.000,
"sDigError" : 0,
"sDigNegative" : 0,
"sDigVeryPoor" : 0,
"sDigPositive" : 0,
"sDigGood" : 0,
"sDigPerfect" : 0,
"sDigs" : 0,
"sFreeBallError" : 0,
"sFreeBallGood" : 0,
"sFreeBallNegative" : 0,
"sFreeBallVeryPoor" : 0,
"sFreeBallPositive" : 0,
"sFreeBallPerfect" : 0,
"sFreeBalls" : 0,
"sFreeBallVeryPositive" : 0,
"sPoints" : 0.000,
"sReceiveGood" : 0,
"sReceiveError" : 0,
"sReceiveNegative" : 0,
"sReceiveVeryPoor" : 0,
"sReceivePositive" : 0,
"sReceives" : 0,
"sReceivePerfect" : 0,
"sServeError" : 0,
"sServeNegative" : 0,
"sPointsFromServe" : 0,
"sServePositive" : 0,
"sServes" : 0,
"sServeVeryPositive" : 0,
"sServePoor" : 0,
"sSetError" : 0,
"sSetNegative" : 0,
"sSetVeryPoor" : 0,
"sSetGood" : 0,
"sSetPositive" : 0,
"sSets" : 0,
"sSetPerfect" : 0,
"sAssists" : 0,
"sSetAssist" : 0,
"sAttackEfficiency" : 0.000,
"sAttackPct" : 0.000,
"sAttackErrorTotal" : 0.000,
"sAttackPositivity" : 0.000,
"sBlockEfficiency" : 0.000,
"sDigEfficiency" : 0.000,
"sFreeBallEfficiency" : 0.000,
"sReceive0" : 0,
"sReceiveEfficiency" : 0.000,
"sReceiveExcPerc" : 0.000,
"sReceivePosPerc" : 0.000,
"sReceivePct" : 0.000,
"sServeEfficiency" : 0.000,
"sServePct" : 0.000,
"sServePositivity" : 0.000,
"sSetPct" : 0.000,
"sSetEfficiency" : 0.000
}, {
"pno" : 20377,
"sAttackBlocked" : 0,
"sAttackBlockedCovered" : 0,
"sAttackError" : 0,
"sPointsFromAttack" : 0,
"sAttackNegative" : 0,
"sAttackPositive" : 0,
"sAttacks" : 0,
"sBallHandlingError" : 0,
"sBlockAssist" : 0,
"sBlockSolo" : 0,
"sBlockNegative" : 0,
"sBlockError" : 0,
"sBlockInvasion" : 0,
"sPointsFromBlock" : 0.000,
"sBlockPoor" : 0,
"sBlockPositive" : 0,
"sBlocks" : 0.000,
"sDigError" : 0,
"sDigNegative" : 0,
"sDigVeryPoor" : 0,
"sDigPositive" : 0,
"sDigGood" : 0,
"sDigPerfect" : 0,
"sDigs" : 0,
"sFreeBallError" : 0,
"sFreeBallGood" : 0,
"sFreeBallNegative" : 0,
"sFreeBallVeryPoor" : 0,
"sFreeBallPositive" : 0,
"sFreeBallPerfect" : 0,
"sFreeBalls" : 0,
"sFreeBallVeryPositive" : 0,
"sPoints" : 0.000,
"sReceiveGood" : 0,
"sReceiveError" : 0,
"sReceiveNegative" : 0,
"sReceiveVeryPoor" : 0,
"sReceivePositive" : 0,
"sReceives" : 0,
"sReceivePerfect" : 0,
"sServeError" : 0,
"sServeNegative" : 0,
"sPointsFromServe" : 0,
"sServePositive" : 0,
"sServes" : 0,
"sServeVeryPositive" : 0,
"sServePoor" : 0,
"sSetError" : 0,
"sSetNegative" : 0,
"sSetVeryPoor" : 0,
"sSetGood" : 0,
"sSetPositive" : 0,
"sSets" : 0,
"sSetPerfect" : 0,
"sAssists" : 0,
"sSetAssist" : 0,
"sAttackEfficiency" : 0.000,
"sAttackPct" : 0.000,
"sAttackErrorTotal" : 0.000,
"sAttackPositivity" : 0.000,
"sBlockEfficiency" : 0.000,
"sDigEfficiency" : 0.000,
"sFreeBallEfficiency" : 0.000,
"sReceive0" : 0,
"sReceiveEfficiency" : 0.000,
"sReceiveExcPerc" : 0.000,
"sReceivePosPerc" : 0.000,
"sReceivePct" : 0.000,
"sServeEfficiency" : 0.000,
"sServePct" : 0.000,
"sServePositivity" : 0.000,
"sSetPct" : 0.000,
"sSetEfficiency" : 0.000
}, {
"pno" : 20378,
"sAttackBlocked" : 0,
"sAttackBlockedCovered" : 0,
"sAttackError" : 0,
"sPointsFromAttack" : 0,
"sAttackNegative" : 0,
"sAttackPositive" : 0,
"sAttacks" : 0,
"sBallHandlingError" : 0,
"sBlockAssist" : 0,
"sBlockSolo" : 0,
"sBlockNegative" : 0,
"sBlockError" : 0,
"sBlockInvasion" : 0,
"sPointsFromBlock" : 0.000,
"sBlockPoor" : 0,
"sBlockPositive" : 0,
"sBlocks" : 0.000,
"sDigError" : 0,
"sDigNegative" : 0,
"sDigVeryPoor" : 0,
"sDigPositive" : 0,
"sDigGood" : 0,
"sDigPerfect" : 0,
"sDigs" : 0,
"sFreeBallError" : 0,
"sFreeBallGood" : 0,
"sFreeBallNegative" : 0,
"sFreeBallVeryPoor" : 0,
"sFreeBallPositive" : 0,
"sFreeBallPerfect" : 0,
"sFreeBalls" : 0,
"sFreeBallVeryPositive" : 0,
"sPoints" : 0.000,
"sReceiveGood" : 0,
"sReceiveError" : 0,
"sReceiveNegative" : 0,
"sReceiveVeryPoor" : 0,
"sReceivePositive" : 0,
"sReceives" : 0,
"sReceivePerfect" : 0,
"sServeError" : 0,
"sServeNegative" : 1,
"sPointsFromServe" : 0,
"sServePositive" : 0,
"sServes" : 1,
"sServeVeryPositive" : 0,
"sServePoor" : 0,
"sSetError" : 0,
"sSetNegative" : 0,
"sSetVeryPoor" : 0,
"sSetGood" : 0,
"sSetPositive" : 0,
"sSets" : 0,
"sSetPerfect" : 0,
"sAssists" : 0,
"sSetAssist" : 0,
"sAttackEfficiency" : 0.000,
"sAttackPct" : 0.000,
"sAttackErrorTotal" : 0.000,
"sAttackPositivity" : 0.000,
"sBlockEfficiency" : 0.000,
"sDigEfficiency" : 0.000,
"sFreeBallEfficiency" : 0.000,
"sReceive0" : 0,
"sReceiveEfficiency" : 0.000,
"sReceiveExcPerc" : 0.000,
"sReceivePosPerc" : 0.000,
"sReceivePct" : 0.000,
"sServeEfficiency" : 0.000,
"sServePct" : 1.000,
"sServePositivity" : 0.000,
"sSetPct" : 0.000,
"sSetEfficiency" : 0.000
}, {
"pno" : 20379,
"sAttackBlocked" : 0,
"sAttackBlockedCovered" : 0,
"sAttackError" : 0,
"sPointsFromAttack" : 0,
"sAttackNegative" : 0,
"sAttackPositive" : 0,
"sAttacks" : 0,
"sBallHandlingError" : 0,
"sBlockAssist" : 0,
"sBlockSolo" : 0,
"sBlockNegative" : 0,
"sBlockError" : 0,
"sBlockInvasion" : 0,
"sPointsFromBlock" : 0.000,
"sBlockPoor" : 0,
"sBlockPositive" : 0,
"sBlocks" : 0.000,
"sDigError" : 0,
"sDigNegative" : 0,
"sDigVeryPoor" : 0,
"sDigPositive" : 0,
"sDigGood" : 0,
"sDigPerfect" : 0,
"sDigs" : 0,
"sFreeBallError" : 0,
"sFreeBallGood" : 0,
"sFreeBallNegative" : 0,
"sFreeBallVeryPoor" : 0,
"sFreeBallPositive" : 0,
"sFreeBallPerfect" : 0,
"sFreeBalls" : 0,
"sFreeBallVeryPositive" : 0,
"sPoints" : 0.000,
"sReceiveGood" : 0,
"sReceiveError" : 0,
"sReceiveNegative" : 0,
"sReceiveVeryPoor" : 0,
"sReceivePositive" : 0,
"sReceives" : 0,
"sReceivePerfect" : 0,
"sServeError" : 0,
"sServeNegative" : 0,
"sPointsFromServe" : 0,
"sServePositive" : 0,
"sServes" : 0,
"sServeVeryPositive" : 0,
"sServePoor" : 0,
"sSetError" : 0,
"sSetNegative" : 0,
"sSetVeryPoor" : 0,
"sSetGood" : 0,
"sSetPositive" : 0,
"sSets" : 0,
"sSetPerfect" : 0,
"sAssists" : 0,
"sSetAssist" : 0,
"sAttackEfficiency" : 0.000,
"sAttackPct" : 0.000,
"sAttackErrorTotal" : 0.000,
"sAttackPositivity" : 0.000,
"sBlockEfficiency" : 0.000,
"sDigEfficiency" : 0.000,
"sFreeBallEfficiency" : 0.000,
"sReceive0" : 0,
"sReceiveEfficiency" : 0.000,
"sReceiveExcPerc" : 0.000,
"sReceivePosPerc" : 0.000,
"sReceivePct" : 0.000,
"sServeEfficiency" : 0.000,
"sServePct" : 0.000,
"sServePositivity" : 0.000,
"sSetPct" : 0.000,
"sSetEfficiency" : 0.000
}, {
"pno" : 20380,
"sAttackBlocked" : 0,
"sAttackBlockedCovered" : 0,
"sAttackError" : 0,
"sPointsFromAttack" : 0,
"sAttackNegative" : 0,
"sAttackPositive" : 0,
"sAttacks" : 0,
"sBallHandlingError" : 0,
"sBlockAssist" : 0,
"sBlockSolo" : 0,
"sBlockNegative" : 0,
"sBlockError" : 0,
"sBlockInvasion" : 0,
"sPointsFromBlock" : 0.000,
"sBlockPoor" : 0,
"sBlockPositive" : 0,
"sBlocks" : 0.000,
"sDigError" : 0,
"sDigNegative" : 0,
"sDigVeryPoor" : 0,
"sDigPositive" : 0,
"sDigGood" : 0,
"sDigPerfect" : 0,
"sDigs" : 0,
"sFreeBallError" : 0,
"sFreeBallGood" : 0,
"sFreeBallNegative" : 0,
"sFreeBallVeryPoor" : 0,
"sFreeBallPositive" : 0,
"sFreeBallPerfect" : 0,
"sFreeBalls" : 0,
"sFreeBallVeryPositive" : 0,
"sPoints" : 0.000,
"sReceiveGood" : 0,
"sReceiveError" : 0,
"sReceiveNegative" : 0,
"sReceiveVeryPoor" : 0,
"sReceivePositive" : 0,
"sReceives" : 0,
"sReceivePerfect" : 0,
"sServeError" : 0,
"sServeNegative" : 0,
"sPointsFromServe" : 0,
"sServePositive" : 0,
"sServes" : 0,
"sServeVeryPositive" : 0,
"sServePoor" : 0,
"sSetError" : 0,
"sSetNegative" : 0,
"sSetVeryPoor" : 0,
"sSetGood" : 0,
"sSetPositive" : 0,
"sSets" : 0,
"sSetPerfect" : 0,
"sAssists" : 0,
"sSetAssist" : 0,
"sAttackEfficiency" : 0.000,
"sAttackPct" : 0.000,
"sAttackErrorTotal" : 0.000,
"sAttackPositivity" : 0.000,
"sBlockEfficiency" : 0.000,
"sDigEfficiency" : 0.000,
"sFreeBallEfficiency" : 0.000,
"sReceive0" : 0,
"sReceiveEfficiency" : 0.000,
"sReceiveExcPerc" : 0.000,
"sReceivePosPerc" : 0.000,
"sReceivePct" : 0.000,
"sServeEfficiency" : 0.000,
"sServePct" : 0.000,
"sServePositivity" : 0.000,
"sSetPct" : 0.000,
"sSetEfficiency" : 0.000
}, {
"pno" : 20381,
"sAttackBlocked" : 0,
"sAttackBlockedCovered" : 0,
"sAttackError" : 0,
"sPointsFromAttack" : 0,
"sAttackNegative" : 0,
"sAttackPositive" : 0,
"sAttacks" : 0,
"sBallHandlingError" : 0,
"sBlockAssist" : 0,
"sBlockSolo" : 0,
"sBlockNegative" : 0,
"sBlockError" : 0,
"sBlockInvasion" : 0,
"sPointsFromBlock" : 0.000,
"sBlockPoor" : 0,
"sBlockPositive" : 0,
"sBlocks" : 0.000,
"sDigError" : 0,
"sDigNegative" : 0,
"sDigVeryPoor" : 0,
"sDigPositive" : 0,
"sDigGood" : 0,
"sDigPerfect" : 0,
"sDigs" : 0,
"sFreeBallError" : 0,
"sFreeBallGood" : 0,
"sFreeBallNegative" : 0,
"sFreeBallVeryPoor" : 0,
"sFreeBallPositive" : 0,
"sFreeBallPerfect" : 0,
"sFreeBalls" : 0,
"sFreeBallVeryPositive" : 0,
"sPoints" : 0.000,
"sReceiveGood" : 0,
"sReceiveError" : 0,
"sReceiveNegative" : 0,
"sReceiveVeryPoor" : 0,
"sReceivePositive" : 0,
"sReceives" : 0,
"sReceivePerfect" : 0,
"sServeError" : 0,
"sServeNegative" : 0,
"sPointsFromServe" : 0,
"sServePositive" : 0,
"sServes" : 0,
"sServeVeryPositive" : 0,
"sServePoor" : 0,
"sSetError" : 0,
"sSetNegative" : 0,
"sSetVeryPoor" : 0,
"sSetGood" : 0,
"sSetPositive" : 0,
"sSets" : 0,
"sSetPerfect" : 0,
"sAssists" : 0,
"sSetAssist" : 0,
"sAttackEfficiency" : 0.000,
"sAttackPct" : 0.000,
"sAttackErrorTotal" : 0.000,
"sAttackPositivity" : 0.000,
"sBlockEfficiency" : 0.000,
"sDigEfficiency" : 0.000,
"sFreeBallEfficiency" : 0.000,
"sReceive0" : 0,
"sReceiveEfficiency" : 0.000,
"sReceiveExcPerc" : 0.000,
"sReceivePosPerc" : 0.000,
"sReceivePct" : 0.000,
"sServeEfficiency" : 0.000,
"sServePct" : 0.000,
"sServePositivity" : 0.000,
"sSetPct" : 0.000,
"sSetEfficiency" : 0.000
}, {
"pno" : 20382,
"sAttackBlocked" : 0,
"sAttackBlockedCovered" : 0,
"sAttackError" : 0,
"sPointsFromAttack" : 0,
"sAttackNegative" : 0,
"sAttackPositive" : 0,
"sAttacks" : 0,
"sBallHandlingError" : 0,
"sBlockAssist" : 0,
"sBlockSolo" : 0,
"sBlockNegative" : 0,
"sBlockError" : 0,
"sBlockInvasion" : 0,
"sPointsFromBlock" : 0.000,
"sBlockPoor" : 0,
"sBlockPositive" : 0,
"sBlocks" : 0.000,
"sDigError" : 0,
"sDigNegative" : 0,
"sDigVeryPoor" : 0,
"sDigPositive" : 0,
"sDigGood" : 0,
"sDigPerfect" : 0,
"sDigs" : 0,
"sFreeBallError" : 0,
"sFreeBallGood" : 0,
"sFreeBallNegative" : 0,
"sFreeBallVeryPoor" : 0,
"sFreeBallPositive" : 0,
"sFreeBallPerfect" : 0,
"sFreeBalls" : 0,
"sFreeBallVeryPositive" : 0,
"sPoints" : 0.000,
"sReceiveGood" : 0,
"sReceiveError" : 0,
"sReceiveNegative" : 0,
"sReceiveVeryPoor" : 0,
"sReceivePositive" : 0,
"sReceives" : 0,
"sReceivePerfect" : 0,
"sServeError" : 0,
"sServeNegative" : 0,
"sPointsFromServe" : 0,
"sServePositive" : 0,
"sServes" : 0,
"sServeVeryPositive" : 0,
"sServePoor" : 0,
"sSetError" : 0,
"sSetNegative" : 0,
"sSetVeryPoor" : 0,
"sSetGood" : 0,
"sSetPositive" : 0,
"sSets" : 0,
"sSetPerfect" : 0,
"sAssists" : 0,
"sSetAssist" : 0,
"sAttackEfficiency" : 0.000,
"sAttackPct" : 0.000,
"sAttackErrorTotal" : 0.000,
"sAttackPositivity" : 0.000,
"sBlockEfficiency" : 0.000,
"sDigEfficiency" : 0.000,
"sFreeBallEfficiency" : 0.000,
"sReceive0" : 0,
"sReceiveEfficiency" : 0.000,
"sReceiveExcPerc" : 0.000,
"sReceivePosPerc" : 0.000,
"sReceivePct" : 0.000,
"sServeEfficiency" : 0.000,
"sServePct" : 0.000,
"sServePositivity" : 0.000,
"sSetPct" : 0.000,
"sSetEfficiency" : 0.000
}, {
"pno" : 20383,
"sAttackBlocked" : 0,
"sAttackBlockedCovered" : 0,
"sAttackError" : 0,
"sPointsFromAttack" : 0,
"sAttackNegative" : 0,
"sAttackPositive" : 0,
"sAttacks" : 0,
"sBallHandlingError" : 0,
"sBlockAssist" : 0,
"sBlockSolo" : 0,
"sBlockNegative" : 0,
"sBlockError" : 0,
"sBlockInvasion" : 0,
"sPointsFromBlock" : 0.000,
"sBlockPoor" : 0,
"sBlockPositive" : 0,
"sBlocks" : 0.000,
"sDigError" : 0,
"sDigNegative" : 0,
"sDigVeryPoor" : 0,
"sDigPositive" : 0,
"sDigGood" : 0,
"sDigPerfect" : 0,
"sDigs" : 0,
"sFreeBallError" : 0,
"sFreeBallGood" : 0,
"sFreeBallNegative" : 0,
"sFreeBallVeryPoor" : 0,
"sFreeBallPositive" : 0,
"sFreeBallPerfect" : 0,
"sFreeBalls" : 0,
"sFreeBallVeryPositive" : 0,
"sPoints" : 0.000,
"sReceiveGood" : 0,
"sReceiveError" : 0,
"sReceiveNegative" : 0,
"sReceiveVeryPoor" : 0,
"sReceivePositive" : 0,
"sReceives" : 0,
"sReceivePerfect" : 0,
"sServeError" : 0,
"sServeNegative" : 0,
"sPointsFromServe" : 0,
"sServePositive" : 0,
"sServes" : 0,
"sServeVeryPositive" : 0,
"sServePoor" : 0,
"sSetError" : 0,
"sSetNegative" : 0,
"sSetVeryPoor" : 0,
"sSetGood" : 0,
"sSetPositive" : 0,
"sSets" : 0,
"sSetPerfect" : 0,
"sAssists" : 0,
"sSetAssist" : 0,
"sAttackEfficiency" : 0.000,
"sAttackPct" : 0.000,
"sAttackErrorTotal" : 0.000,
"sAttackPositivity" : 0.000,
"sBlockEfficiency" : 0.000,
"sDigEfficiency" : 0.000,
"sFreeBallEfficiency" : 0.000,
"sReceive0" : 0,
"sReceiveEfficiency" : 0.000,
"sReceiveExcPerc" : 0.000,
"sReceivePosPerc" : 0.000,
"sReceivePct" : 0.000,
"sServeEfficiency" : 0.000,
"sServePct" : 0.000,
"sServePositivity" : 0.000,
"sSetPct" : 0.000,
"sSetEfficiency" : 0.000
}
],
"team" : {
"sAttackBlocked" : 0,
"sAttackBlockedCovered" : 0,
"sAttackError" : 0,
"sPointsFromAttack" : 0,
"sAttackNegative" : 0,
"sAttackPositive" : 0,
"sAttacks" : 0,
"sBallHandlingError" : 0,
"sBlockAssist" : 0,
"sBlockSolo" : 0,
"sBlockNegative" : 0,
"sBlockError" : 0,
"sBlockInvasion" : 0,
"sPointsFromBlock" : 0.000,
"sBlockPoor" : 0,
"sBlockPositive" : 0,
"sBlocks" : 0.000,
"sDigError" : 0,
"sDigNegative" : 0,
"sDigVeryPoor" : 0,
"sDigPositive" : 0,
"sDigGood" : 0,
"sDigPerfect" : 0,
"sDigs" : 0,
"sFreeBallError" : 0,
"sFreeBallGood" : 0,
"sFreeBallNegative" : 0,
"sFreeBallVeryPoor" : 0,
"sFreeBallPositive" : 0,
"sFreeBalls" : 0,
"sFreeBallVeryPositive" : 0,
"sFreeBallPerfect" : 0,
"sPoints" : 0.000,
"sReceiveGood" : 0,
"sReceiveError" : 0,
"sReceiveNegative" : 0,
"sReceiveVeryPoor" : 0,
"sReceivePositive" : 0,
"sReceives" : 0,
"sReceivePerfect" : 0,
"sServeError" : 0,
"sServeNegative" : 1,
"sPointsFromServe" : 0,
"sServePositive" : 0,
"sServes" : 1,
"sServeVeryPositive" : 0,
"sServePoor" : 0,
"sSetError" : 0,
"sSetNegative" : 0,
"sSetVeryPoor" : 0,
"sSetGood" : 0,
"sSetPositive" : 0,
"sSets" : 0,
"sSetPerfect" : 0,
"sReceptionErrorforTeam" : 0,
"sAssists" : 0,
"sSetAssist" : 0,
"sAttackEfficiency" : 0.000,
"sAttackPct" : 0.000,
"sAttackErrorTotal" : 0.000,
"sAttackPositivity" : 0.000,
"sBlockEfficiency" : 0.000,
"sDigEfficiency" : 0.000,
"sFreeBallEfficiency" : 0.000,
"sReceive0" : 0,
"sReceiveEfficiency" : 0.000,
"sReceiveExcPerc" : 0.000,
"sReceivePosPerc" : 0.000,
"sReceivePct" : 0.000,
"sServeEfficiency" : 0.000,
"sServePct" : 1.000,
"sServePositivity" : 0.000,
"sSetPct" : 0.000,
"sSetEfficiency" : 0.000
}
}
]
}
],
"type" : "boxscore"
}
type enum 
The type of the message


messageId integer 
Unique identifier of the message being sent 

officials array 
An array of officials 

 
operators array 
An array of operators 


This message type contains an individual game action.
Actions come in two types, adminstrative or sport. A sport type action is related to the sport aspect of the match, eg substitution or foul. An administrative type action is related to the process or publishing the game eg. gamseSet confirmed. Only sport type actions are given an actionNumber. The action number is a sequential integer that should uniquely refer to that action. The actionNumber is repeated to indicate an edit or delete on the original action.
type enum 
The type of the message

messageId integer 
Unique identifier of the message being sent 
actionNumber integer 
Unique sequence number for this action 
teamNumber integer 
The number of the team in the match, 1 or 2. 
pno integer 
The number of the player in the match. This is a just an unique number used to identify the player not a jersey number. 
timeActual datetime 
The date/time when this action occurred in UTC. Format is: YYYYMMDD HH:MM:SS 
gameSetType enum 
The type of gameset

actionType string(20) 
A code representating the action type. See Action Types for the list of options. 
success enum 
Was this action completed successfully? Generally all actions except scoring actions are successful.

subType string(20) 
The subordinate type of the action. Used to further define the action. See Action Types for the list of options. 
qualifiers array 
An array of qualifiers to the action. See Action Types for the list of options. 
value string(50) 
A text field. Some action types require a value. This is where that value will be placed. See Action Types for the list of actions that require this field. 
previousAction integer 
The actionNumber of the base/primary action if this action relates to another action. eg. For a freetheow/freekick, this may be the actionNumber of the original foul. 
officialId integer 
The unique identifier for the official calling the action 
startingZone float 
Starting Zone on the playing surface where the action occurred. 
endingZone float 
Ending Zone on the playing surface where the action was completed. 
side enum 
Indicates which side of the playing surface the player's/team's goal is.

score1 string 
The score of team 1 after this action is complete 
score2 string 
The score of team 2 after this action is complete 
edited datetime 
If the action has been edited (after being initially sent) this field contains the last time it was edited (in UTC). If the action has not been edited, then this field is not present. Format is: YYYYMMDD HH:MM:SS 
inserted datetime 
If the action has been inserted (added out of sequence) this field contains the time it was inserted (in UTC). If the action has not been inserted, then this field is not present. Format is: YYYYMMDD HH:MM:SS 
deleted datetime 
If the action has been deleted (after being initially sent) this field contains the time it was deleted (in UTC). If the action has not been deleted, then this field is not present. Format is: YYYYMMDD HH:MM:SS 
origMessageId integer 
If this action is a delete/update then this field contains the messageId of the original message. 
{
"messageId" : 9,
"actionNumber" : 90,
"teamNumber" : 2,
"pno" : 20388,
"timeActual" : "20190712T10:55:39.129Z",
"gameSet" : 1,
"gameSetType" : 1,
"actionType" : "reception",
"success" : 1,
"subType" : "in",
"qualifiers" : ["positive"],
"value" : null,
"previousAction" : 0,
"officialId" : 0,
"startingZone" : 0.0,
"endingZone" : 0.0,
"side" : 1,
"score1" : "0",
"score2" : "0",
"forwardToClients" : true,
"type" : "action"
}
type enum 
The type of the message


actions array 
Array of play by play actions, sorted ascending 


{
"actions" : [{
"actionNumber" : 45,
"teamNumber" : 1,
"pno" : 1,
"timeActual" : "20190712T10:55:37.291Z",
"gameset" : 1,
"gameSetType" : 1,
"actionType" : "game",
"success" : 1,
"subType" : "start",
"qualifiers" : [],
"value" : null,
"previousAction" : 0,
"officialId" : 0,
"startingZone" : 0.0,
"endingZone" : 0.0,
"side" : 2,
"score1" : "0",
"score2" : "0"
}, {
"actionNumber" : 60,
"teamNumber" : 1,
"pno" : 1,
"timeActual" : "20190712T10:55:37.313Z",
"gameset" : 1,
"gameSetType" : 1,
"actionType" : "gameSet",
"success" : 1,
"subType" : "start",
"qualifiers" : ["Confirmed"],
"value" : null,
"previousAction" : 0,
"officialId" : 0,
"startingZone" : 0.0,
"endingZone" : 0.0,
"side" : 2,
"score1" : "0",
"score2" : "0"
}, {
"actionNumber" : 75,
"teamNumber" : 1,
"pno" : 20378,
"timeActual" : "20190712T10:55:39.129Z",
"gameset" : 1,
"gameSetType" : 1,
"actionType" : "serve",
"success" : 1,
"subType" : null,
"qualifiers" : ["negative"],
"value" : null,
"previousAction" : 0,
"officialId" : 0,
"startingZone" : 0.0,
"endingZone" : 0.0,
"side" : 2,
"score1" : "0",
"score2" : "0"
}
],
"type" : "playbyplay"
}
type enum 
The type of the message

messageId integer 
Unique identifier of the message being sent 
timeActual datetime 
The actual start date/time of the match in the UTC timezone Format is: YYYYMMDD HH:MM:SS 
timeEndActual datetime 
The actual end date/time of the match in the UTC timezone Format is: YYYYMMDD HH:MM:SS 
duration integer 
The duration (in minutes) of the match, excluding any pregame activities 
durationActual integer 
The actual duration of the match (mins). 
temperature integer 
The temperature during the match (degrees Celsius) 
attendance integer 
The number of people who attended the match 
{
"durationActual": 97,
"timeEndActual": "20190707 14:38:01",
"messageId": 923,
"timeActual": "20190707 13:01:11",
"duration": 40,
"attendance": 250,
"temperature": 25,
"type": "summary"
}
type enum 
The type of the message


standings array 
Array of standings records 


For a particular action an event can have 1 type, 1 subtype and any number of qualifiers
If qualifiers are able to be used for a particular action/subType, then any number of qualifiers may be applied to the action.
If the subType indicates (blank) this means that the action can be used without a subType.
type  subType  qualifiers  

comment 
Comment text should be passed in the value field  
attack




firstBall 

firstTransition 

transition 

ballHandlingError


block


error 


in 


over 


challengeOutcome


refereeDecision


requestedBy


scoreChanges


challengeRequest


challengeType


requestedBy


afterRally 

duringRally 

dig


toKill 

error 

in 


over 

freeBall


error 

in 


over 

gamesetwin


injury


officialInjury 

playerInjury 

staffInjury 

liberoReplace


liberoUnableToPlay


point


challenge


ace 

attack 


block 

error 

protest


reception


toKill 

error 


in 


over 

replay


sanction


sanctionType


player 

staff 
staffId 

team 

serve




set


error 

in 


over 

substitution 



in 

out 

TimeOut 



facultative 

media 

technical 
type  subType  qualifiers  

status 
Indicates a change in the status of the match  
delayed 

The start time of the match has been changed. The delay in minutes should be passed in the value field. Negative delays are allowed (to indicate early start).  
loaded 
The match has been loaded in the software  
ready 
The match is ready to proceed in the software and the teams have been loaded  
inprogress 
The match is currently in progress  
gamesetbreak 
The match is currently in progress, but in a break between game sets  
interrupted 

The match has been stopped temporarily and will resume after a delay. The delay in minutes should be passed in the value field. The qualifiers can be used to give a reason for the delay.  
cancelled 
The match will not be started  
abandoned 
The match has been stopped and will not restart  
rescheduled 
The match has been stopped (or has not started) and will not start/restart. It will be played again at another time.  
finished 
The match has come to the end  
protested 
The match has come to the end, but the result has been protested  
complete 
The match is complete, all scores have been confirmed and result is official  
gamesetstatus 
Indicates a change in the gameset status  
pending 
Indicates the gameset is about to start  
started 
Indicates the gameset has started  
ended 
Indicates the gameset has ended  
confirmed 
Indicates that scores have been confirmed for the gameset  
capturestatus 

unreliable 
Indicates that the state of the game being sent by the software differs significantly from the actual situation.  
reliable 
Indicates that the state of the game being sent by the software now matches the actual situation.  
clock 

start 

stop 

adjustment 
The number of seconds adjustment should be passed in the value field. Negative values are allowed 