Skip to main content
The <booking> element carries a reservation, a modification, or a cancellation from your platform to D-EDGE. The same structure serves both booking interfaces: it is what your endpoint returns inside <bookings> on Get bookings, and what your system sends on Push bookings. Three invariants keep a booking integrable, whatever the channel:
  • Amounts add up: totalAmount equals the sum of all nights (unitPrice × quantity) plus extras, taxes included.
  • Stay dates are constant: every room of a booking covers the same dates, and the stay is contiguous.
  • People are counted: one main customer with at least a first and last name (except on a cancellation), and one guest element per person in each room, each carrying an ageRange, named or not.

Structure

element
required
One booking.

Extra price formulas

The total price of an extra follows its pricingType, and the guest count in the formula depends on where the extra sits: At room level, the guest count is the number of guest elements in the room. At booking level, it is the booking’s paxCount. In the room-level example above, the total checks out as 150 (three nights at 50) + 48 (minibar: 16 × 1 × 3 nights) + 51 (breakfast: 8.50 × 2 × 1 guest × 3 nights) = 249.00. Provide one extra element per extra type (extraCode), and remember the invariant: every extra amount counts towards totalAmount.

Card data

When your platform sends card details, D-EDGE routes the booking flow through its PCI environment before a booking reaches the rest of the platform. Tell your D-EDGE Connectivity Project Manager that your bookings carry cards. The routing is set up per connection, and D-EDGE raises a security alert when card numbers reach a connection without it. The routing covers the booking flow only: Two things happen to a booking on the way in. The card number is replaced by a token, and the verification code is replaced by 000. Both replacements happen before the booking enters the D-EDGE platform, so the platform itself never holds the card. D-EDGE keeps the real card in its PCI vault, from which it is read or passed on to the right people and systems under strict rules. The detection runs over the whole message, not only creditCard. A card number or a verification code (CVV, CVC) found in any other element or attribute, such as a free-text comment, is treated as card data and replaced where it sits. The detection works on the shape of a value, so data that only looks like card data is replaced too. Keep these values out of every element other than creditCard:
  • A number of 12 to 19 digits that starts like a card number, such as 4 (Visa), 51–55 (Mastercard), or 34 and 37 (American Express).
  • A value that starts with CVV or CVC.
Send the card in creditCard all the same: it is where D-EDGE reads it. You never see a token. D-EDGE returns no booking to you on this API, so the replacements stay on the D-EDGE side of the flow.