diff --git a/modules/commerce_cart_blocks/commerce_cart_blocks.module b/modules/commerce_cart_blocks/commerce_cart_blocks.module
index ee88e8d..2db2cd7 100644
--- a/modules/commerce_cart_blocks/commerce_cart_blocks.module
+++ b/modules/commerce_cart_blocks/commerce_cart_blocks.module
@@ -63,6 +63,24 @@ function commerce_cart_blocks_form_commerce_order_type_form_alter(&$form, FormSt
     ],
   ];
 
+  $form['commerce_cart_blocks']['commerce_cart_blocks_add_checkout'] = [
+    '#type' => 'checkbox',
+    '#title' => t('Show Checkout link in modal'),
+    '#default_value' => $order_type->getThirdPartySetting('commerce_cart_blocks', 'commerce_cart_blocks_add_checkout', TRUE),
+    '#states' => [
+      'visible' => [':input[name="commerce_cart_blocks[commerce_cart_blocks_ajax]"]' => ['checked' => TRUE]]
+    ],
+  ];
+
+  $form['commerce_cart_blocks']['commerce_cart_blocks_add_cart'] = [
+    '#type' => 'checkbox',
+    '#title' => t('Show View Cart link in modal'),
+    '#default_value' => $order_type->getThirdPartySetting('commerce_cart_blocks', 'commerce_cart_blocks_add_cart', TRUE),
+    '#states' => [
+      'visible' => [':input[name="commerce_cart_blocks[commerce_cart_blocks_ajax]"]' => ['checked' => TRUE]]
+    ],
+  ];
+
   $form['commerce_cart_blocks']['commerce_cart_blocks_ajax_modal_title'] = [
     '#type' => 'textfield',
     '#title' => 'Title of the cart modal',
@@ -72,6 +90,16 @@ function commerce_cart_blocks_form_commerce_order_type_form_alter(&$form, FormSt
     ],
   ];
 
+  $form['commerce_cart_blocks']['commerce_cart_blocks_append_block_id'] = [
+    '#type' => 'textfield',
+    '#title' => t('Block id to append cart to block'),
+    '#description' => t('Enter the block id the cart block immediately follows to append when entering the first cart item.'),
+    '#default_value' => $order_type->getThirdPartySetting('commerce_cart_blocks', 'commerce_cart_blocks_append_block_id', ''),
+    '#states' => [
+      'visible' => [':input[name="commerce_cart_blocks[commerce_cart_blocks_ajax]"]' => ['checked' => TRUE]]
+    ],
+  ];
+
   $form['actions']['submit']['#submit'][] = 'commerce_cart_blocks_order_type_form_submit';
 }
 
@@ -90,7 +118,10 @@ function commerce_cart_blocks_order_type_form_submit($form, FormStateInterface $
   $order_type
     ->setThirdPartySetting('commerce_cart_blocks', 'commerce_cart_blocks_ajax', $settings['commerce_cart_blocks_ajax'])
     ->setThirdPartySetting('commerce_cart_blocks', 'commerce_cart_blocks_ajax_modal', $settings['commerce_cart_blocks_ajax_modal'])
+    ->setThirdPartySetting('commerce_cart_blocks', 'commerce_cart_blocks_add_checkout', $settings['commerce_cart_blocks_add_checkout'])
+    ->setThirdPartySetting('commerce_cart_blocks', 'commerce_cart_blocks_add_cart', $settings['commerce_cart_blocks_add_cart'])
     ->setThirdPartySetting('commerce_cart_blocks', 'commerce_cart_blocks_ajax_modal_title', $settings['commerce_cart_blocks_ajax_modal_title'])
+    ->setThirdPartySetting('commerce_cart_blocks', 'commerce_cart_blocks_append_block_id', $settings['commerce_cart_blocks_append_block_id'])
     ->save();
 }
 
