def METHOD_NAME(
    _response: lib.Deserializable[dict],
    settings: provider_utils.Settings,
) -> typing.Tuple[typing.List[models.RateDetails], typing.List[models.Message]]:
    response_data = _response.deserialize()
    messages = error.parse_error_response(response_data, settings)
    shipment = (
        None
        if any(messages)
        else _extract_details(response_data, settings, _response.ctx)
    )
    return shipment, messages