Sample Feeds

  • "dining-A" requires a $100 deposit for patio reservations, which are refundable if canceled an hour beforehand; indoor seating has no fees or deposit requirements.

  • "dining-B" enforces a $20 per-person no-show fee and mandates a 30-minute advance booking and cancellation window.

  • "dining-C" accepts standard bookings for lunch but requires manager approval for dinner reservations, which must be made at least one hour in advance.

  • "dining-D" offers three prepaid reservation options with varying prices, detailed in the availability feed.

Merchant "dining-A" uses a $100 deposit, with a 1-hour cancellation window, to ensure that their popular patio seating remains full. Their indoor seating doesn't have this fee and does not require a credit card to make a reservation.

Merchant "dining-B" has a $20 per-person no-show fee on all their seating which they can choose to apply. They also require that all bookings and cancellations happen at least 30 minutes beforehand.

Merchant "dining-C" does not work with payments. They accept standard bookings for their lunch block, but require approval by the restaurant manager for booking during the dinner rush. To support this process, they require that all dinner booking be made at least an hour in advance.

Merchant "dining-D" has three prepaid slots. The first slot is $200, the second starts at $100, and the last one is a range of $100 to $150. All prepaid prices are specified in the availability feed.

Merchants

{
  "metadata": {
    "processing_instruction": "PROCESS_AS_COMPLETE",
    "shard_number": 0,
    "total_shards": 1,
    "nonce": "12923311",
    "generation_timestamp": 1530431933
  },
  "merchant": [
    {
      "merchant_id": "dining-A",
      "name": "The Noodle Shop",
      "telephone": "+1 123-456-7890",
      "url": "www.diningAspublicsite.com",
      "tax_rate": {
        "micro_percent": 6750000
      },
      "geo": {
        "latitude": 37.422113,
        "longitude": -122.084041,
        "address": {
          "country": "US",
          "region": "CA",
          "postal_code": "94043",
          "street_address": "1897 Landings Dr",
          "locality": "Mountain View"
        }
      },
      "category": "restaurant"
    },
    {
      "merchant_id": "dining-B",
      "name": "Burrito Express",
      "telephone": "+1 123-456-7890",
      "url": "www.diningBspublicsite.com",
      "tax_rate": {
        "micro_percent": 6750000
      },
      "geo": {
        "latitude": 37.422113,
        "longitude": -122.084041,
        "address": {
          "country": "US",
          "region": "CA",
          "postal_code": "94043",
          "street_address": "1550 Plymouth St",
          "locality": "Mountain View"
        }
      },
      "category": "restaurant"
    },
    {
      "merchant_id": "dining-C",
      "name": "Coffee Café",
      "telephone": "+1 123-456-7854",
      "url": "www.diningCspublicsite.com",
      "geo": {
        "latitude": 37.422113,
        "longitude": -122.084041,
        "address": {
          "country": "US",
          "region": "CA",
          "postal_code": "94043",
          "street_address": "1500 Plymouth St",
          "locality": "Mountain View"
        }
      },
      "category": "restaurant"
    },
    {
      "merchant_id": "dining-D",
      "name": "Restaurant Express",
      "telephone": "+1 123-456-7854",
      "url": "www.diningDspublicsite.com",
      "geo": {
        "latitude": 37.422113,
        "longitude": -122.084041,
        "address": {
          "country": "US",
          "region": "CA",
          "postal_code": "94043",
          "street_address": "1500 Plymouth St",
          "locality": "Mountain View"
        }
      },
      "category": "restaurant"
    }
  ]
}

Services

{
  "metadata": {
    "processing_instruction": "PROCESS_AS_COMPLETE",
    "shard_number": 0,
    "total_shards": 1,
    "nonce": "12484913",
    "generation_timestamp": 1530432018
  },
  "service": [
    {
      "merchant_id": "dining-A",
      "service_id": "reservation",
      "uri_template": {
        "uri_template": "https://reservation-provider.com/examplerestaurant/book?date={availability_slot_start_seconds}&num_guests={resources_party_size}"
      },
      "localized_service_name": {
        "value": "Reservation",
        "localized_value": [
          {
            "locale": "en",
            "value": "Reservation"
          }
        ]
      }
    },
    {
      "merchant_id": "dining-B",
      "service_id": "reservation",
      "uri_template": {
        "uri_template": "https://reservation-provider.com/examplerestaurant/book?date={availability_slot_start_seconds}&num_guests={resources_party_size}"
      },
      "localized_service_name": {
        "value": "Reservation",
        "localized_value": [
          {
            "locale": "en",
            "value": "Reservation"
          }
        ]
      },
      "no_show_fee": {
        "fee": {
          "price_micros": 20000000,
          "currency_code": "USD"
        },
        "fee_type": "PER_PERSON"
      },
      "rules": {
        "min_advance_booking": 1800,
        "min_advance_online_canceling": 1800
      }
    },
    {
      "merchant_id": "dining-C",
      "service_id": "reservation",
      "localized_service_name": {
        "value": "Reservation",
        "localized_value": [
          {
            "locale": "en",
            "value": "Reservation"
          }
        ]
      }
    }
  ]
}

