# Price List

## Overview

The **Price List** is where you create and maintain selling prices in **Tourpaq Office**.

Most packages combine a [Transport](/transport/transport.md) with a hotel [Base room type](/base-room-types.md), plus rules like discounts, child rates, group pricing, and stay length (intervals). Each price list line is tied to a **departure date** and controls what can be sold.

You typically use this page to:

* Create/copy price lists for a transport + hotel + room combination
* Search and filter existing price lists by date range, resort, transport, hotel, and room
* Maintain prices per interval (P1–P4), discounts (D1–D4), and child prices (CH…)
* Review PLTA history, clear API cache, and recalculate free rooms/seats
* Update prices across related transports when transport price changes

## Purpose

A **Price List** is the foundation of how trips and offers are sold in Tourpaq.

Its purpose is to:

1. **Define the selling price of a trip**
   * Combines **Transport** (flight/bus/ship seats) + **Hotel** (room types, allotments) + other conditions (discounts, stay length, children rates, groups).
   * Ensures every departure date and room type has a price assigned.
2. **Control availability**
   * Price lists link prices with **allotments** (how many rooms/seats are available).
   * Without a price list, even if there are seats/rooms available, the package cannot be booked.
3. **Support different sales channels**
   * The same price list is used by:
     * **Agencies** (offers presented on agency sites).
     * **Web Booking (WB)** (online sales).
     * **Office** (internal bookings by staff).
4. **Enable flexibility**
   * Prices can be adjusted per:
     * Interval (P1, P2, P3, P4 = different stay lengths or price periods).
     * Age groups (child/adult discounts).
     * Trip type (one-way, round-trip).
     * Brand (same hotel/transport may have different prices depending on the brand).
5. **Provide historical and operational control**
   * Price lists track **changes over time** (history log).
   * Manual recalculations or adjustments can be made when allotments or transport costs change.

## How it Works

### Create/copy price list <a href="#createcopy-price-list" id="createcopy-price-list"></a>

Creating a price list is straightforward. In the **Price List** tab, click **Create/Copy Price List** and follow the steps below:

1. Choose the **brand** for which you want to create the price list.
2. Select the **transport**.
3. Select the **transport’s fixed quota**.
4. Select the **hotel**.
5. Choose the **rooms**.
6. Click **Create new price list**.

<figure><img src="/files/mOMvW7yJWhMwZl2qxOum" alt=""><figcaption></figcaption></figure>

If you create a price list without **Profit Margin (PM)** rules, the price list is created **without prices**. You must then enter prices manually, or calculate them using your internal rules.

The **Create new price list** action can show different warnings:

* If **no lines are created**, a warning message appears:
  * "The price lists were NOT created. Please check transport and hotel allotments and recreate the price lists"

<figure><img src="/files/JxZChNlCzDfI8prgoBBG" alt=""><figcaption></figcaption></figure>

* If **some lines are created** (but not all selected combinations), a warning message appears:
  * "The price lists were not created for ALL allotments. Press display to see the generated price list or check transport and hotel allotments and recreate the price list"

<figure><img src="/files/g7i2PKpSZvL1oxh7YeaF" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/UYAdj7e5ZtkvI0eUY6pf" alt=""><figcaption></figcaption></figure>

### Price List Search <a href="#price-list-search" id="price-list-search"></a>

The **Price List Search** section allows users to filter, view, and bulk update pricing configurations across hotels, rooms, transports, and allotments.

This functionality is designed for high-volume price management, supporting granular filtering and batch operations.

#### Overview

Use this page to:

* Filter price list entries based on multiple criteria
* Perform bulk price updates
* Maintain pricing consistency across large datasets

<figure><img src="/files/MN7XEUZJJoJRz6sKPCBr" alt=""><figcaption></figcaption></figure>

#### Search Filters

The search panel provides multiple filters to narrow down the pricing scope.

* **Date From/To Fields**: Set the date range for price list queries (format DD-MM-YYYY)

{% hint style="info" %}
When changing the **Brand**, the system preserves the selected **Date Interval** and **Arrival Interval** filters.
{% endhint %}

