SpotHero · Schema

SpotHero Reservation

Schema for a SpotHero parking reservation, including booking details, driver information, vehicle details, and access credentials.

ParkingMobilityTransportationNavigationReservations

Properties

Name Type Description
reservation_id string Unique SpotHero reservation identifier
status string Current reservation status
facility_id string Unique identifier for the parking facility
facility_name string Name of the parking facility
starts string Reservation start time in ISO 8601 format
ends string Reservation end time in ISO 8601 format
price object Total price for the reservation
driver object Driver information for the reservation
vehicle object Vehicle information associated with the reservation
barcode string Barcode value for facility access
barcode_format string Barcode format
confirmation_code string Human-readable confirmation code
partner_reference string Partner-side reference identifier for tracking
created_at string
updated_at string
View JSON Schema on GitHub

JSON Schema

spothero-reservation-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://api.spothero.com/schemas/reservation",
  "title": "SpotHero Reservation",
  "description": "Schema for a SpotHero parking reservation, including booking details, driver information, vehicle details, and access credentials.",
  "type": "object",
  "properties": {
    "reservation_id": {
      "type": "string",
      "description": "Unique SpotHero reservation identifier",
      "pattern": "^res_[a-z0-9]+$",
      "examples": ["res_xyz789"]
    },
    "status": {
      "type": "string",
      "enum": ["active", "completed", "cancelled", "upcoming"],
      "description": "Current reservation status"
    },
    "facility_id": {
      "type": "string",
      "description": "Unique identifier for the parking facility",
      "examples": ["fac_abc123"]
    },
    "facility_name": {
      "type": "string",
      "description": "Name of the parking facility"
    },
    "starts": {
      "type": "string",
      "format": "date-time",
      "description": "Reservation start time in ISO 8601 format"
    },
    "ends": {
      "type": "string",
      "format": "date-time",
      "description": "Reservation end time in ISO 8601 format"
    },
    "price": {
      "type": "object",
      "description": "Total price for the reservation",
      "properties": {
        "amount": {
          "type": "number",
          "minimum": 0,
          "description": "Price amount in major currency units"
        },
        "currency": {
          "type": "string",
          "pattern": "^[A-Z]{3}$",
          "description": "Currency code (ISO 4217)"
        },
        "display": {
          "type": "string",
          "description": "Human-readable price string"
        }
      },
      "required": ["amount", "currency"]
    },
    "driver": {
      "type": "object",
      "description": "Driver information for the reservation",
      "properties": {
        "first_name": {
          "type": "string",
          "minLength": 1
        },
        "last_name": {
          "type": "string",
          "minLength": 1
        },
        "email": {
          "type": "string",
          "format": "email"
        },
        "phone": {
          "type": "string",
          "pattern": "^\\+?[1-9]\\d{1,14}$"
        }
      },
      "required": ["first_name", "last_name", "email"]
    },
    "vehicle": {
      "type": "object",
      "description": "Vehicle information associated with the reservation",
      "properties": {
        "type": {
          "type": "string",
          "enum": ["car", "motorcycle", "oversized"],
          "default": "car"
        },
        "license_plate": {
          "type": "string"
        },
        "state": {
          "type": "string",
          "maxLength": 3
        },
        "make": {
          "type": "string"
        },
        "model": {
          "type": "string"
        },
        "color": {
          "type": "string"
        }
      }
    },
    "barcode": {
      "type": "string",
      "description": "Barcode value for facility access"
    },
    "barcode_format": {
      "type": "string",
      "description": "Barcode format",
      "examples": ["QR", "Code128"]
    },
    "confirmation_code": {
      "type": "string",
      "description": "Human-readable confirmation code",
      "pattern": "^SH-[A-Z0-9]+$",
      "examples": ["SH-ABC123"]
    },
    "partner_reference": {
      "type": "string",
      "description": "Partner-side reference identifier for tracking"
    },
    "created_at": {
      "type": "string",
      "format": "date-time"
    },
    "updated_at": {
      "type": "string",
      "format": "date-time"
    }
  },
  "required": ["reservation_id", "status", "facility_id", "starts", "ends", "price", "driver"],
  "additionalProperties": false
}