Skip to main content

Introduction

The OTS FlatFile is developed to allow customers to store a limited set of prices and availability without any calculation logic. As portfolio is client-specific and client-specific, marketing actions, guarantees, etc. need to be considered, the OTS FlatFile can only be used for the ClientID it has been generated for. It is meant as an immediately searchable cache file. Three versions available:
  • Version 1: Without RatePlans.
  • Version 2: Accommodates RatePlans.
  • Version 3: Extended RoomCodes (30 chars) and RateplanCodes (20 chars).
The file format provides for all hotels in the client portfolio, all rooms and boards available, end-prices for all arrival dates, all occupancies, and all possible length of stays up to 28 days. This results in an extreme volume of data. Example calculation:
  • 5,000 hotels
  • Average 3 room types
  • Average 3 boards
  • Lengths of stay: 25 (3–28)
  • Arrival days: 330 (not all hotels have a valid contract for a full year)
  • Adults: 1–3 (2.6 used for calculation)
  • Children: 1 of 5 years old (1.7 used for calculation)
This can result in over 1.6 billion lines per delivery if all hotels have availability for all arrival dates.
FlatFile is not suitable for systems that must produce search results for any occupancy or child age outside the agreed parameters. For more flexibility, use the Notification based model.
Before installation, limitations are agreed with the client to limit data size and focus on relevant concepts. For example, only certain lengths of stay or occupancies may be included.

FlatFile Schedule Parameters

ParameterValueDescription
JobNameNOTIFY_OTSFF_CLIENTID
ClientTESTClientID
Version01 or 02 or 0301: no RatePlans, 02: Roomcode 20 chars + RatePlan 10 chars, 03: RoomCode 35 chars + RatePlan 20 chars
StartDateToday+1First arrival date included
EndDateToday+200Last arrival date included (max 365)
FtpActiveTRUESend by FTP active
FtpServersftp.axisdata.netFTP for delivery
FtpDir/FTP directory for delivery
MinAdt2Start range of Adults to be included
MaxAdt2End range of Adults to be included
MinChd0Start range of Children to be included
MaxChd0End range of Children to be included
ChdAge5Age used to compute the price of children
MaxAdtChd4Max number of pax (Max=6)
CheapestRoomBoardTRUE/FALSEOnly the cheapest room/board per hotel, or all room/board per occupancy
CheapestRoomTRUE/FALSEOnly the cheapest room per hotel (all boards)
CheapestBoardTRUE/FALSEOnly the cheapest board per hotel (all rooms)
SpecificBoardsSC, RO, AI, AI+Only generate lines for these boards
Durations3,4,7,10,13,14,15,21Lengths of stays included (max 10)
OffersSpecifiedTrue/FalseAdds 5 chars to each line to identify offers applied
StatusEmail[email protected]Email notification upon finishing

FlatFile Structure

V03 (RatePlan + Multicontracting)

Field NumberFieldLengthFrom PosTo PosTypeMandatory
01Version number212INTY
02Action133CHARY
03Offer Number10413CHARY
04Hotel code171430CHARY
05Room code353165CHARY
06RatePlan code206685
07Board code38688CHARY
08Arrival date108998DATEY
09Length of stay299100INTY
10Occupancy total1101101INTY
11Occupancy ADT1102102INTY
12ADT1 age2103104INTN
13ADT2 age2105106INTN
14ADT3 age2107108INTN
15ADT4 age2109110INTN
16Occupancy CHD1111111INTY
17CHD1 age2112113INTN
18Occupancy INF1114114INTY
19INF age1115115INTN
20Price12116127CURRY
21Currency3128130CHARY
22Remaining rooms2131132INTY
23Offers applied5133137CHARN

V02 (RatePlan 10 chars, Room code 20 chars)

Field NumberFieldLengthFrom PosTo PosTypeMandatory
01Version number212INTY
02Action133CHARY
03Offer Number10413CHARY
04Hotel code171430CHARY
05Room code203150CHARY
06RatePlan code105160
07Board code36163CHARY
08Arrival date106473DATEY
09Length of stay27475INTY
10Occupancy total17676INTY
11Occupancy ADT17777INTY
12ADT1 age27879INTN
13ADT2 age28081INTN
14ADT3 age28283INTN
15ADT4 age28485INTN
16Occupancy CHD18686INTY
17CHD1 age28788INTN
18Occupancy INF18989INTY
19INF age19090INTN
20Price1291102CURRY
21Currency3103105CHARY
22Remaining rooms2106107INTY
23Offers applied5108112CHARN

V01 (No RatePlan, Room code 10 chars)

Field NumberFieldLengthFrom PosTo PosTypeMandatory
01Version number212INTY
02Action133CHARY
03Offer Number10413CHARY
04Hotel code171430CHARY
05Room code103140CHARY
06Board code34143CHARY
07Arrival date104453DATEY
08Length of stay25455INTY
09Occupancy total15656INTY
10Occupancy ADT15757INTY
11ADT1 age25859INTN
12ADT2 age26061INTN
13ADT3 age26263INTN
14ADT4 age26465INTN
15Occupancy CHD16666INTY
16CHD1 age26768INTN
17Occupancy INF16969INTY
18INF age17070INTN
19Price127182CURRY
20Currency38385CHARY
21Remaining rooms28687INTY
22Offers applied58892CHARN

FlatFile Details

  • Version number: Current version is 03. Older versions available for backward compatibility.
  • Record format / Action:
    • I: insert
    • U: update (partial)
    • D: delete
    • F: full update (replace)
  • PriceLine number: Unique per provider.
  • Hotel code: 17 chars, may have empty spaces for shorter codes.
  • Room code: Assembled from room characteristics (type, grade, view, etc.).
  • RatePlan code: Assembled from RatePlan characteristics (type, group, refundability, etc.).
  • Board code: Defines meal plans (e.g., Half Board, All Inclusive).
  • Arrival date: yyyy-mm-dd
  • Length of stay: 2 chars, e.g., 08 for 8 nights.
  • Occupancy: Total, adults, children, infants, with ages.
  • Price: Currency, right-aligned, 2 decimals.
  • Remaining rooms: Number of free hotel units at the time the PriceLine was produced.
  • Offers applied: Specification of offers applied in this PriceLine.

Offer Codes Table

Check our codes -> Price Breakdown Codes

Examples

When developing the FlatFile, always request an example file generated with your parameters from our INT environment to test the full flow, including making Quotes to test price consistency.

Generation Report via Email

Clients can receive daily generation emails with a list of hotels included in the generation. The email contains:
  • Type of generation
  • Status (Success/Error)
  • Additional info/Errorcode
  • Parameters (Client, Stock group, Boards, Dates, Durations, Min/Max adt/chd, Max pax, Chd age, Offers version, Search type, Offers specified)
  • FTP Transfer Details (Server type, Host, Username, Output filename, File size, Transfer times and speeds)
  • Operation Details (Threads, Parts, Compression, Download/Processing/Generation times and speeds)
  • Report (Searched stocks, Emitted stocks, Emitted datasets)

For any implementation, coordinate with Axis Data to define the exact FlatFile parameters and structure for your use case.