# Create HCA Diary Booking Creates a diary booking in the HCA system. Endpoint: POST /v1/booking-hca/appointments Version: 1.0.0 Security: apiKeyAuth, practiceGroupId ## Request fields (application/json): - `consultant_gmc_number` (string, required) - `booking_type` (string, required) Enum: "initial", "follow_on" - `facility_id` (string, required) - `date_from` (string, required) - `visit_reason_details` (object, required) - `visit_reason_details.selected_speciality` (string, required) - `visit_reason_details.reason_for_appointment` (string, required) - `demographics` (object, required) - `demographics.booking_by` (string, required) Enum: "patient", "insurer", "practitioner" - `demographics.paid_by` (string, required) Enum: "self-pay", "insurance" - `demographics.gp_referral` (boolean, required) - `demographics.insurance_provider` (string) - `demographics.insurance_policy_number` (string) - `demographics.insurance_authorisation_code` (string) - `demographics.previously_been_with_hca` (boolean, required) - `demographics.patient_code` (string) - `demographics.title` (string, required) - `demographics.first_name` (string, required) - `demographics.last_name` (string, required) - `demographics.address_1` (string, required) - `demographics.address_2` (string) - `demographics.postcode` (string, required) - `demographics.town_city` (string, required) - `demographics.country` (string, required) - `demographics.gender` (string, required) Enum: "Not known", "Not specified", "Male", "Female", "Other" - `demographics.date_of_birth` (string, required) - `demographics.email` (string, required) - `demographics.phone` (string, required) - `demographics.marketing_preference_email` (boolean, required) - `demographics.marketing_preference_phone` (boolean, required) - `demographics.marketing_preference_sms` (boolean, required) - `demographics.marketing_preference_post` (boolean, required) - `demographics.representative_title` (string) - `demographics.representative_first_name` (string) - `demographics.representative_last_name` (string) - `demographics.representative_email` (string) - `demographics.representative_phone` (string) - `demographics.representative_relation` (string) ## Response 200 fields (application/json): - `date_from` (string, required) - `date_to` (string, required) - `hca_reservation_id` (string, required) - `booking_status` (string, required) - `booking_message` (string, required) ## Response 400 fields (application/json): - `error` (boolean, required) - `statusCode` (number, required) - `message` (array, required) - `message.code` (string, required) - `message.expected` (string, required) - `message.path` (array, required) ## Response 401 fields ## Response 403 fields ## Response 500 fields