Hole Correction Mode

In order for players' score to remain accurate, there is a need for scorers to be able to correct inputs that have already been submitted into the tablets and submitted to the DDE.

Hole correction mode has been developed to support this need. It allows the wholesale correction of both completed and ongoing holes.

Hole correction mode is started and finished with a ModeChange packet.

ModeChange packet

Field Name
Type
Description

seqNum

integer

The sequence number of the packet.

timestamp

date

The timestamp of the event, in UTC

timestampReceived

date

The server time of the moment that this packet has been processed

eventElementType

string

The type of event, in this case ModeChange

Full list of values include:

  • TglHammerThrown

  • RefereeCalled

  • HoleScoreUpdate

  • Correction

  • ModeChange

  • Penalty

  • RoundStatusUpdate

  • BallDrop

  • ProvisionalBallSelected

  • HitBall

  • AddressingBall

  • ApproximateLie

  • DetailedLie

  • BallHoled

teamNo

integer

The team Id in the case of a team event

mode

string

The type of mode change. Hole correction mode is started by BeginHoleCorrection and ended by EndHoleCorrection

Following a ModeChange of BeginHoleCorrection, individual holes are then resent as a standard series of stroke events and RoundStatusUpdates. These are always sent from the beginning of a hole, with the seqNum continuing from previous packets. These packets continue up until the point that the correction was initiated - this can be either the entirety of a hole, up to holing or up to the present moment (if the correction has been requested when a hole is ongoing).

Only one hole at a time can be corrected within the mode.

Hole correction mode is ended by a ModeChange of EndHoleCorrection.

See below for an example of a hole being corrected in it's entirety:

{
  "eventElementType": "ModeChange",
  "mode": "BeginHoleCorrection",
  "seqNum": 61,
  "teamNo": 102,
  "timestamp": "2025-01-09T17:46:07.862Z",
  "timestampReceived": "2025-01-09T18:00:32.678Z"
}

{
  "courseId": "113",
  "eventElementType": "RoundStatusUpdate",
  "groupId": 1115953,
  "groupNo": 13,
  "holeNo": 13,
  "holeOrder": 4,
  "player": {
    "country": "USA",
    "displayName": "Keith Mitchell",
    "firstName": "Keith",
    "gender": "male",
    "id": 3961,
    "isAmateur": false,
    "lastName": "Mitchell"
  },
  "playerId": 3961,
  "roundNo": 1,
  "seqNum": 62,
  "state": "HoleStarted",
  "teamNo": 102,
  "timestamp": "2025-01-09T17:46:07.862Z"
}

{
  "clubTypeCode": "CDR",
  "courseId": "113",
  "eventElementType": "AddressingBall",
  "groupId": 1115953,
  "groupNo": 13,
  "holeNo": 13,
  "holeOrder": 4,
  "player": {
    "country": "USA",
    "displayName": "Keith Mitchell",
    "firstName": "Keith",
    "gender": "male",
    "id": 3961,
    "isAmateur": false,
    "lastName": "Mitchell"
  },
  "playerId": 3961,
  "provisionalIndex": 0,
  "roundNo": 1,
  "seqNum": 63,
  "strokeNo": 1,
  "teamNo": 102,
  "timestamp": "2025-01-09T17:47:39.381Z"
}

{
  "courseId": "113",
  "eventElementType": "HitBall",
  "groupId": 1115953,
  "groupNo": 13,
  "holeNo": 13,
  "holeOrder": 4,
  "player": {
    "country": "USA",
    "displayName": "Keith Mitchell",
    "firstName": "Keith",
    "gender": "male",
    "id": 3961,
    "isAmateur": false,
    "lastName": "Mitchell"
  },
  "playerId": 3961,
  "provisionalIndex": 0,
  "roundNo": 1,
  "score": {
    "currentHolePar": 4,
    "currentHoleStrokes": 3,
    "currentRoundScoreToPar": "-1",
    "overallScoreToPar": "-1"
  },
  "seqNum": 64,
  "strokeNo": 1,
  "strokesAssessed": 1,
  "teamNo": 102,
  "timestamp": "2025-01-09T17:47:51.658Z"
}

