InvoiceItem must reference an active bookable service — a product of type Service that has a duration configured and belongs to at least one category. A request whose services are not valid bookable services is rejected with Please Enter Valid Service.Invoice.convert to 1 to immediately convert the new booking into an invoice within the same request; the response then also returns invoice_id..json extension is optional and does not change the response.curl --location --globoff 'https://.daftara.com/api2/v2/api/bookings' \
--header 'Accept: application/json' \
--header 'apikey: ' \
--header 'Content-Type: application/json' \
--data '{
"booking": {
"client_id": 1
},
"booking_items": [
{
"service_id": 13,
"is_waiting": 0,
"start_date_time": "2026-07-21 04:30",
"duration": 60,
"unit_price": 60,
"discount": 0,
"discount_type": 1,
"sales_person_id": "1",
"booking_package_id": ""
}
]
}'{
"code": 200,
"message": "The Booking has been saved",
"id": "456",
"appointment_id": "4",
"invoice_id": "461"
}