Class: OverdueToShipAlertMailer

Inherits:
InternalNotificationMailer show all
Defined in:
app/mailers/overdue_to_ship_alert_mailer.rb

Overview

Warehouse escalation for an Amazon order that passed its ship-by deadline
without shipping (OverdueToShipSweep). Goes to orders@, cc the origin
warehouse (US or Canada, by the order's store) so someone ships the parcel
before the promised delivery date slips. A nudge to ship now — the delivery
estimate was fixed at import assuming a same-day ship and no longer holds.
Never re-shops the label.

Routing mirrors DeliveryMailer/InventoryMailer: store 2 is the Canadian
warehouse (Richmond Hill), everything else the US warehouse (Lake Zurich).

Constant Summary collapse

US_WAREHOUSE_EMAIL =
'warehouseusa@warmlyyours.com'
CA_WAREHOUSE_EMAIL =
'warehousecanada@warmlyyours.com'

Instance Method Summary collapse

Methods inherited from InternalNotificationMailer

#default_url_options

Methods included from SendgridSmtpApi::InternalMailerHeaders

#mail

Methods inherited from ApplicationMailer

#null_mail

Instance Method Details

#alert(order) ⇒ Mail::Message

Parameters:

  • order (Order)

    an overdue-to-ship Amazon order

Returns:

  • (Mail::Message)


22
23
24
25
26
27
28
29
30
31
32
# File 'app/mailers/overdue_to_ship_alert_mailer.rb', line 22

def alert(order)
  @order = order
  @seller_url = "https://sellercentral.amazon.com/orders-v3/order/#{order.edi_po_number}"

  mail(
    to: ORDERS_EMAIL,
    cc: warehouse_email(order),
    subject: "Overdue to ship: Amazon order #{order.reference_number} " \
             "(ship-by #{order.requested_ship_before&.to_fs(:crm_default)})"
  )
end