{
  "ballLie": {
    "blindShot": false,
    "coordinates": {
      "x": 11868.311,
      "y": 10815.146,
      "z": 8.09
    },
    "distanceToPin": 162.382,
    "distanceToPinProb": null,
    "isPredictionUnconfident": false,
    "isWaterProbable": false,
    "obstructions": false,
    "shotDistance": 270.815,
    "strokesToPinProb": {
      "2.9": 13,
      "3.2": 8,
      "3.3": 78
    },
    "surfaceType": "Fairway Bunker",
    "surfaceTypeCode": "OST",
    "zoneProbabilities": [
      {
        "distanceToPinYards": 178.11,
        "probabilityPercent": 79,
        "zoneCode": "OST",
        "zoneType": "Bunker"
      },
      {
        "distanceToPinYards": 154.24,
        "probabilityPercent": 13,
        "zoneCode": "OFW",
        "zoneType": "Fairway"
      },
      {
        "distanceToPinYards": 165.75,
        "probabilityPercent": 8,
        "zoneCode": "ORO",
        "zoneType": "Rough"
      },
      {
        "distanceToPinYards": 158.82,
        "probabilityPercent": 1,
        "zoneCode": "OIR",
        "zoneType": "Intermediate"
      }
    ]
  },
  "courseId": "113",
  "eventElementType": "ApproximateLie",
  "groupId": 1115953,
  "groupNo": 13,
  "holeNo": 13,
  "holeOrder": 4,
  "player": {
    "country": "USA",
    "displayName": "Keith Mitchell",
    "firstName": "Keith",
    "gender": "male",
    "id": 3961,
    "isAmateur": false,
    "lastName": "Mitchell"
  },
  "playerId": 3961,
  "provisionalIndex": 0,
  "roundNo": 1,
  "seqNum": 65,
  "strokeNo": 1,
  "strokesAssessed": 1,
  "teamNo": 102,
  "timestamp": "2025-01-09T17:48:00.239Z"
}

{
  "ballLie": {
    "blindShot": false,
    "coordinates": {
      "x": 11959.449,
      "y": 10749.377,
      "z": 8.525
    },
    "distanceToPin": 133.807,
    "obstructions": false,
    "shotDistance": 305.054,
    "surfaceType": "Fairway",
    "surfaceTypeCode": "OFW"
  },
  "courseId": "113",
  "eventElementType": "DetailedLie",
  "groupId": 1115953,
  "groupNo": 13,
  "holeNo": 13,
  "holeOrder": 4,
  "player": {
    "country": "USA",
    "displayName": "Keith Mitchell",
    "firstName": "Keith",
    "gender": "male",
    "id": 3961,
    "isAmateur": false,
    "lastName": "Mitchell"
  },
  "playerId": 3961,
  "provisionalIndex": 0,
  "roundNo": 1,
  "seqNum": 66,
  "strokeNo": 1,
  "strokesAssessed": 1,
  "teamNo": 102,
  "timestamp": "2025-01-09T17:48:16.649Z"
}

{
  "clubTypeCode": "CUK",
  "courseId": "113",
  "eventElementType": "AddressingBall",
  "groupId": 1115953,
  "groupNo": 13,
  "holeNo": 13,
  "holeOrder": 4,
  "player": {
    "country": "USA",
    "displayName": "Keith Mitchell",
    "firstName": "Keith",
    "gender": "male",
    "id": 3961,
    "isAmateur": false,
    "lastName": "Mitchell"
  },
  "playerId": 3961,
  "provisionalIndex": 0,
  "roundNo": 1,
  "seqNum": 67,
  "strokeNo": 2,
  "teamNo": 102,
  "timestamp": "2025-01-09T17:54:23.525Z"
}

{
  "courseId": "113",
  "eventElementType": "HitBall",
  "groupId": 1115953,
  "groupNo": 13,
  "holeNo": 13,
  "holeOrder": 4,
  "player": {
    "country": "USA",
    "displayName": "Keith Mitchell",
    "firstName": "Keith",
    "gender": "male",
    "id": 3961,
    "isAmateur": false,
    "lastName": "Mitchell"
  },
  "playerId": 3961,
  "provisionalIndex": 0,
  "roundNo": 1,
  "score": {
    "currentHolePar": 4,
    "currentHoleStrokes": 3,
    "currentRoundScoreToPar": "-1",
    "overallScoreToPar": "-1"
  },
  "seqNum": 68,
  "strokeNo": 2,
  "strokesAssessed": 1,
  "teamNo": 102,
  "timestamp": "2025-01-09T17:54:31.631Z"
}