Availability

{
  "metadata": {
    "processing_instruction": "PROCESS_AS_COMPLETE",
    "shard_number": 0,
    "total_shards": 1,
    "nonce": "11203880",
    "generation_timestamp": 1543875200
  },
  "service_availability": [
    {
      "availability": [
        {
          "merchant_id": "dining-A",
          "service_id": "reservation",
          "linkout_required_reason": "PAYMENT_REQUIRED",
          "start_sec": 1535853600,
          "duration_sec": 2700,
          "spots_total": 2,
          "spots_open": 2,
          "resources": {
            "room_id": "A-dining-room",
            "room_name": "Dining Room",
            "party_size": 2
          }
        },
        {
          "merchant_id": "dining-A",
          "service_id": "reservation",
          "linkout_required_reason": "PAYMENT_REQUIRED",
          "start_sec": 1535853600,
          "duration_sec": 1800,
          "spots_total": 2,
          "spots_open": 2,
          "resources": {
            "room_id": "A-patio",
            "room_name": "Patio",
            "party_size": 2
          },
          "deposit": {
            "deposit": {
              "price_micros": 100000000,
              "currency_code": "USD"
            },
            "min_advance_cancellation_sec": 3600
          }
        },
        {
          "merchant_id": "dining-B",
          "service_id": "reservation",
          "linkout_required_reason": "PAYMENT_REQUIRED",
          "start_sec": 1535853600,
          "duration_sec": 1800,
          "spots_total": 2,
          "spots_open": 2,
          "resources": {
            "party_size": 2
          }
        },
        {
          "merchant_id": "dining-B",
          "service_id": "reservation",
          "linkout_required_reason": "PAYMENT_REQUIRED",
          "start_sec": 1535853600,
          "duration_sec": 1800,
          "spots_total": 2,
          "spots_open": 2,
          "resources": {
            "party_size": 4
          }
        },
        {
          "merchant_id": "dining-C",
          "service_id": "reservation",
          "start_sec": 1535853600,
          "duration_sec": 1800,
          "spots_total": 2,
          "spots_open": 2,
          "resources": {
            "party_size": 2
          }
        },
        {
          "merchant_id": "dining-C",
          "service_id": "reservation",
          "start_sec": 1535855400,
          "duration_sec": 1800,
          "spots_total": 2,
          "spots_open": 2,
          "resources": {
            "party_size": 2
          },
          "scheduling_rule_overrides": {
            "last_bookable_sec": 1535851800
          }
        },
        {
          "merchant_id": "dining-D",
          "service_id": "reservation",
          "start_sec": 1535855600,
          "duration_sec": 1800,
          "spots_total": 2,
          "spots_open": 2,
          "resources": {
            "room_id": "Main",
            "room_name": "Main",
            "party_size": 2
          },
          "prepayment": {
            "price_info": {
              "price_type": "PER_PERSON",
              "price": {
                "price_micros": 200000000,
                "currency_code": "USD"
              }
            }
          }
        },
        {
          "merchant_id": "dining-D",
          "service_id": "reservation",
          "linkout_required_reason": "PAYMENT_REQUIRED",
          "start_sec": 1535855800,
          "duration_sec": 1800,
          "spots_total": 2,
          "spots_open": 2,
          "resources": {
            "room_id": "vegan_five_course",
            "room_name": "Vegan Five Course Meal",
            "party_size": 2
          },
          "prepayment": {
            "price_info": {
              "price_type": "PER_PERSON",
              "price_range": {
                "min_price": {
                  "price_micros": 100000000,
                  "currency_code": "USD"
                }
              }
            }
          }
        },
        {
          "merchant_id": "dining-D",
          "service_id": "reservation",
          "linkout_required_reason": "PAYMENT_REQUIRED",
          "start_sec": 1535855800,
          "duration_sec": 1800,
          "spots_total": 2,
          "spots_open": 2,
          "resources": {
            "room_id": "Main",
            "room_name": "Main",
            "party_size": 2
          },
          "prepayment": {
            "price_info": {
              "price_type": "PER_PERSON",
              "price_range": {
                "min_price": {
                  "price_micros": 100000000,
                  "currency_code": "USD"
                },
                "max_price": {
                  "price_micros": 150000000,
                  "currency_code": "USD"
                }
              }
            }
          }
        }
      ]
    }
  ]
}