For the complete documentation index, see llms.txt. This page is also available as Markdown.

pods_rates_migration

New JSON schema

{
  "extraGuests": {
    "private": {
      "minGuests": 6,
      "maxGuests": 8,
      "rate": {
        "MEMBER": { "OFF_PEAK": 2.5, "REDUCED": 2.5, "PEAK": 5 },
        "NON_MEMBER": { "OFF_PEAK": 5, "REDUCED": 5, "PEAK": 10 }
      }
    },
    "coach": {
      "minGuests": 2,
      "maxGuests": 4,
      "rate": {
        "MEMBER": { "OFF_PEAK": 0, "PEAK": 0, "REDUCED": 0 },
        "NON_MEMBER": { "OFF_PEAK": 0, "PEAK": 0, "REDUCED": 0 }
      }
    }
  },
  "defaultRate": {
    "id": "OFF_PEAK",
    "displayName": "OFF PEAK",
    "rate": 20,
    "lockingFee": 10
  },
  "specialRates": [
    {
      "id": "PEAK",
      "displayName": "PEAK",
      "rate": 30,
      "lockingFee": 10,
      "ranges": [
        { "days": [1, 2, 3, 4, 5], "from": { "hour": 17 }, "to": { "hour": 24 } },
        { "days": [1, 2, 3, 4, 5, 6, 0], "from": { "hour": 0 }, "to": { "hour": 6 } },
        { "days": [6, 0], "from": { "hour": 10 }, "to": { "hour": 24 } }
      ]
    },
    {
      "id": "REDUCED",
      "displayName": "REDUCED",
      "rate": 30,
      "lockingFee": 10,
      "ranges": [
      ]
    }
  ],
  "membershipOverrides":{
      "default": {
        "defaultRate": {
          "id": "OFF_PEAK",
          "displayName": "OFF PEAK",
          "rate": 0,
          "lockingFee": 0
        },
        "specialRates": [
          {
            "id": "PEAK",
            "displayName": "PEAK",
            "rate": 30,
            "lockingFee": 10,
            "ranges": [
              { "days": [1, 2, 3, 4, 5], "from": { "hour": 17 }, "to": { "hour": 24 } },
              { "days": [1, 2, 3, 4, 5, 6, 0], "from": { "hour": 0 }, "to": { "hour": 6 } },
              { "days": [6, 0], "from": { "hour": 10 }, "to": { "hour": 24 } }
            ]
          },
          {
            "id": "REDUCED",
            "displayName": "REDUCED",
            "rate": 30,
            "lockingFee": 10,
            "ranges": [
            ]
          }
        ]
      },
      "HOME_ASTORIA": {
        "defaultRate": {
          "id": "OFF_PEAK",
          "displayName": "OFF PEAK",
          "rate": 0,
          "lockingFee": 10
        },
        "specialRates": [
          {
            "id": "PEAK",
            "displayName": "PEAK",
            "rate": 20,
            "lockingFee": 10,
            "ranges": [
              { "days": [1, 2, 3, 4, 5], "from": { "hour": 17 }, "to": { "hour": 24 } },
              { "days": [1, 2, 3, 4, 5, 6, 0], "from": { "hour": 0 }, "to": { "hour": 6 } },
              { "days": [6, 0], "from": { "hour": 10 }, "to": { "hour": 24 } }
            ]
          },
          {
            "id": "REDUCED",
            "displayName": "REDUCED",
            "rate": 30,
            "lockingFee": 10,
            "ranges": [
            ]
          }
        ]
    },
    "HOME_DOBRO": {
      "defaultRate": {
        "id": "OFF_PEAK",
        "displayName": "OFF PEAK",
        "rate": 0,
        "lockingFee": 10
      },
      "specialRates": [
        {
          "id": "PEAK",
          "displayName": "PEAK",
          "rate": 30,
          "lockingFee": 10,
          "ranges": [
            { "days": [1, 2, 3, 4, 5, 6, 0], "from": { "hour": 15.0}, "to": { "hour": 24 } }
          ]
        },
        {
          "id": "REDUCED",
          "displayName": "REDUCED",
          "rate": 30,
          "lockingFee": 10,
          "ranges": [
          ]
        }
      ]
    }
  }
}

Migration Script

This script generates update statements for each pod using a JSON export from the pods table including pods.id and pods.pricing

Example exported json:

Script

Usage:

Example output

Last updated

Was this helpful?