Skip to main content

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​

HeaderValueRequired
Content-Typeapplication/jsonYes
Acceptapplication/jsonYes
AuthorizationBearer tokenYes

Request Body​

ParameterTypeDescriptionRequired
from_appointment_idstringFrom Appointment IDYes
to_appointment_idstringTo Appointment IDYes
coach_idstringCoach ID to postponeYes

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​

HeaderValueRequired
Content-Typeapplication/jsonYes
Acceptapplication/jsonYes
AuthorizationBearer tokenYes

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​

HeaderValueRequired
Content-Typeapplication/jsonYes
Acceptapplication/jsonYes
AuthorizationBearer tokenYes

Path Parameters​

ParameterTypeDescriptionRequired
idstringPostpone Session Request IDYes

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