---
source: https://carbone.io/examples/ticket/
title: "Electronic transport ticket | Carbone Sample"
description: "Easily create tickets for access control using our powerful document generator tool. Merge JSON data with DOCX, PPTX, XLSX, ODT, HTML, and more effortlessly."
generated_at: "2026-07-10"
---

# Transport ticket

Generate your tickets with Carbone

[![ticket thumbnail](/examples/ticket/thumb-result.webp)](/examples/ticket/result.pdf)

[Download Template](/examples/ticket/template.docx)

[Download data sample](/examples/ticket/data.json)

-   Template type document docx simple
-   Carbone min. v4.0.0+
-   Features loop barcode price date image
-   Target ticket access control badge transport

## Overview

Learn how to generate professional e-tickets with these essential features:

-   Custom layout design
-   Formatted dates
-   Currency formatting
-   QR code/barcode integration

## Step-by-Step Solution

Follow these steps to create your e-ticket template with Carbone:

### 1\. Set Up the Document Layout

-   Open the **File** menu and select **Page Setup**
-   Choose your preferred paper size
-   For custom dimensions, use the **Custom Sizes** option
-   Set the orientation (portrait or landscape)

### 2\. Create the Ticket Structure

-   Design your layout using tables for consistent alignment
-   Add Carbone tags to display dynamic data
-   Format text and adjust spacing for optimal readability
-   Ensure proper cell alignment for professional results

### 3\. Add QR Code Support

-   Insert a temporary placeholder image
-   Right-click the image and select **View Alt Text**
-   Use the [:barcode](/documentation/design/advanced-features/barcode.md) formatter to generate a [QR code](/documentation/design/advanced-features/barcode.md#docx-barcode-example)
-   Example syntax: `{d[i].travel.ticket:barcode(qrcode)}`

### 4\. Format Numbers and Dates

Currency Formatting:

-   Use the [:formatC](/documentation/design/formatters/currency.md) formatter
-   Example: `{d[i].travel.price:formatC}`

Date Formatting:

-   Use the [:formatD](/documentation/design/formatters/date.md#formatd-patternout-patternin) formatter
-   For full date: `{d[i].travel.departure:formatD(LL)}`
-   For time: `{d[i].travel.departure:formatD(LT)}`
-   Default format follows ISO 8601 standard

_Tip: Add spaces within Carbone tags to improve readability and text wrapping_

### 5\. Enable Multiple Ticket Generation

-   Add the iteration marker `{d[i+1]}` on the next page
-   This allows generating multiple tickets in sequence

## Related Examples

[![eticket thumbnail example](/examples/eticket/thumb-result.webp)](/examples/eticket/index.md)

## Trusted by 800+ paid customers in 40+ countries

## Related topics

- [Summary](/examples/summary/index.md)
- [Stock inventory spreadsheet](/examples/stock-inventory-spreadsheet/index.md)
- [Store Inventory](/examples/shoes/index.md)
- [Sensor readings](/examples/sensor-readings/index.md)
- [Real estate property document](/examples/real-estate-property-description/index.md)
- [Automation of Quotes](/examples/quote-with-datasheet/index.md)