{% hint style="warning" %}
Prices outside the selected interval will not be affected by bulk operations.
{% endhint %}

* **Resorts Dropdown**: Select specific resorts to include in the price list.
* **Transports Dropdown**: Configure transport options with code format

{% hint style="info" %}
Only transports associated with the selected resort are displayed.

Example: If resort BCN is selected, only transports linked to BCN will be available.
{% endhint %}

<figure><img src="/files/XoSFzqhXW2bYxt43NKxM" alt=""><figcaption></figcaption></figure>

* **Transport Type Dropdown**: Filter by transport categories
* **Hotels Dropdown**: Select specific hotels. Allows selecting one or multiple hotels.
* **Allotment Type Dropdown**: Select the allotment type
* **Room Dropdown**: Select a specific room type

{% hint style="info" %}
When **All hotels** is selected, it is possible to select multiple room types across hotels.

This enables bulk price updates across a broader selection.
{% endhint %}

<figure><img src="/files/fPT5Yvec6AKQ6VTqHfhs" alt=""><figcaption></figcaption></figure>

{% hint style="warning" %}
Room availability depends on the selected hotels and date interval.
{% endhint %}

* **Fix Quotas Dropdown**: Select a transport fix quota

{% hint style="info" %}
Only **Fix Quotas** within the selected date interval are available.
{% endhint %}

* **Display Names Checkbox**: Toggle to show hotel names in results
* **Display Checkbox**: Toggle to show the price list results
* **Clear Button**: Reset all filter selections (shows "1" indicator, possibly indicating active filters)
* **Stay Length Field**: Used to filter price lists for a specific stay length. It is possible to specify one stay, several stays or a range.

#### Price Display Options

* **Hotel Disc on Top Checkbox**: Show hotel discounts prominently
* **Only Set Prices Checkbox**: Display only confirmed/set prices
* **Hide Zero FTA Checkbox**: Exclude zero-value FTA (likely "Free to Agent") rates
* **Hide Zero PHA Checkbox**: Exclude zero-value PHA rates

#### View Management

* **Save View Button**: Preserve current filter configuration
* **Update View Button**: Modify existing saved view
* **Menu Icon (⋮)**: Additional options menu

#### Example: Running a Search

1. Open the **Price List Search** page.
2. In the **Date From / To** fields, enter *01-07-2025* to *15-07-2025* to search for the first half of July.
3. From the **Brand** drop-down, select TourpaqDK.
4. The **Transports** list is now filtered for TourpaqDK. Select the transport option *FLY-RO*.
5. In the **Hotels** drop-down, select *Hotel Marina*.
6. Choose **Double Room with Balcony** from the **Room** field.
7. Enter *7* in the **Stay Length** field to filter for week-long stays.
8. Under **Price Display Options**, check **Only Set Prices** to display confirmed rates only.
9. Click **Display** to run the search.

{% hint style="success" %}
The system displays all available TourpaqDK **→ FLY-RO transport → Hotel Marina → Double Room with Balcony → 7-night stays between 01–15 July 2025**, showing only confirmed prices.
{% endhint %}

### Save / Update View

The Price List page supports saving custom table views.\
This allows users to quickly reuse the same filters, column setup, and display configuration without reconfiguring the page each time.

#### Accessing the View Menu

The view actions are available from the options menu in the top-right corner of the page.

To open the menu:

1. Click the three-dot menu button.
2. Select one of the available actions:
   * **Save View**
   * **Update View**
   * **Export**

<figure><img src="/files/PWddHSDKIehbYts44SMO" alt=""><figcaption></figcaption></figure>

#### Save View

The **Save View** action creates a new reusable view based on the current page configuration.

The saved view stores:

* Selected filters
* Selected transports
* Hotel and room filters
* Table configuration
* Visible columns
* Other active display settings

After saving:

* The new view appears in the view tabs area above the table.
* Users can switch between saved views directly from the tabs.

Example:\
`Automaiton`, `all-cols-test`, and `JPN` are saved views.