{
  "ballLie": {
    "blindShot": false,
    "coordinates": {
      "x": 12077.453,
      "y": 10332.251,
      "z": 9.833
    },
    "distanceToPin": 2.972,
    "distanceToPinProb": {
      "13-20": 20,
      "20-30": 2,
      "4-6": 1,
      "6-9": 30,
      "9-13": 46
    },
    "isPredictionUnconfident": false,
    "isWaterProbable": false,
    "obstructions": false,
    "shotDistance": 132.105,
    "strokesToPinProb": {
      "1.2": 1,
      "1.3": 3,
      "1.4": 14,
      "1.5": 22,
      "1.6": 34,
      "1.7": 18,
      "1.8": 8
    },
    "surfaceType": "Green",
    "surfaceTypeCode": "OGR",
    "zoneProbabilities": [
      {
        "distanceToPinYards": 3.63,
        "probabilityPercent": 100,
        "zoneCode": "OGR",
        "zoneType": "Green"
      }
    ]
  },
  "courseId": "113",
  "eventElementType": "ApproximateLie",
  "groupId": 1115953,
  "groupNo": 13,
  "holeNo": 13,
  "holeOrder": 4,
  "player": {
    "country": "USA",
    "displayName": "Keith Mitchell",
    "firstName": "Keith",
    "gender": "male",
    "id": 3961,
    "isAmateur": false,
    "lastName": "Mitchell"
  },
  "playerId": 3961,
  "provisionalIndex": 0,
  "roundNo": 1,
  "seqNum": 69,
  "strokeNo": 2,
  "strokesAssessed": 1,
  "teamNo": 102,
  "timestamp": "2025-01-09T17:54:39.741Z"
}

{
  "ballLie": {
    "blindShot": false,
    "coordinates": {
      "x": 12077.975,
      "y": 10334.752,
      "z": 9.804
    },
    "distanceToPin": 3.175,
    "obstructions": false,
    "shotDistance": 131.42,
    "surfaceType": "Green",
    "surfaceTypeCode": "OGR"
  },
  "courseId": "113",
  "eventElementType": "DetailedLie",
  "groupId": 1115953,
  "groupNo": 13,
  "holeNo": 13,
  "holeOrder": 4,
  "player": {
    "country": "USA",
    "displayName": "Keith Mitchell",
    "firstName": "Keith",
    "gender": "male",
    "id": 3961,
    "isAmateur": false,
    "lastName": "Mitchell"
  },
  "playerId": 3961,
  "provisionalIndex": 0,
  "roundNo": 1,
  "seqNum": 70,
  "strokeNo": 2,
  "strokesAssessed": 1,
  "teamNo": 102,
  "timestamp": "2025-01-09T17:54:47.902Z"
}

{
  "clubTypeCode": "CUK",
  "courseId": "113",
  "eventElementType": "AddressingBall",
  "groupId": 1115953,
  "groupNo": 13,
  "holeNo": 13,
  "holeOrder": 4,
  "player": {
    "country": "USA",
    "displayName": "Keith Mitchell",
    "firstName": "Keith",
    "gender": "male",
    "id": 3961,
    "isAmateur": false,
    "lastName": "Mitchell"
  },
  "playerId": 3961,
  "provisionalIndex": 0,
  "roundNo": 1,
  "seqNum": 71,
  "strokeNo": 3,
  "teamNo": 102,
  "timestamp": "2025-01-09T18:00:09.840Z"
}

{
  "courseId": "113",
  "eventElementType": "HitBall",
  "groupId": 1115953,
  "groupNo": 13,
  "holeNo": 13,
  "holeOrder": 4,
  "player": {
    "country": "USA",
    "displayName": "Keith Mitchell",
    "firstName": "Keith",
    "gender": "male",
    "id": 3961,
    "isAmateur": false,
    "lastName": "Mitchell"
  },
  "playerId": 3961,
  "provisionalIndex": 0,
  "roundNo": 1,
  "score": {
    "currentHolePar": 4,
    "currentHoleStrokes": 3,
    "currentRoundScoreToPar": "-1",
    "overallScoreToPar": "-1"
  },
  "seqNum": 72,
  "strokeNo": 3,
  "strokesAssessed": 1,
  "teamNo": 102,
  "timestamp": "2025-01-09T18:00:23.070Z"
}

{
  "courseId": "113",
  "eventElementType": "BallHoled",
  "groupId": 1115953,
  "groupNo": 13,
  "holeNo": 13,
  "holeOrder": 4,
  "player": {
    "country": "USA",
    "displayName": "Keith Mitchell",
    "firstName": "Keith",
    "gender": "male",
    "id": 3961,
    "isAmateur": false,
    "lastName": "Mitchell"
  },
  "playerId": 3961,
  "provisionalIndex": 0,
  "roundNo": 1,
  "score": {
    "currentHolePar": 4,
    "currentHoleStrokes": 3,
    "currentRoundScoreToPar": "-1",
    "overallScoreToPar": "-1"
  },
  "seqNum": 73,
  "strokeNo": 3,
  "strokesAssessed": 1,
  "teamNo": 102,
  "timestamp": "2025-01-09T18:00:32.208Z"
}

{
  "eventElementType": "ModeChange",
  "mode": "EndHoleCorrection",
  "seqNum": 74,
  "teamNo": 102,
  "timestamp": "2025-01-09T18:00:32.208Z",
  "timestampReceived": "2025-01-09T18:00:32.678Z"
}

Last updated

Was this helpful?