private function getPayload($perimeter, $season, $lineConfig, $externalRouteId, $stopPoint)
    {
        $payload = array();
        $payload['pdfHash'] = isset($stopPoint->pdfHash) ? $stopPoint->pdfHash : '';
        $payload['layoutParams'] = array(
            'orientation' => $lineConfig->getLayoutConfig()->getLayout()->getOrientationAsString(),
            'pageSize' => $lineConfig->getLayoutConfig()->getLayout()->getPageSize(),
        );
        $payload['cssVersion'] = $lineConfig->getLayoutConfig()->getLayout()->getCssVersion();
        $payload['url'] = $this->generatePayloadUrl();
        $payload['url'] .= $this->router->generate(
            'canal_tp_mtt_timetable_view',
            array(
                'externalNetworkId'     => $perimeter->getExternalNetworkId(),
                'externalLineId'        => $lineConfig->getExternalLineId(),
                'externalRouteId'       => $externalRouteId,
                'seasonId'              => $season->getId(),
                'externalStopPointId'   => $stopPoint->id,
                'customerId'            => $this->co->get('security.context')->getToken()->getUser()->getCustomer()->getId(),
                'timetableOnly'         => true
            )
        );
        $payload['timetableParams'] = array(
            'seasonId'              => $season->getId(),
            'externalNetworkId'     => $perimeter->getExternalNetworkId(),
            'externalRouteId'       => $externalRouteId,
            'externalLineId'        => $lineConfig->getExternalLineId(),
            'externalStopPointId'   => $stopPoint->id,
        );

        return $payload;
    }