# Corporate partners

**Learn how to define the required payment data when creating an order, allowing business travellers to pay either online or at the property using an authorisation form.**

## Is this for you?

This use case is for *Corporate partners* who make bookings on behalf of their employees (business travellers) and make a booking for a business trip. Payments are either offline or online via different methods.

| Partner type |  |  Payment methods |
|  --- | --- | --- |
| ![business trip](/assets/businesstrip2.7dcfba191c07494b94d6a448e640bd3ec94bda2051f87fb31df5c6b1fed51916.fe580a34.svg) | ![houseIcon](/assets/house.dc7d7e8cfaeaa5cfa90114b43a034610e593d2dd72ca75b6ba27e5508fcbb72d.9c1bb791.svg) **Pay at property** + authorisation form[1](#myfootnote1) | ✓ [Virtual credit card (VCC) + payment instructions](/demand/docs/payments/payments-examples3#paying-at-the-property-with-authorisation-form)✓ [AirPlus VCC + payment instructions](/demand/docs/payments/payments-examples3#using-airplus-vcc) |
|  | ![onlinepay](/assets/monetization-tablet.f9f01f530881c3f3631756e4d81fb8eb796e2ac99a4424ab5cfdcea57d66b5f8.9c1bb791.svg) **Online payments** | ✓ [AirPlus VCC integration](/demand/docs/payments/payments-examples3#airplus-vcc-for-online-payments)✓ [Virtual credit card (VCC)](/demand/docs/payments/payments-examples3#paying-online-with-vcc)✓ [Credit card + MOTO](/demand/docs/payments/payments-examples3#using-credit-card--moto) |


1 *VCC authorisation form is sent to the property instructing not to charge the traveller as is a business trip and, is issued per each reservation. See all details in [payment methods](/demand/docs/payments/payments-methods#payment-instructions) section.*

The following sections show, for each payment method and scenario:

* The data that the [/orders/preview](/demand/docs/open-api/demand-api/orders/orders/preview) response must contain.
* How to define the payment object in your [/orders/create](/demand/docs/open-api/demand-api/orders/orders/create) request to use your payment option.


Follow these instructions and recommendations to create the payment data needed for your request.

## 1. Check payment timing and available methods

→ Call [/accommodations/details](/demand/docs/open-api/demand-api/accommodations/accommodations/details) before creating your order, so you can check the available payment methods for the selected accommodation.

Example to check available payment methods:

/accommodations/details request

```json
{
  "accommodations": [10004],
  "extras": ["payment"],
  "languages": ["en-gb"]
}
```

/accommodations/details response

```json
{
  "payment": {
    "methods": {
      "cards": [1, 2, 3, 5, 7, 10],         // Accepted card types (IDs)
      "cash": false,                        // Whether cash payments are accepted
      "virtual_cards": [1, 2, 3]            // Accepted virtual card types (IDs)
    },
    "timings": [
      "pay_at_the_property",                // Payment on arrival
      "pay_online_later",                   // Deferred online payment
      "pay_online_now"                      // Immediate online payment
    ]
  }
}
```

Refer to the [Accommodation Quick guide - Step 2](/demand/docs/accommodations/accommodation-quick-guide#2.-get-accommodation-details) for more information on /accommodations/details requests.

### Recommendation when using VCC

Check the type of Virtual credit card that is accepted by the property, in the output field `payment.methods.virtual_cards`.

Important
* Only card ID 1, 2 and 3 is supported for VCC - Use the [common/payments/cards](/demand/docs/open-api/demand-api/commonpayments/common/payments/cards) endpoint to know which cards are identified with these values.
* If you use a VCC that is not type 1, 2 or 3, it won't be accepted even if it is in /orders/preview response.


## 2. Create your request

The examples provided illustrate different scenarios your application could support, showing how to specify the `payment` structure in your /orders/create request.

### Using your own VCC

*Corporate partners* can generate or obtain their own Virtual credit cards (VCC) and use them for offline payments together with payment instructions, for authorisation, or use them for online payments.

#### Pre-requisites

| Checklist |
|  --- |
| ☑ | You have a Virtual credit card provider/ Payment Service Provider (PSP). |
| ☑ | Demand API version must be updated to version 2.9 to use Virtual credit cards + Payment timings. |


#### a) Paying at the property with authorisation form

![drawing](/assets/example-business-traveller-4.e2724ae026d189053cc20a5e9a90fe70a14695153e49dd9eb0b24a8ad7254e94.fe580a34.png)

1. Generate a Virtual credit card (VCC) through your Payment Service Provider (PSP).
2. Forward the Virtual credit card (VCC) and payment instructions via our API to Booking.com.
3. Booking.com sends an [authorisation form](/demand/docs/payments/payments-methods#payment-instructions) with this information to the property, allowing them to charge the VCC  when the business traveller checks in.


/orders/preview response
→ Call [/orders/preview](/demand/docs/open-api/demand-api/orders/orders/preview) to view final details of accommodation and products including when and how the payment can be made.

Refer to the [Payments quick guide](/demand/docs/payments/how-to) for examples of orders/preview responses and initial instructions.

The response must contain the `general_policies.payment.pay_at_the_property` field, with this data:


```json
{
  "accommodation": {
    "general_policies": {
      "payment": {
        "pay_at_the_property": {
          "method_required": true,
          "dates": [
            {
              "at": "2025-10-18", // This is the booking date. Is always 0 for pay_at_the_property timing (as the payment will be made at checkin date)
              "price": {
                "accommodation_currency": 0.00,
                "booker_currency": 0.00
              }
            },
            {
              "at": "2025-12-22",// This is the checkin date for the booking.
              "price": {
                "accommodation_currency": 205.78, // The amount that the property must charge to your provided VCC at checkin date. 
                "booker_currency": 0.00
              }
            }
          ],
          "methods": {
            "cards": [1, 2, 3] // The IDs of payment cards that can be used to pay for your booking. You must be able to generate/obtain a VCC for one of these cards. 
          }
        }
      }
    }
  }
}
```

This response shows that:

* You can only use the `pay_at_the_property` option to pay for the booking.
* The `method_required` must be `true`
* `Dates`: Contain two payment schedule items, showing how and when the total price of the booking must be paid.


/orders/create request
→ Call [/orders/create](/demand/docs/open-api/demand-api/orders/orders/create) and specify the following information in the payment object:


```json
{
  "payment": {
    "business_information": { 
      "authorisation_form": {
        "chargeable_items": ["breakfast", "food_beverage", "internet"]
      },
      "billing": {
        "address": {
          "address_line": "Road-1, house-2",
          "city": "Amsterdam",
          "country": "nl",
          "post_code": "12345"
        },
        "email": "test.name@example.com",
        "vat": "12345"
      },
      "company": "xxxxxxxx"
    },
    "card": {
      "cardholder": "xxxx",
      "cvc": 123,
      "expiry_date": "2030-10",
      "number": "1234123412341234"
    },
    "method": "card",
    "timing": "pay_at_the_property"
  }
}
```

* `business_information`: Must contain the necessary business related information for billing, and for the authorisation form that will be sent to the property.
  * `authorisation_form`:
    * Any sort of information that is relevant to reassure the property that even though the guest is not carrying a plastic credit card, the reservation is guaranteed by a virtual credit card backed by the company.
    * Once the authorisation form is created together with the booking, a link to the authorisation form will be generated as part of the response.
This is a mandatory field for this sort of payments as they require an authorisation form.
* `Card`:
  * `authentication`: Do not define any authentication method as this is a pay_at_the_property payment.
  * `cardholder`, `cvc`, `expiry_date`, number: Must contain the details of a valid payment card that can be used to secure the booking (as per the list returned in `methods.cards` in the previous step, in the /orders/preview response).
* `method`: Must be "card".
* `timing`: Must be "pay_at_the_property".


For this case do not use the `airplus` or `include_receipt` fields.

#### b) Paying online with VCC

For online payments, *Corporate partners* can use Virtual credit cards generated by any VCC provider.

##### The flow

* You pay Booking.com with your Virtual credit card (VCC).
* Booking.com charges your VCC and pays the property.


Refer to [VCC method use case](/demand/docs/payments/payments-examples#create-your-order---virtual-credit-card-vcc) for the full description.

### Using AirPlus VCC

Our Demand API is integrated with AirPlus, which is a VCC external provider, so those *Corporate partners* who cannot or do not want to generate VCC themselves, can use AirPlus instead.

By using AirPlus as your virtual credit card provider, you can pay for business travel bookings by using a **12-digit AirPlus number** instead of full details of a virtual credit card, allowing for an efficient and secure booking process.

You can use AirPlus VCC for both offline (together with payment instructions) and online payments.

#### Pre-requisites

| Checklist |
|  --- |
| ☑ | Your partner agreement authorises you to use Virtual credit card. |
| ☑ | You have a 12-digit AirPlus number. |
| ☑ | Demand API version must be updated to version 2.9 to use Virtual credit cards + Payment timings. |


#### a) Paying at the property with authorisation form

![drawing](/assets/offpayairplus.f614aeeb88b5b3e75b868b1ce45cc15b65feeb3f8e7d8a06d81dd883cad4d937.fe580a34.png)

* You forward a AirPlus Virtual credit card (VCC) + details of what charges are allowed (payment instructions) and authorisation details to Booking.com via our API.
* Booking.com sends an authorisation form with AirPlus VCC details to the property, so that it can charge the VCC as authorised appropriately when the business traveller stays.
This option is only available if you are an AirPlus customer and have a 12-digit AirPlus number. If you are using an AirPlus VCC directly (not via the integration), see [cards method](/demand/docs/payments/payments-methods/#cards) instead.


/orders/preview response
→ Call [/orders/preview](/demand/docs/open-api/demand-api/orders/orders/preview) to see the final details of the accommodation and products including when and how the payment can be made.

You can see all payment-related details in the `general_policies.payment.pay_at_the_property` field provided in the response. Example:


```json
{
"accommodation": {
  "general_policies": {
    "payment": {
      "pay_at_the_property": {
        "method_required": true,
        "dates": [
          {
            "at": "2025-10-18", // This is the booking date. Is always 0 for pay_at_the_property timing (as the payment will be made at checkin date)
            "price": {
              "accommodation_currency": 0.00,
              "booker_currency": 0.00
            }
          },
          {
            "at": "2025-12-22", // This is the checkin date for the booking.
            "price": {
              "accommodation_currency": 205.78, // The amount that the property must charge to your provided VCC at checkin date. 
              "booker_currency": 0.00
            }
          }
        ],
        "methods": {
          "cards": [1, 2, 3] // The IDs of payment cards that can be used to pay for your booking. You must be able to generate/obtain a VCC for one of these cards. 
        }
      }
    }
  }
}
}
```

This response shows that, for the selected property and product, with your authorised payment features:

* You can only use the `pay_at_the_property` option to pay for the booking.
* The `method_required` must be `true`
* `Dates`: Contain two payment schedule items, showing how and when the total price of the booking must be paid.
* The `pay_at_the_property.methods.airplus`: Must be true.


/orders/create request
→ Call [/orders/create](/demand/docs/open-api/demand-api/orders/orders/create) and specify the following information in the payment object:


```json
{
  "payment": {
    "airplus": {
      "dbi": { // Descriptive Billing Information. When using AirPlus as a payment method, you can optionally supply additional fields here such as accounting_code or accounting_unit. 
      },
      "number": "123456789012"
    },
    "business_information": {
      "authorisation_form": {
        "chargeable_items": ["breakfast", "food_beverage", "internet"]
      },
      "billing": {
        "address": {
          "address_line": "Road-1, house-2",
          "city": "Amsterdam",
          "country": "nl",
          "post_code": "12345"
        },
        "email": "test.name@example.com",
        "vat": "12345"
      },
      "company": "xxxxxxxx"
    },
    "card": {
      "cardholder": "",
      "cvc": null,
      "expiry_date": "",
      "number": ""
    },
    "method": "airplus",
    "timing": "pay_at_the_property"
  }
}
```

- `airplus.number`: Include the 12-digit AirPlus number. This is mandatory for this sort of payments using AirPlus as the VCC provider.
- `business_information`: Must contain the necessary business related information for billing (payment instructions), and for the authorisation form that will be sent to the property.
  - `authorisation_form`:
    - Any sort of information that is relevant to reassure the property that even though the guest is not carrying a credit card, the reservation is guaranteed by a virtual credit card backed by the company.
    - Once the authorisation form is created together with the booking, a link to the authorisation form will be generated as part of the response.
This is mandatory for this sort of payment as they require an authorisation form.
- `method`: Must be "airplus".
- `timing`: Must be "pay_at_the_property".


Do not use the `card` field.

#### b) AirPlus VCC for online payments

If you are a *Corporate Partner* using AirPlus VCC and want to make online payments on behalf of your business travellers, then this use case is for you.

![drawing](/assets/airplusvccpayment.1bea977156f5976fffc810f026063c42ea8f0ac5f78002d04a9cb0c652718425.fe580a34.png)

* The traveller pays via the method offered on your platform.
* You pay for the booking via AirPlus Virtual credit card (VCC).
* Booking.com charges your Virtual credit card and pays the property.


/orders/preview response
→ Call [/orders/preview](/demand/docs/open-api/demand-api/orders/orders/preview) to see the final details of the accommodation and products including when and how the payment can be made.

In this example, for the selected property and product, a partner that is entitled to pay online now using AirPlus VCC, would find these options after calling the /orders/preview endpoint:


```json
{
  "accommodation": {
    "general_policies": {
      "payment": {
        "pay_online_now": {
          "method_required": true,
          "dates": [
            {
              "at": "2025-10-18", // This is the booking date.
              "price": {
                "accommodation_currency": 0.00,
                "booker_currency": 205.78 // The amount that the property must charge to the AirPlus VCC at booking date.  This is the total price of the booking excluding extra charges (if any).
              }
            },
            {
              "at": "2025-12-22",
              "price": {
                "accommodation_currency": 0.00,
                "booker_currency": 0.00 // The amount that the property must charge at checkin, if any extra charges apply.
              }
            }
          ],
          "methods": {
            "airplus": true
          }
        }
      }
    }
  }
}
```

* You can only use the `pay_online_now` option to pay for the booking.
* The `method_required` must be `true`
* `Dates`: Contain two payment schedule items, showing how and when the total price of the booking must be paid:
* The `pay_at_the_property.methods.airplus`: Must be true.


/orders/create request
→ Call [/orders/create](/demand/docs/open-api/demand-api/orders/orders/create) and specify the following information in the payment object:


```json
  {
    "booker" : {
        "company" : "***",
            "address" : {
            "address_line" : "via2",
            "post_code" : "vxyz",
            "country" : "it",
            "city" : "citta2"
      },
      "telephone" : "***",
      "name" : {
      "first_name" : "Mario",
      "last_name" : "Rossi"
    },
    "email" : "pink@opall.in"
  },
  "order_token": "eyJhbGciOiJIUzI1NiJ9.eyJwIjp7ImFjY29tbW9kYXRpb24iOnsiaWQiOjkwNDUwLCJjaGVja2luIjoiMjAyNS0wMi0xMyIsImNoZWNrb3V0IjoiMjAyNS0wMi0xNCIsImN1cnJlbmN5IjoiRVVSIiwicHJvZHVjdHMiOlt7ImlkIjoiOTA0NTAwM18xOTg1MTIwMTNfMF8yXzAiLCJhbGxvY2F0aW9uIjp7ImNoaWxkcmVuIjpbXSwibnVtYmVyX29mX2FkdWx0cyI6Mn0sInRvdGFsX3ByaWNlIjoxMzQuMzJ9LHsiaWQiOiI5MDQ1MDAzXzE5ODUxMjAxM18wXzJfMCIsImFsbG9jYXRpb24iOnsiY2hpbGRyZW4iOltdLCJudW1iZXJfb2ZfYWR1bHRzIjoyfSwidG90YWxfcHJpY2UiOjEzNC4zMn0seyJpZCI6IjkwNDUwMDNfMTk4NTEyMDEzXzBfMl8wIiwiYWxsb2NhdGlvbiI6eyJjaGlsZHJlbiI6W10sIm51bWJlcl9vZl9hZHVsdHMiOjJ9LCJ0b3RhbF9wcmljZSI6MTM0LjMyfV19LCJib29rZXIiOnsiY291bnRyeSI6ImVzIiwicGxhdGZvcm0iOiJkZXNrdG9wIn0sImJvb2tlcl9jdXJyZW5jeSI6IkVVUiJ9LCJhdWQiOiIvb3JkZXJzL2NyZWF0ZSIsImV4cCI6MTcyNTg4NDA5NH0.YbQ0wtNM54RnOsX4DsOBO0aITbckW1Rf5ty9cMD6_5s",
    "payment" : {
        "include_receipt" : false,
        "airplus" : {"number":152099999017},
        "business_information" : {
          "company" : "***",
          "billing" : {
          "address" : {
          "address_line" : "via",
          "country" : "it",
          "post_code" : "xyz",
          "city" : "citta"
        },
  },
  "timing" : "pay_online_now",
  "method" : "airplus"
  },
```

* `airplus.number`: Include the 12-digit AirPlus number. This is mandatory for this sort of payment using AirPlus as the VCC provider.
* `method`: Must be "airplus".
* `timing`: Must be "pay_online_now".


Do not use the `card` neither `business_information` fields.

### Using Credit card + MOTO

The Mail/telephone order (MOTO) is an Online payment method that we offer to *Corporate partners* so they can book prepaid rates by classifying their offline bookings as MOTO transactions in our Demand API.

#### Pre-requisites

| 
| Checklist |
| ☑ | You can only use this option if your partner agreement with Booking.com allows it. |


#### The flow

* The traveller decides to order reservation by email or telephone.
* You flag the transaction as a "MOTO" via our API along with traveller`s credit card information.
* Booking.com charges the traveller credit card and pays the property.


#### Create your order request

→ Call [/orders/create](/demand/docs/open-api/demand-api/orders/orders/create) and specify the following information in the `payment.card.authentication` field:


```json
{
  "payment": {
    "card": {
      "authentication": {
        "sca_exemption": "moto"
      },
      "cardholder": "xxxx",
      "cvc": 123,
      "expiry_date": "2030-10",
      "number": "1234123412341234"
    }
  }
}
```

* `business_information`: Must contain the necessary business related information for billing, and for the authorisation form that will be sent to the property. This is mandatory for this sort of payments.
* `Card`
  * `authentication`: Define the appropriate authentication method for the card that is being used to secure the booking, In this case is Credit Card with MOTO (SCA exempted) hence set the `payment.card.sca_excemption` to "moto".
  * `cardholder`, `cvc`, `expiry_date`: Must contain the details of a valid payment card that can be used to secure the booking (as per the list returned in `methods.cards` in the /orders/preview response).


- `method`: Must be "card".
- `timing`: Must be "pay_online_now".


For this case do not use the `riskified` or `3d_secure` fields.

Curious to know more?
* Learn more about all [Payment methods](/demand/docs/payments/payments-methods#credit-cards).
* For detailed instructions on Virtual credit card transactions, refer to [VCC method use case](/demand/docs/payments/payments-examples#create-your-order---virtual-credit-card-vcc).
* Check the [Orders section](/demand/docs/orders-api/order-preview-create) for more tips and examples on how to preview and create your order requests.
* Use the [common/payments/cards](/demand/docs/open-api/demand-api/commonpayments/common/payments/cards) endpoint to understand the card IDs retrieved in your response.