Entur Developer
Products V3

Sales package

Server

Fine-grained modification of sales packages. The client sends a full request body and has full control over the sales package content.


Get a sales package by ID

GET
https://api.entur.io/products
/v3/sales-offer-packages/{id}

Retrieve a sales package by its NeTEx ID.

Get a sales package by ID › path Parameters

id
​string · pattern: ^([A-Z]{3}):([A-Za-z… · required · style: simple

The netex ID of the element to retrieve

Get a sales package by ID › Headers

ET-Client-Name
​string · style: simple

Entur Client Header. It is required that all consumers identify themselves by using this header. Entur will deploy strict rate-limiting policies on API-consumers who do not identify with a header and reserves the right to block unidentified consumers. The structure of ET-Client-Name should be: <company>-<application>.

X-Correlation-Id
​string · style: simple

Correlation id

Get a sales package by ID › Responses

Sales package found

id
​string · pattern: ^([A-Z]{3}):SalesOff… · required

NeTEx ID of the sales package.

Example: VYG:SalesOfferPackage:07c4332c
versionId
​string · pattern: ^([A-Z]{3}):Version:… · required

NeTEx version ID.

Example: VYG:Version:SP-905ec954-abcd-1234-efgh-567890abcdef
​object[] · required
status
​string · enum · required

Status of this sales package version.

Enum values:
DRAFT
PROPOSED
VERSIONED
DEPRECATED
Example: VERSIONED
versionNumber
​integer

The version number. Only present for published versions.

Example: 14
ownerOrganisationId
​integer

The ID of the organization that owns the sales package.

Example: 1
​FareProductRef[]

List of fare product references included in this sales package.

validFrom
​string · date

Start of the validity period (travel dates, not version date).

Example: 2026-03-18
validTo
​string · date

End of the validity period. No specified date means that the validity period has no end-date.

Example: 2026-12-31
publishedDate
​string · date-time

System-assigned timestamp of when the version was published. Only present for VERSIONED status.

Example: 2026-03-18T10:30:00Z

Update a sales package

PUT
https://api.entur.io/products
/v3/sales-offer-packages/{id}

Update a sales package with a full replacement of its content. The client should first retrieve the current sales package, modify the desired fields, and send the complete object back.

This creates a new version of the sales package. The status field controls whether the version is auto-published (VERSIONED) or created as a draft.

Update a sales package › path Parameters

id
​string · pattern: ^([A-Z]{3}):([A-Za-z… · required · style: simple

The netex ID of the element to retrieve

Update a sales package › Headers

ET-Client-Name
​string · style: simple

Entur Client Header. It is required that all consumers identify themselves by using this header. Entur will deploy strict rate-limiting policies on API-consumers who do not identify with a header and reserves the right to block unidentified consumers. The structure of ET-Client-Name should be: <company>-<application>.

X-Correlation-Id
​string · style: simple

Correlation id

Update a sales package › Request Body

​object[] · required
​FareProductRef[]

List of fare product references to include in this sales package.

status
​string · enum

Status of the created sales package version. Defaults to VERSIONED.

  • DRAFT - Creates a draft version.
  • PROPOSED - Creates a proposed version pending review.
  • VERSIONED - Publishes the version immediately (default).
Enum values:
DRAFT
PROPOSED
VERSIONED
DEPRECATED
Example: VERSIONED

Update a sales package › Responses

Sales package updated

id
​string · pattern: ^([A-Z]{3}):SalesOff… · required

NeTEx ID of the sales package.

Example: VYG:SalesOfferPackage:07c4332c
versionId
​string · pattern: ^([A-Z]{3}):Version:… · required

NeTEx version ID.

Example: VYG:Version:SP-905ec954-abcd-1234-efgh-567890abcdef
​object[] · required
status
​string · enum · required

Status of this sales package version.

Enum values:
DRAFT
PROPOSED
VERSIONED
DEPRECATED
Example: VERSIONED
versionNumber
​integer

The version number. Only present for published versions.

Example: 14
ownerOrganisationId
​integer

The ID of the organization that owns the sales package.

Example: 1
​FareProductRef[]

List of fare product references included in this sales package.

validFrom
​string · date

Start of the validity period (travel dates, not version date).

Example: 2026-03-18
validTo
​string · date

End of the validity period. No specified date means that the validity period has no end-date.

Example: 2026-12-31
publishedDate
​string · date-time

System-assigned timestamp of when the version was published. Only present for VERSIONED status.

Example: 2026-03-18T10:30:00Z

Publish or promote a sales package version

PUT
https://api.entur.io/products
/v3/sales-offer-packages/{id}/publication

Change the status of a sales package version. Used to promote versions through the publication workflow: DRAFT -> (PROPOSED ->) VERSIONED (-> DEPRECATED) or send back: PROPOSED -> DRAFT.

Publish or promote a sales package version › path Parameters

id
​string · pattern: ^([A-Z]{3}):([A-Za-z… · required · style: simple

The netex ID of the element to retrieve

Publish or promote a sales package version › Headers

ET-Client-Name
​string · style: simple

Entur Client Header. It is required that all consumers identify themselves by using this header. Entur will deploy strict rate-limiting policies on API-consumers who do not identify with a header and reserves the right to block unidentified consumers. The structure of ET-Client-Name should be: <company>-<application>.

X-Correlation-Id
​string · style: simple

Correlation id

Publish or promote a sales package version › Request Body

versionId
​string · pattern: ^([A-Z]{3}):Version:… · required

NeTEx version ID of the sales package version to publish.

Example: VYG:Version:SP-905ec954-abcd-1234-efgh-567890abcdef
status
​string · enum · required

Target status. Valid transitions: DRAFT → PROPOSED → VERSIONED, PROPOSED → DRAFT.

Enum values:
DRAFT
PROPOSED
VERSIONED
DEPRECATED
Example: VERSIONED
validFrom
​string · date · required

Start of the validity period (travel dates).

Example: 2026-03-18
validTo
​string · date

End of the validity period. No specified date means that the validity period has no end-date.

Example: 2026-12-31

Publish or promote a sales package version › Responses

Version status updated successfully

salesOfferPackageId
​string · pattern: ^([A-Z]{3}):SalesOff… · required

NeTEx ID of the sales package.

Example: VYG:SalesOfferPackage:07c4332c
versionId
​string · pattern: ^([A-Z]{3}):Version:… · required

NeTEx version ID.

Example: VYG:Version:SP-905ec954-abcd-1234-efgh-567890abcdef
status
​string · enum · required

The resulting version status.

Enum values:
DRAFT
PROPOSED
VERSIONED
DEPRECATED
Example: VERSIONED
validFrom
​string · date · required

Start of the validity period.

Example: 2026-03-18
versionNumber
​integer

Version number assigned at publication. Only present for VERSIONED status.

Example: 14
publishedDate
​string · date-time

System-assigned publication timestamp. Only present for VERSIONED status.

Example: 2026-03-18T10:30:00Z
validTo
​string · date

End of the validity period. No specified date means that the validity period has no end-date.

Example: 2026-12-31

List fare products on a sales package

GET
https://api.entur.io/products
/v3/sales-offer-packages/{id}/fare-products

List all fare products currently assigned to a sales package.

List fare products on a sales package › path Parameters

id
​string · pattern: ^([A-Z]{3}):([A-Za-z… · required · style: simple

The netex ID of the element to retrieve

List fare products on a sales package › Headers

ET-Client-Name
​string · style: simple

Entur Client Header. It is required that all consumers identify themselves by using this header. Entur will deploy strict rate-limiting policies on API-consumers who do not identify with a header and reserves the right to block unidentified consumers. The structure of ET-Client-Name should be: <company>-<application>.

X-Correlation-Id
​string · style: simple

Correlation id

List fare products on a sales package › Responses

List of fare products

id
​string · required

NeTEx ID of the fare product.

Example: EXA:SupplementProduct:e006fb5c
productType
​string · enum · required

Type of the fare product.

Enum values:
SUPPLEMENT_PRODUCT
PREASSIGNED_FARE_PRODUCT
Example: SUPPLEMENT_PRODUCT
versionId
​string · pattern: ^([A-Z]{3}):Version:… · required

NeTEx version ID of the fare product.

Example: EXA:Version:FP-4725c71a-abcd-1234-efgh-567890abcdef
​object[]

Did you find what you were looking for?