It seems that you have set up a foreign-key constraint like this:
ALTER TABLE Bookings ADD CONSTRAINT FK_Bookings_Coachschedule
FOREIGN KEY (scheduleID) REFERENCES coachSchedule(coachScheduleId)
ON UPDATE NO ACTION ON DELETE NO ACTION
This constraint says that for a row in Bookings, the schedule must exist in the coachSchedule table. So when you try to delete a schedule for which there is a booking, SQL Server sounds the alarm.
It is unclear what you want to achieve. In the subject line you talk about "child table". I am not sure that I would call any table here a child, since a schedule is one thing and a booking is another. But if one is a child it is the booking since this the table with the FK constraint, and thus the schedule is the parent.
Now, it could be that if you delete the schedule that you want the bookings to be delete (but that does not really seem good for business), and in such case you can specify the constraint as
ON DELETE CASCADE
Yet an alternative is to just set NULL in the scheduleId column but keep the row. For this you can use this option:
ON DELETE SET NULL