#### Update View

The **Update View** action updates the currently selected saved view with the latest page configuration.

Use this when:

* Filters were changed
* Columns were adjusted
* Display settings were modified
* The existing saved view should reflect the new setup

Behavior:

* Only the currently active view is updated.
* The view name remains unchanged.
* The updated configuration becomes the default layout for that saved view.

#### Manage Views

<figure><img src="/files/Kuu2TTjgl8RGnsr2dDza" alt=""><figcaption></figcaption></figure>

Existing saved views can also be renamed or deleted.

To manage views:

1. In the views bar, click the three dots (`⋯`) button.
2. Select **Manage Views**.

In the dialog that opens:

* Rename a view by editing its name in the text field.
* Delete a single view using the trash can icon on its row.
* Use **Multiple delete** to remove several views at once.
* Click **Save** to apply the changes.

#### View Tabs

Saved views are displayed as tabs above the results table.

Behavior:

* Clicking a tab loads the saved configuration.
* The active view is highlighted.
* Users can quickly switch between different working layouts.

#### Typical Use Cases

Examples of saved views:

* Transport-specific pricing setups
* Market-specific layouts
* Hotel-specific configurations
* QA/testing views
* Operational pricing workflows

This feature helps reduce repetitive filtering and improves workflow efficiency for users working with large pricing datasets.

#### Transport and Hotel Selection Behavior

* **All Brands Selected:**
  * When **All Brands** is selected, all available transports will appear in the **Transport** drop-down list.
* **Specific Brand Selected:**
  * If a specific brand is chosen, only transports assigned to that brand will appear.
  * Transports are assigned to brands via **Transport → Brands Tab | Brands Tab → Edit Transport**.
  * Transports marked as **hidden** will not appear in the drop-down list. Transport visibility can be managed in **Transport → General Tab → General**.
  * If a specific resort is chosen, only transports associated with the selected resort are displayed.
* **Transport Selection Effects:**
  * Once a transport is selected, the **Fix Quota** field is automatically populated within the selected date interval.
  * The **Hotels** drop-down is filtered to display only hotels associated with the selected transport’s price list.
  * Hotels marked as **hidden** will not appear. Visibility can be configured in **Hotel → Hotel Tab → General Tab**.
* **Hotel Selection Effects:**
  * Selecting a hotel reveals two additional fields.
  * These fields provide tools to help save prices using algorithms described in:
    * **Price List → Also Update Prices on Transports**
    * **Price List → Update Prices Based on Transport**

### Display Price List <a href="#display-price-list" id="display-price-list"></a>

After performing a search, the **Price List** results are displayed in a table format. For performance optimization:

* Prices are **not loaded all at once**.
* Clicking the **Display** button loads the **first 25 entries**.
* As you scroll down, the next 25 entries are loaded incrementally until the entire list is displayed.
* By default, most columns are **hidden** to improve performance and maintain clarity.

<figure><img src="/files/Q6g3yEUAmxnTPjJS6SxB" alt=""><figcaption></figcaption></figure>

#### Column Overview

Column titles are abbreviated to keep the table tidy. Most fields include **tooltips** that display the full column name. Below is a full list of columns with explanations:

