How to create a contract
A contract is the central document in Pakuj.se. It records exactly what was sold to a customer: which accommodation, transport, and insurance were booked, who the travellers are, what the price is, and when payment is due. The moment you submit the form, Pakuj.se automatically generates the customer invoice and — if any of the selected offers belong to a partner agency — the corresponding B2B invoices as well.
Required role: Owner or Employee.
Before you create a contract you need at least one offer with an active price. See How to create an offer and Offer prices.
Step 1: Open the contract form
- In the left sidebar, click Contracts.
- At the top of the page, click New contract.
URL: /Contract/Create
Step 2: Select the agency and office
Admins see a full Agency dropdown at the top of the form. Owners who manage more than one agency will also see a dropdown; owners of a single agency will not (the agency is set automatically).
- If the dropdown is visible, choose the agency that is signing this contract.
- Choose the office from which the contract is issued.
The office selection reloads the available offers automatically, so always pick the office before selecting offers.
Step 3: Select accommodation (required)
The Accommodation step is the only mandatory offer selection. You must pick at least one accommodation offer before the transport and insurance steps become visible.
- Use the search box above the list to filter by name.
- Click one or more accommodation offers in the list to select them.
- The form immediately shows the available prices and dates for each selected offer below the list, and fills in the Check-in date and Check-out date fields automatically from the selected prices.
Offer prices and partner offers
After you pick an accommodation, the price panel shows a row for each available price period. Each row shows:
- The date range the price applies to.
- The price per person.
- A checkbox to include that price in the contract.
If the offer belongs to a partner agency (shown with a ★ symbol and the partner's name), the price already reflects the agreed markup. You do not need to adjust anything manually.
Step 4: Select transport (optional)
Once an accommodation is selected, the Transport step appears. The transport list is pre-filtered to show only offers whose route and travel dates overlap with the accommodation you picked — irrelevant departures are hidden automatically.
- Use the search box to filter by name.
- Click a transport offer to select it.
- The price panel appears below, showing seat availability and per-seat price.
Seat assignment: when the contract is saved, Pakuj.se automatically assigns seat numbers to all travellers starting from the next available seat. If the transport is fully sold, the price becomes unavailable for future contracts.
Step 5: Select insurance (optional)
- After the transport step, the Insurance step is shown.
- Pick one or more insurance offers if the customer wants coverage.
- The price panel shows the policy length and price.
Step 6: Review the price summary
As you select and deselect offers and check or uncheck individual prices, the Price Summary card updates in real time. It shows:
| Line | Meaning |
|---|---|
| Subtotal | Sum of all selected price lines. |
| Discount | Applied discount in currency (calculated from the Discount % field below). |
| VAT | VAT amount (calculated from the VAT % field). |
| Total | Final amount the customer pays. |
Step 7: Fill in contract details
Below the offer selection, complete the Contract Details section:
| Field | Required | Description |
|---|---|---|
| Payment due date | no | The deadline by which the customer must pay. |
| Discount (%) | no | Percentage discount applied to the subtotal. |
| VAT (%) | no | VAT rate applied after the discount. |
| Check-in date | no | Auto-filled from the selected accommodation price. You can override it. |
| Check-out date | no | Auto-filled from the selected accommodation price. You can override it. |
| Number of guests | no | Total number of guests (informational). |
Step 8: Fill in the contract owner (main traveller)
The Contract Owner is the primary traveller — the person whose name appears on the invoice as the buyer.
Quick autofill
If this customer has travelled with your agency before:
- Start typing the customer's first name, last name, or e-mail in the Search Existing Traveller box.
- Click the matching result in the dropdown.
- All fields below fill in automatically.
Manual entry
Fill in the fields yourself:
Personal details
| Field | Required |
|---|---|
| First name | yes |
| Last name | yes |
| Date of birth | no |
| Gender | no |
| JMBG (national ID number) | no |
| Foreign citizen | no |
Contact & address
Email, phone, address, city, municipality, ZIP, country.
Identity documents
ID number, passport number, passport expiration date.
Nationality & residence
Citizenship country, birth country, residence country, residence place, residence address.
Foreign ID document and visa (if applicable)
If you set Foreign citizen to Yes, an additional section appears for:
- Document type, document number, issued date, issued by.
- Visa type, visa number, visa issued place.
All offer-related fields (accommodation unit, seat number, entry place, transport number, check-in/out dates, etc.) are filled in automatically when the contract is saved. You do not need to enter them manually.
Step 9: Add additional passengers (optional)
Click Add Passenger for each extra traveller.
Each passenger card has the same fields as the Contract Owner section. The Search Existing Traveller box works here too — great for repeat customers or families.
You can add as many passengers as needed. To remove one, click Remove on the card.
Passengers are linked to the same offers as the contract owner. Their seat numbers, accommodation units, and travel details are filled in automatically when you save.
Step 10: Submit
Click Create Contract.
Pakuj.se will:
- Validate all required fields.
- Check that all selected offer prices are still active (no one else took the last seat while you were filling in the form).
- Save the contract and all travellers.
- Mark the selected prices as reserved (transport prices that are now fully sold are automatically marked inactive).
- Generate a customer invoice with all selected lines.
- Generate one B2B invoice per partner agency (if any partner offers were included) — these invoices go from the partner to your agency at the wholesale price.
You are redirected to the contract details page.
After the contract is created
Viewing the contract
Go to Contracts in the sidebar. Use the search and filter bar to find your contract. Click Details to open the full view, which shows:
- All contract lines (offers sold).
- All travellers and their details.
- Invoice status and download link.
- Current payment status.
Editing a contract
Click Edit on the contract details page to update dates, discount, VAT, or traveller information. You cannot change the selected offers after the contract is created (prices have already been reserved).
Invoices
The customer invoice is generated automatically and visible from the contract details page. You can:
- View and print the invoice.
- Mark it as paid once payment is received.
- Issue a refund, which sets the contract status to Refunded and cancels any related B2B invoices automatically.
Frequently asked questions
Can I include offers from other agencies?
Yes — if your agency has an accepted partnership with another agency and
their offers are enabled for resale, those offers appear in the list with a
★ symbol. The price shown already includes the agreed markup.
See Agency partnerships.
The transport list is empty after I selected accommodation. Why?
Transport offers are filtered by the departure city and travel dates of the
accommodation you selected. If no transport matches those criteria, the list
is empty. Contact the offer manager to check if a suitable transport offer
has been created and priced.
Can I select prices from different date ranges for the same offer?
Yes — the price panel lets you tick multiple price rows for the same offer.
Each becomes a separate contract line, which is useful for multi-leg trips
or extended stays at different rate periods.
What happens if a price becomes unavailable while I'm filling in the form?
Pakuj.se checks availability at the moment you click Create Contract.
If a price has been taken in the meantime, you will see an error and need
to choose a different price.