public function transmitShipments(
        array $manifest_address,
        array $group_ids,
        array $options = []
    ) {
        $this->formatPostalCode($manifest_address['address-details']['postal-zip-code']);
        $content = [
            'group-ids' => [
                'group-id' => $group_ids,
            ],
            'requested-shipping-point' => $manifest_address['address-details']['postal-zip-code'],
            'cpc-pickup-indicator' => true,
            'detailed-manifests' => true,
            'manifest-address' => $manifest_address,
        ];

        if (!empty($options['option_codes'])) {
            $content['options']['option'] = $this->parseOptionCodes($options);
        }

        $xml = Array2XML::createXML('transmit-set', $content);
        $envelope = $xml->documentElement;
        $envelope->setAttribute(
            'xmlns',
            'http://www.canadapost.ca/ws/manifest-v8'
        );
        $payload = $xml->saveXML();

        $response = $this->post(
            "rs/{$this->customerNumber}/{$this->customerNumber}/shipment",
            [
                'Accept' => 'application/vnd.cpc.manifest-v8+xml',
                'Content-Type' => 'application/vnd.cpc.manifest-v8+xml',
            ],
            $payload,
            $options
        );
        return $response;
    }