Skip to main content

Integration Endpoint (AIR / Travel Card import)

Booking data reaches Business Central through an external integration service that pushes AIR files and travel card transactions into the import tables via OData web services. Every new environment needs two things before the integration works: the Entra application must be registered in the environment, and the web services must be published. Neither happens by itself when the environment is created.

Silent failures

If either step is missing, the integration's requests fail with Authentication_InvalidCredentials (Entra app missing) or NotFound (web services missing). Depending on the integration service's error handling these can be easy to miss — always run the verification steps below after setting up a new environment.

1. Register the Entra application​

In Business Central, search for Microsoft Entra Applications and create an entry for the integration application:

  1. Client ID — the application (client) ID of the integration's Entra app registration (from the party operating the integration service).
  2. State = Enabled.
  3. Grant the application user both permission sets:
    • D365 FULL ACCESS
    • TBC (51300) — required for the extension's own objects; D365 FULL ACCESS alone is not enough for the 51300-series tables.

This must be repeated per environment (each sandbox and production environment has its own registration list).

2. Web services​

From the version that includes webservices.xml, all integration web services are published automatically when the extension is installed — no manual step. The services exposed under /ODataV4/:

PageService Name
51900AirImportHeader
51902AirFlight
51903AirPassenger
51904AirFare
51905AirTax
51906AirHotel
51907AirCarRental
51908AirGroundTransport
51909AirHotelRate
51910AirRemarks
51911AirImportLog
51912AirAncillaryService
51913TravelCardTransaction
51914TravelCardTransLine
51916TravelCardPassenger
51917TravelCardFlight
51919TravelCardStatusUpdate
51920TravelCardValidationError

The service names are consumed case-sensitively by the integration service — never rename them. On an environment running an older version of the app, publish the same list manually on the Web Services page (Object Type = Page, exact names as above, Published = Yes).

3. Verify​

  1. GET https://api.businesscentral.dynamics.com/v2.0/{tenant}/{environment}/ODataV4/ — the service document must list all Air* and TravelCard* services above.
  2. GET .../ODataV4/Company with the integration app's client credentials — must return the company list (proves both the Entra registration and the permission sets).