@@ -117,7 +148,10 @@ function commerce_cart_blocks_ajax_settings(\Drupal\Core\Entity\EntityInterface
   return [
     'enabled' => $order_type->getThirdPartySetting('commerce_cart_blocks', 'commerce_cart_blocks_ajax', FALSE),
     'modal_enabled' => $order_type->getThirdPartySetting('commerce_cart_blocks', 'commerce_cart_blocks_ajax_modal', TRUE),
+    'checkout' => $order_type->getThirdPartySetting('commerce_cart_blocks', 'commerce_cart_blocks_add_checkout', FALSE),
+    'cart' => $order_type->getThirdPartySetting('commerce_cart_blocks', 'commerce_cart_blocks_add_cart', FALSE),
     'modal_title' => $order_type->getThirdPartySetting('commerce_cart_blocks', 'commerce_cart_blocks_ajax_modal_title', 'Cart'),
+    'append_block_id' => $order_type->getThirdPartySetting('commerce_cart_blocks', 'commerce_cart_blocks_append_block_id', ''),
   ];
 }
 
@@ -188,9 +222,42 @@ function commerce_cart_blocks_ajax_callback(array $form, FormStateInterface &$fo
         $response->addCommand(commerce_cart_blocks_render_cart_block_command($block_id));
       }
     }
+
+    // Append the block when adding the first item to the cart
+    $cartCount = commerce_cart_blocks_cart_count();
+    if (1 == $cartCount) {
+      $response->addCommand(new \Drupal\Core\Ajax\AfterCommand(
+          $ajax_settings['append_block_id'],
+          commerce_cart_blocks_render_cart_block_command_append( 'cart')
+        )
+      );
+    }
   }
 
   $messages = StatusMessages::renderMessages(NULL);
+  /** @var \Drupal\Core\Render\Markup $message */
+  $message = $messages['#message_list']['status'][0];
+  $message .= '<div class="commerce-cart-block--contents__links">';
+  // Continue shopping Link
+  if ($ajax_settings['checkout']) {
+    // Get cart id for checkout link
+    $carts = commerce_cart_blocks_getCarts();
+    if (!empty($carts)) {
+      /** @var \Drupal\commerce_order\Entity\OrderInterface $cart */
+      $cart = array_shift($carts);
+    }
+
+    $checkoutLink = '<a href="/checkout/' . $cart->id() . '" class="button checkout">Checkout</a>';
+    $message .= $checkoutLink;
+  }
+  // View cart Link
+  if ($ajax_settings['cart']) {
+    $viewCartLink = '<a href="/cart" class="button viewCart">View Cart</a>';
+    $message .= $viewCartLink;
+  }
+  $message .= '</div>';
+  $messages['#message_list']['status'][0] = \Drupal\Core\Render\Markup::create($message);
+
   if ($ajax_settings['modal_enabled']) {
     $response->addCommand(new OpenModalDialogCommand(t($ajax_settings['modal_title']), $messages));
   }
@@ -216,3 +283,59 @@ function commerce_cart_blocks_render_cart_block_command($block_id) {
 
   return new HtmlCommand('#block-' . $block_id, $render);
 }
+
+/**
+ * Append the cart block.
+ *
+ * @param string $block_id
+ *
+ * @return mixed
+ */
+function commerce_cart_blocks_render_cart_block_command_append($block_id) {
+	$block = \Drupal::entityTypeManager()->getStorage('block')->load($block_id);
+
+	$build = \Drupal::entityTypeManager()
+	                ->getViewBuilder('block')
+	                ->view($block);
+
+	$render = \Drupal::service('renderer')->render($build);
+
+	return $render;
+}
+
+/**
+ * Return the cart count.
+ *
+ * @return int
+ */
+function commerce_cart_blocks_cart_count() {
+  $carts = commerce_cart_blocks_getCarts();
+
+  $count = 0;
+  if (!empty($carts)) {
+    foreach ($carts as $cart_id => $cart) {
+      foreach ($cart->getItems() as $order_item) {
+        $count += (int) $order_item->getQuantity();
+      }
+    }
+  }
+
+  return $count;
+}
+
+/**
+ * @return \Drupal\commerce_order\Entity\OrderInterface[]
+ */
+function commerce_cart_blocks_getCarts() {
+  /** @var \Drupal\commerce_order\Entity\OrderInterface[] $carts */
+  $carts = \Drupal::service('commerce_cart.cart_provider')->getCarts();
+  $carts = array_filter($carts, function ($cart) {
+    /** @var \Drupal\commerce_order\Entity\OrderInterface $cart */
+    // There is a chance the cart may have converted from a draft order, but
+    // is still in session. Such as just completing check out. So we verify
+    // that the cart is still a cart.
+    return $cart->hasItems() && $cart->cart->value;
+  });
+
+  return $carts;
+}