| Column        | Description                                                                                                                                                                                                                                                                                                                                      |
| ------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| **PLTA ID**   | Price List Unique Identifier. Double-clicking the ID redirects to the **Web Booking Page** for the specific booking configuration.                                                                                                                                                                                                               |
| **Hotel**     | Hotel Code corresponding to the booking configuration.                                                                                                                                                                                                                                                                                           |
| **Room**      | Room Code corresponding to the booking configuration.                                                                                                                                                                                                                                                                                            |
| **Dep. Date** | Departure date for the booking configuration.                                                                                                                                                                                                                                                                                                    |
| **STAYS**     | Length of stay for interval 1 of the transport.                                                                                                                                                                                                                                                                                                  |
| **FHA**       | Free Hotel Allotment – Number of rooms available for this departure. Default value represents a one-week trip (interval 1). Hover displays allotments for 1, 2, 3, or 4 weeks.                                                                                                                                                                   |
| **FTA**       | Free Transport Allotment – Number of transport seats available. Default represents a one-week round trip. Hover displays available seats for 1, 2, 3, or 4 weeks round trip, as well as one-way outbound and inbound trips.                                                                                                                      |
| **P1**        | Price for Interval 1.                                                                                                                                                                                                                                                                                                                            |
| **P2**        | Price for Interval 2.                                                                                                                                                                                                                                                                                                                            |
| **P3**        | Price for Interval 3.                                                                                                                                                                                                                                                                                                                            |
| **P4**        | Price for Interval 4.                                                                                                                                                                                                                                                                                                                            |
| **CH1**       | Child Price Interval 1 – Price for a child occupying an extra bed. Calculated using an extra bed discount applied to the Grundprins (base price).                                                                                                                                                                                                |
| **Status**    | <p>Guarantee Availability of the PLTA (Transport + Hotel). Possible statuses:<br>- <strong>GREEN</strong> – Both transport and hotel have guaranteed allotments.<br>- <strong>YELLOW</strong> – One of transport or hotel lacks Guarantee Availability.<br>- <strong>PINK</strong> – Neither transport nor hotel has Guarantee Availability.</p> |

### Change Price Functionality <a href="#price-list-history" id="price-list-history"></a>

<figure><img src="/files/fb7JDeoE6nWTL2vNlrYr" alt=""><figcaption></figcaption></figure>

The Change Price tool allows bulk modification of pricing values.

#### Operation Types

Supported operations:

* **+** Increase value
* **-** Decrease value
* **=** Replace value

#### Negative Value Support

{% hint style="info" %}
When using the **"=" (Replace)** operation, the system accepts **negative values**.
{% endhint %}

{% hint style="warning" %}
Negative values will overwrite existing prices. Use carefully, especially in live environments.
{% endhint %}

**Use cases:**

* Applying corrections in PM1
* Setting negative pricing for adjustments or special scenarios

<figure><img src="/files/YMBO0ZyC4iWCOatZS1Mg" alt=""><figcaption></figcaption></figure>

### Price List History <a href="#price-list-history" id="price-list-history"></a>

Price list history is a way to see the evolution in time of prices.

<figure><img src="/files/T1gdsyrfLRlMtbgRe6as" alt=""><figcaption></figcaption></figure>

At the beginning of each row, there are tree icons:

* View History - where you can see the evolution of prices like in Figure 3.
* Clear API Cache - by clicking the icon, you can clear the cache on the API for that particular prices
* Free Rooms Count|Recalculate Free room count - you can recalculate on demand both transport and hotel allotment for current prices

#### Column Filters <a href="#column-filters" id="column-filters"></a>

<figure><img src="/files/aPU4kgzIfcX4olFw1KZ7" alt=""><figcaption></figcaption></figure>

**Column Filters** allow you to display specific portions of information from the Price List grid.

* Each **interval group** has a corresponding checkbox: **Interval 1 (P1), Interval 2 (P2), Interval 3 (P3), Interval 4 (P4)**.
* Example: If **ALL PRICES (P1, P2, P3, P4)** is checked and **Interval 1** is selected as the active filter, only the **P1** column will be displayed in the table.
* Columns **not grouped into intervals** are always shown by default.

#### Discounts <a href="#discounts" id="discounts"></a>

<figure><img src="/files/iNF61hX9K5E3QKuaIAGU" alt=""><figcaption></figcaption></figure>

### Relation PL & Related PL <a href="#relation-pl--related-pl" id="relation-pl--related-pl"></a>

These are covered in [Relational price list](/relational-price-list.md)

#### Also Update Prices on Transports <a href="#also-update-prices-on-transports" id="also-update-prices-on-transports"></a>

The fields are displayed only if the hotel is selected in the search form.

This function is used to update the prices that share the same hotel but have different transports.

Example:

