Walgreens · Schema
Walgreens Vaccine Appointment
Schema for a Walgreens vaccine appointment engagement
PharmacyHealthcareRetailPrescriptionsVaccinesFortune 100
Properties
| Name | Type | Description |
|---|---|---|
| engagementId | string | Unique identifier for the appointment engagement |
| locationId | string | Walgreens store location identifier |
| appointmentDate | string | Appointment date/time in ISO 8601 format with timezone offset |
| slot | string | Selected time slot |
| channel | string | Client channel used for booking |
| engagementType | string | Engagement type |
| vaccines | array | |
| patient | object | |
| status | string | Appointment booking status |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/api-evangelist/walgreens/main/json-schema/walgreens-vaccine-appointment-schema.json",
"title": "Walgreens Vaccine Appointment",
"description": "Schema for a Walgreens vaccine appointment engagement",
"type": "object",
"properties": {
"engagementId": {
"type": "string",
"description": "Unique identifier for the appointment engagement"
},
"locationId": {
"type": "string",
"description": "Walgreens store location identifier"
},
"appointmentDate": {
"type": "string",
"description": "Appointment date/time in ISO 8601 format with timezone offset",
"format": "date-time"
},
"slot": {
"type": "string",
"description": "Selected time slot",
"pattern": "^[0-9]{1,2}:[0-9]{2} (am|pm)$"
},
"channel": {
"type": "string",
"enum": ["Web", "Mobile"],
"description": "Client channel used for booking"
},
"engagementType": {
"type": "string",
"enum": ["Guest"],
"description": "Engagement type"
},
"vaccines": {
"type": "array",
"items": {
"type": "object",
"properties": {
"code": {
"type": "string",
"description": "Vaccine code identifier"
},
"productId": {
"type": "string",
"description": "Vaccine product identifier"
},
"vaccineName": {
"type": "string",
"description": "Human-readable vaccine name"
},
"rxRequired": {
"type": "boolean",
"description": "Whether a prescription is required"
}
},
"required": ["code", "productId", "rxRequired"]
},
"minItems": 1,
"maxItems": 4
},
"patient": {
"type": "object",
"properties": {
"firstName": {
"type": "string",
"description": "Patient first name"
},
"middleName": {
"type": "string",
"description": "Patient middle name"
},
"lastName": {
"type": "string",
"description": "Patient last name"
},
"dob": {
"type": "string",
"format": "date",
"description": "Patient date of birth"
},
"gender": {
"type": "string",
"enum": ["male", "female", "other", "unknown"],
"description": "Patient gender"
},
"contact": {
"type": "object",
"properties": {
"phones": {
"type": "array",
"items": {
"type": "object",
"properties": {
"type": {"type": "string"},
"number": {"type": "string"},
"smsConsent": {
"type": "string",
"enum": ["Agree", "Disagree"]
}
}
}
},
"emails": {
"type": "array",
"items": {
"type": "object",
"properties": {
"type": {"type": "string"},
"address": {
"type": "string",
"format": "email"
}
}
}
}
}
}
},
"required": ["firstName", "lastName", "dob", "gender"]
},
"status": {
"type": "string",
"enum": ["held", "confirmed", "cancelled"],
"description": "Appointment booking status"
}
},
"required": ["locationId", "appointmentDate", "slot", "vaccines"]
}