Postpone Session
This section covers the endpoints for managing session postponement requests.
Available Endpoints
Request Postpone Session
Request to postpone a session in an order.
Endpoint
- Method: POST
- URL:
/v1/coach/postpone-session
Request Headers
| Header | Value | Required |
|---|---|---|
| Content-Type | application/json | Yes |
| Accept | application/json | Yes |
| Authorization | Bearer token | Yes |
Request Body
| Parameter | Type | Description | Required |
|---|---|---|---|
| from_appointment_id | string | From Appointment ID | Yes |
| to_appointment_id | string | To Appointment ID | Yes |
| coach_id | string | Coach ID to postpone | Yes |
Success Response
{
"success": true,
"message": "تم قبول تغيير الموعد",
"data": {
"id": "uuid",
"startedAt": "2025-03-25 11:00:00",
"endedAt": "2025-03-25 12:00:00",
"status": "accept"
},
"statusCode": 200
}
Error Response
Order Not Found (404)
{
"success": false,
"message": "لم يتم العثور على السجل",
"data": null,
"statusCode": 404
}
Invalid Session Status (422)
{
"success": false,
"message": "تم (قبول-رفض) تغيير الموعد مسبقآ",
"data": null,
"statusCode": 422
}
Postpone session details.
Endpoint
- Method: GET
- URL:
/v1/coach/postpone-session/{id}
Request Headers
| Header | Value | Required |
|---|---|---|
| Content-Type | application/json | Yes |
| Accept | application/json | Yes |
| Authorization | Bearer token | Yes |
Success Response
{
"success": true,
"message": "تم قبول تغيير الموعد",
"data": {
"id": "uuid",
"startedAt": "2025-03-25 11:00:00",
"endedAt": "2025-03-25 12:00:00",
"status": "accept"
},
"statusCode": 200
}
Error Response
Order Not Found (404)
{
"success": false,
"message": "لم يتم العثور على السجل",
"data": null,
"statusCode": 404
}
Accept Postpone Session
Accept a session postponement request.
Endpoint
- Method: POST
- URL:
/v1/customer/orders/accept-postpone-session/{id}
Request Headers
| Header | Value | Required |
|---|---|---|
| Content-Type | application/json | Yes |
| Accept | application/json | Yes |
| Authorization | Bearer token | Yes |
Path Parameters
| Parameter | Type | Description | Required |
|---|---|---|---|
| id | string | Postpone Session Request ID | Yes |
Success Response
{
"success": true,
"message": "تم قبول تغيير الموعد",
"data": {
"id": "uuid",
"startedAt": "2025-03-27 12:00:00",
"endedAt": "2025-03-27 13:00:00",
"status": "accept"
},
"statusCode": 200
}
Error Response
Postpone Request Not Found (404)
{
"success": false,
"message": "لم يتم العثور على السجل",
"data": [],
"statusCode": 404
}
Unauthorized (401)
{
"success": false,
"message": "غير مصرح",
"data": null,
"statusCode": 401
}
Overview
Postpone Session Statuses
- PENDING: Request has been submitted and is waiting for approval
- ACCEPTED: Request has been approved and session is rescheduled
- REJECTED: Request has been rejected
- CANCELLED: Request has been cancelled
Important Notes
- Only sessions in specific statuses can be postponed
- Postponement requests require a valid reason
- New date and time must be within allowed range
- Only the session owner can request postponement
- Postponement requests must be approved by the coach
- Multiple postponement requests may be restricted
- Session duration remains unchanged after postponement
- Calendar events are automatically updated after acceptance