Let's take transport T0 and the Transport T1 and each one has a price list with the same hotel, H0, so we have price lists T0\_H0 and T1\_H0. The difference between the price in T0 and T1 is 100, so we set this value on the transport T1 in the column Transport Price (**TP**). When the price on the T0\_H0 is changed, we have the option to update the price on the T1\_H0 as well.

`T1_H0_Price = T0_H0_Price + T1_H0_Transport_Price`

If Override Transport Price is checked and the filed next to the check-box is filled, the column Transport Price, will be overwritten in the transport T1\_H0

![!](https://docs.tourpaq.com/assets/images/updatePriceOnTransports-2ce165a0ee01856d1fa742c9bdb84fb1.png)

A simple workflow could be:

* Select in the search form Brand, Transport, Fix Quota and Hotel, and click Display button
* Check Also update prices on transports and select one or more Transport in the list (The list of transports in this drop down list are transport that have price list with the same hotel)
* Check the Override Transport Price and fill the amount
* Change one or more prices on the grid and click the Save button.

After the save, you will notice that the price on the selected transport with the same hotel and room has been changed accordingly by the formula above.

### Update Prices Based on Transport <a href="#update-prices-based-on-transport" id="update-prices-based-on-transport"></a>

This function allows prices to be **automatically recalculated when the Transport Price changes**.

* The fields are **displayed only when a hotel is selected** in the search form.
* **Purpose:** Update prices (P1, P2, D1, D2, etc.) based on changes in the selected transport.
* The **transport drop-down list** shows only transports that share the **same hotel and room**.
* Example: If **P1** was previously updated using the **Also Update Prices on Transports** tool, and the **Transport Price** is modified, **P1** will be recalculated accordingly based on the price list for that transport.

![!](https://docs.tourpaq.com/assets/images/updatePriceBasedOnTransport-b76eb367aade9faa3c6b2428cdd5760c.png)

### **FAQ**

**What is a Price List in Tourpaq?**\
A price list defines how tour packages are priced in Tourpaq. It combines transport, hotel room types, and other conditions (discounts, child rates, groups) with a departure date to set the selling price and control availability. Without a valid price list, even if seats and rooms are available, the product cannot be booked.

**Why is a Price List important?**\
It is the foundation for selling trips through agencies, web booking, and the office. It links prices with allotments so that available seats and rooms can actually be sold.

**How do I create a new price list?**\
You create a price list by choosing a brand, transport option, a fixed quota, hotel, and rooms. After those selections, you can create the new price list.

**What happens if no prices are generated?**\
If no prices are created during the process, the system will warn you. This often happens when transport and hotel allotments are missing or not properly set, and the price list creation must be reviewed.

**How can I find existing price lists?**\
Use the search tools at the top of the price list page. You can filter by brand, transport, hotel, room type, date range, and other criteria.

**What filters are available when searching price lists?**\
You can filter by date range, resorts, transport, transport type, hotel, allotment type, room type, fix quotas, and display options like showing only non-zero prices.

**What does the price list display show?**\
After displaying search results, you see columns like PLTA ID, hotel, room code, departure date, stay length, allotment counts (hotel and transport), and defined prices (P1–P4, child prices, etc.).

**What is PLTA ID?**\
PLTA ID is the unique identifier for each price list entry. It encodes transport, hotel, room, and date combination.

**Can prices be recalculated?**

Yes. You can trigger recalculation actions, for example when free rooms or allotments change and prices need to be aligned again.

**How are child prices shown?**\
Child prices are included in the grid with specific columns. These may be based on extra bed discounts or other configured rules.

**What tools are available in the price list interface?**\
You can view history, recalculate free rooms, adjust prices, and apply filters for different columns.

**Can I link or update prices across transports?**\
Yes. There’s a function to update prices based on transport or to also update prices on related transports when you make a change.

**Is there a history of price changes?**

Yes. Each price list entry has a history view that shows previous price changes and updates.

**Why do I not see any results?**

Most often, the brand filter is missing, the date range is incorrect, or there are no price lists created for the selected criteria.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://manual.tourpaq.com/price-list/pricelist.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
