private async Task AddAuditTrail(int workOrderId, bookingConfirmation bookingConfirmation)
        {
            var update = new JobStatusUpdate
            {
                EventTime          = DrsHelpers.ConvertFromDrsTimeZone(bookingConfirmation.changedDate),
                RelatedWorkOrderId = workOrderId,
                TypeCode           = JobStatusUpdateTypeCode.Other_0,
                OtherType          = CustomJobStatusUpdates.AddNote,
                Comments           = $"DRS: Appointment has been updated in DRS to {bookingConfirmation.planningWindowStart.ToDateTime()} - {bookingConfirmation.planningWindowEnd.ToDateTime()} Reason: {bookingConfirmation.bookingReason}"
            };

            await _jobStatusUpdateGateway.CreateJobStatusUpdate(update);
        }
        private static bookingConfirmation CreateBookingConfirmation(int workOrderId)
        {
            var bookingConfirmation = new bookingConfirmation
            {
                changedDate         = DateTime.UtcNow,
                primaryOrderNumber  = (uint)workOrderId,
                planningWindowStart = DateTime.UtcNow,
                planningWindowEnd   = DateTime.UtcNow.AddHours(5),
                bookingReason       = "reason"
            };

            return(bookingConfirmation);
        }
        public async Task <string> ConfirmBooking(bookingConfirmation bookingConfirmation)
        {
            _logger.LogInformation($"ConfirmBooking for bookingId: {bookingConfirmation.bookingId}");

            var serialisedBookings = JsonConvert.SerializeObject(bookingConfirmation);

            _logger.LogInformation(serialisedBookings);
            var workOrderId = (int)bookingConfirmation.primaryOrderNumber;

            await _appointmentsGateway.SetTimedBooking(
                workOrderId,
                bookingConfirmation.planningWindowStart,
                bookingConfirmation.planningWindowEnd,
                bookingConfirmation.bookingReason
                );

            await _drsService.UpdateWorkOrderDetails(workOrderId);

            await AddAuditTrail(workOrderId, bookingConfirmation);

            return(Resources.DrsBackgroundService_BookingAccepted);
        }