ServiceProfile


Cada Provider puede tener un único perfil por service_type. En este contexto, el service_type indica el tipo de servicio al cual hace referencia este perfil. Por ejemplo, service_type = 1 indica que se trata de Delivery.

Cuando un Provider intenta actualizar un ServiceProfile, los datos enviados se almacenan en reviewing_data y se actualizar el status a reviewing_data_status = draft. En este momento, el Provider puede enviar más actualizaciones reemplazando los datos anteriores.

Una vez iniciada la revisión, el status cambia a reviewing_data_status = reviewing y no se permite modificar los datos enviados. Una vez finalizada la revisión, el status puede cambiar a reviewing_data_status = up_to_date en caso de haber sido aprobado y los datos de data son actualizados con los valores en reviewing_data. Si los cambios son rechazados, el status cambia a reviewing_data_status = refused y se puede continuar enviando datos para la revisión.

Nota: El único status que impide actualizar los datos es reviewing.

Modelo ServiceProfile

{
    "id": 1,
    "is_enabled": true,
    "status": "approved",
    "reviewing_data": {
        "brand": null,
        "model": null,
        "color": null,
        "plate": null
    },
    "reviewing_data_status": "draft",
    "data": {
        "brand": null,
        "model": null,
        "color": null,
        "plate": null
    },
    "provider_id": 32,
    "service_type": 1,
    "vehicle_type": 2,
    "created_at": "2023-07-07 13:36:35",
    "updated_at": "2023-07-07 13:36:35",
    "rating_e2": 500,
    "rating_sum": 0,
    "rating_count": 0
}
Atributo Tipo Descripción
id int -
is_enabled bool -
status string -
reviewing_data array -
reviewing_data_status string -
data array -
provider_id int -
service_type int -
vehicle_type int -
created_at datetime\|null -
updated_at datetime\|null -
rating_e2 int -
rating_sum int -
rating_count int -

Insertar ServiceProfile

Insertar ServiceProfile de Provider

Método URI Cabeceras
POST /providers/{providerId}/service-profiles Authorization
{
    "data": "array",
    "service_type": "required|integer|exists:service_types,code",
    "vehicle_type": "required|integer|exists:vehicle_types,code"
}

Listar ServiceProfile

{info} Soporta: Paginación Filters Carga dinámica

Método URI Cabeceras
GET /service-profiles N/A

Mostrar ServiceProfile

{info} Soporta: Carga dinámica

Método URI Cabeceras
GET /service-profiles/{serviceProfileId} N/A

Actualizar ServiceProfile

Método URI Cabeceras
PATCH /service-profiles/{serviceProfileId} Authorization
{
    "is_enabled": "boolean",
    "data": "array",
    "vehicle_type": "integer|exists:vehicle_types,code"
}

Eliminar ServiceProfile

Método URI Cabeceras
DELETE /service-profiles/{serviceProfileId} Authorization

Acciones de ServiceProfile

Index For Provider

{info} Soporta: Paginación Filters Carga dinámica

Método URI Cabeceras
GET /providers/{providerId}/service-profiles Authorization

Submit

Método URI Cabeceras
POST /service-profiles/{serviceProfileId}/submit Authorization

Approve

Método URI Cabeceras
POST /service-profiles/{serviceProfileId}/approve Authorization

Refuse

Método URI Cabeceras
POST /service-profiles/{serviceProfileId}/refuse Authorization

Set Blocked

Método URI Cabeceras
POST /service-profiles/{serviceProfileId}/block Authorization

Set Unblocked

Método URI Cabeceras
POST /service-profiles/{serviceProfileId}/unblock Authorization

Set Enabled

Método URI Cabeceras
POST /service-profiles/{serviceProfileId}/set-enabled Authorization

Set Disabled

Método URI Cabeceras
POST /service-profiles/{serviceProfileId}/set-disabled Authorization

Enlaces de ServiceProfile