@using Tessitura.Service.Client.CRM; @using Tessitura.Service.Client.Txn; @{ var hasConstituent = Model.OrderProductView.Constituent != null; var hasAddress = Model.Address != null; var hasElectronicAddress = Model.ElectronicAddress != null; var hasBooking = Model.Booking != null; var isInFriendsCircle = false; var hasState = hasAddress && Model.Address.State != null; var hasProducts = Model.OrderProductView.Products != null && Model.OrderProductView.Products.Count > 0; var regnum = 0; var hasPaymentPlan = Model.OrderProductView.PaymentPlans != null; var objectRecipient = hasProducts ? Model.OrderProductView.Products.FirstOrDefault() : null; var objectPerformance = (objectRecipient != null) ? objectRecipient.Performance : null; var objectSubLineItem = objectPerformance != null ? objectPerformance.LineItem.SubLineItems.FirstOrDefault() : null; //var recipient = objectSubLineItem != null ? (objectSubLineItem.Recipient != null ? (objectSubLineItem.Recipient.DisplayName != null ? objectSubLineItem.Recipient.DisplayName : string.Empty): string.Empty) : string.Empty; } @if (hasConstituent) { var url = "CRM/Constituencies?constituentId=" + Model.OrderProductView.Constituent.Id + "&includeAffiliations=true"; var constituencies = Model.RestClient.AtUrl(url).Get().ResponseObject; isInFriendsCircle = constituencies != null && constituencies.Count(x => x.ConstituencyType.ShortDescription == "FRC") > 0; } @if (hasProducts) { var perfs = Model.OrderProductView.Products.Where(x => x.ProductClass.Description == "Performance"); if (perfs != null && perfs.Count() > 0) { } var packages = Model.OrderProductView.Products.Where(x => x.ProductClass.Description == "Package"); if (packages != null && packages.Count() > 0) { } var contributions = Model.OrderProductView.Products.Where(x => x.ProductClass.Description == "Contribution"); var contributionTotal = contributions.Sum(x => x.Contribution.Amount); if (contributions != null && contributions.Count() > 0) { } var memberships = Model.OrderProductView.Products.Where(x => x.ProductClass.Description == "Membership"); var membershipTotal = memberships.Sum(x => x.Membership.Amount); if (memberships != null && memberships.Count() > 0) { } var giftCertificates = Model.OrderProductView.Products.Where(x => x.ProductClass.Description == "Gift Certificate"); var giftCertificateTotal = giftCertificates.Sum(x => -x.GiftCertificate.Amount); if (giftCertificates != null && giftCertificates.Count() > 0) { } var subTotal = string.Format("{0:C}", Model.OrderProductView.TotalPurchaseAmount + Model.OrderProductView.TotalContributionAmount); } @if (Model.OrderProductView.Payments != null && Model.OrderProductView.Payments.Count() > 0) { } @if (hasBooking) { } @if (hasPaymentPlan) { } @if (regnum == 1) { }
@{ var state = hasState ? ", " + Model.Address.State.StateCode : ""; var electronicAddress = hasElectronicAddress ? Model.ElectronicAddress.Address : ""; }
Seattle Children’s Theatre

Seattle Children's Theatre thanks you!

Order Date: @Model.OrderProductView.OrderDateTime
Order Number: @Model.OrderProductView.Id
@if (hasConstituent) { Customer Number: @Model.OrderProductView.Constituent.Id

}

Please retain this receipt for your reference.
Our Tax ID Number is 51-0172421.

Review our detailed COVID policy before your visit:www.sct.org/safety


Your Account Information:
@if (isInFriendsCircle) { Thank you for being a Supporter of SCT!
} @if (hasConstituent) { @Model.OrderProductView.Constituent.DisplayName
} @if (hasAddress) { @Model.Address.Street1
@Model.Address.City@state @Model.Address.PostalCode
} @electronicAddress
Order Shipping Information
@if (Model.OrderProductView.DeliveryMethod.Id == -1) { Thank you! No items in your order will be shipped. Tickets will be held at the SCT ticket office on the north side of the building.
} @if (Model.OrderProductView.DeliveryMethod.Id == 2) { Thank you for choosing Print at Home Delivery.
Your tickets will be emailed 14 days prior to your performance as an attached pdf in a separate email. You may find your tickets in junk, spam, promotions, or clutter folders within your inbox.
If you do not receive your tickets via email within 14 days of your performance, please contact the ticket office by replying to this email or via phone at 206.441.3322.
If you purchased your tickets within 14 days from the performance, your tickets will be emailed within 30 minutes of purchase.

} @if (Model.OrderProductView.DeliveryMethod.Id == 1) { @Model.Address.Street1
@Model.Address.City@state @Model.Address.PostalCode
}
Performances
@{ var performanceTotal = @perfs.Sum(x => x.Performance.LineItem.TotalDue); } @foreach (var product in perfs) { var performance = product.Performance.LineItem.Performance; }
Description Location Seat(s) Price Total
@performance.Description
@performance.Facility.Description
@performance.PerformanceDateTime
@product.Performance.LineItem.SubLineItems[0].Zone.Description @foreach (var subLineItem in product.Performance.LineItem.SubLineItems) { if (@product.Performance.LineItem.SubLineItems[0].Zone.Description == "Extended Experience" ||@product.Performance.LineItem.SubLineItems[0].Zone.Description == "Premium" || @product.Performance.LineItem.SubLineItems[0].Zone.Description == "Standard" || @product.Performance.LineItem.SubLineItems[0].Zone.Description == "Value" ) { var seatRow = string.IsNullOrEmpty(subLineItem.Seat.Number) ? "TBD" : subLineItem.Seat.Row + " " + subLineItem.Seat.Number; @seatRow
} else { var seatRow = " "; @seatRow
} if (@product.Performance.LineItem.SubLineItems[0].Zone.Description == "Registrant") { regnum = 1; } }
@foreach (var subLineItem in product.Performance.LineItem.SubLineItems) { var amount = string.Format("{0:C}", subLineItem.DueAmount); @amount
}
@string.Format("{0:C}", product.Performance.LineItem.TotalDue)
Total Single Tickets Cost: @string.Format("{0:C}", performanceTotal)
Packages
@{ var packageTotal = @packages.Sum(x => x.Package.LineItems.Sum(y => y.TotalDue)); } @foreach (var product in packages) { foreach (var lineItem in product.Package.LineItems) { //if (lineItem.Performance.Id == 0) if (lineItem.Performance == null) { } else { var performance = @lineItem.Performance; } } }
Description Location Seat(s) Price Total
@lineItem.Package.Description
@performance.Description
@performance.Facility.Description
@performance.PerformanceDateTime
@lineItem.SubLineItems[0].Zone.Description @foreach (var subLineItem in lineItem.SubLineItems) { if (@lineItem.SubLineItems[0].Zone.Description == "Extended Experience" || @lineItem.SubLineItems[0].Zone.Description == "Premium" || @lineItem.SubLineItems[0].Zone.Description == "Standard" || @lineItem.SubLineItems[0].Zone.Description == "Value" ) { var seatRow = string.IsNullOrEmpty(subLineItem.Seat.Number) ? "TBD" : subLineItem.Seat.Row + " " + subLineItem.Seat.Number; @seatRow
} else { var seatRow = " "; @seatRow
} }
@foreach (var subLineItem in lineItem.SubLineItems) { var amount = string.Format("{0:C}", subLineItem.DueAmount); @amount
}
@string.Format("{0:C}", lineItem.TotalDue)
Total Packages Cost: @string.Format("{0:C}", packageTotal)
Contributions
@foreach (var contribution in contributions) { }
Description Total
@contribution.Contribution.Fund.Description @string.Format("{0:C}", contribution.Contribution.Amount)
Total Contribution Cost: @string.Format("{0:C}", contributionTotal)
Thank you! If you have made a donation of $25 or more, our Development Department will contact you shortly with a tax receipt.

Donations
@foreach (var membership in memberships) { }
Donor Level Description Total
@membership.Membership.MembershipLevel.Description @string.Format("{0:C}", membership.Membership.Amount)
Total Donation: @string.Format("{0:C}", membershipTotal)
Gift Certificates
@foreach (var giftCertificate in giftCertificates) { var amount = -giftCertificate.GiftCertificate.Amount; }
Description Total
Redemption Code: @giftCertificate.GiftCertificate.GiftCertificateNumber @string.Format("{0:C}", amount)
Total Gift Certificate Cost: @string.Format("{0:C}", giftCertificateTotal)
Fees: @string.Format("{0:C}", Model.OrderProductView.TotalFeeAmount)
Order Total: @string.Format("{0:C}", Model.OrderProductView.TotalDueAmount)
@foreach (var payment in Model.OrderProductView.Payments) { }
Payments
Description Total
@if (payment.PaymentMethod.AccountType != null) { @payment.PaymentMethod.AccountType.Description } else { @payment.PaymentMethod.Description } @if (payment.LastFourCreditCardNumber != null) { string ccNum = "(-" + payment.LastFourCreditCardNumber + ")"; @ccNum } @if (payment.CheckNumber != null) { string checkNum = "(#" + payment.CheckNumber + ")"; @checkNum } @if (payment.GiftCertificateNumber != null) { string gcNum = "(" + payment.GiftCertificateNumber + ")"; @gcNum } @string.Format("{0:C}", payment.Amount)
Total Payments: @string.Format("{0:C}", Model.OrderProductView.Payments.Sum(x => x.Amount))
@if (Model.Booking.Assignments != null && Model.Booking.Assignments.Count > 0) { }
Booking

@Model.Booking.Description

Confirmation: @Model.Booking.ConfirmationText

Resources
@foreach (var assignment in @Model.Booking.Assignments) { var description = @assignment.Resource != null ? @assignment.Resource.Description : "TBD"; if (assignment.ConfirmationText != null) { } }
Type Description Count Start End
@assignment.ResourceType.Description @description @assignment.Schedule.Count @assignment.Schedule.StartDateTime @assignment.Schedule.EndDateTime
@assignment.ConfirmationText
; @if (@Model.OrderProductView.PaymentPlans.Count > 1) { } @if (@Model.OrderProductView.PaymentPlans.Count > 2) { } @if (@Model.OrderProductView.PaymentPlans.Count > 3) { } @if (@Model.OrderProductView.PaymentPlans.Count > 4) { }
Your Payment Plan
Your payments will be processed automatically according to the following schedule:
Payment 1 Amount: @string.Format("{0:C}", @Model.OrderProductView.PaymentPlans.First().AmountDue)
Payment 1 Date: @{ DateTime dueDate1 = Convert.ToDateTime(@Model.OrderProductView.PaymentPlans.First().DateDue); string dateFormat1 = "MMMM dd, yyyy"; var dueDateString1 = dueDate1.ToString(dateFormat1); } @dueDateString1
Payment 2 Amount: @string.Format("{0:C}", @Model.OrderProductView.PaymentPlans.ElementAt(1).AmountDue)
Payment 2 Date: @{ DateTime dueDate2 = Convert.ToDateTime(@Model.OrderProductView.PaymentPlans.ElementAt(1).DateDue); string dateFormat2 = "MMMM dd, yyyy"; var dueDateString2 = dueDate2.ToString(dateFormat2); } @dueDateString2
Payment 3 Amount: @string.Format("{0:C}", @Model.OrderProductView.PaymentPlans.ElementAt(2).AmountDue)
Payment 3 Date: @{ DateTime dueDate3 = Convert.ToDateTime(@Model.OrderProductView.PaymentPlans.ElementAt(2).DateDue); string dateFormat3 = "MMMM dd, yyyy"; var dueDateString3 = dueDate3.ToString(dateFormat3); } @dueDateString3
Payment 4 Amount: @string.Format("{0:C}", @Model.OrderProductView.PaymentPlans.ElementAt(3).AmountDue)
Payment 4 Date: @{ DateTime dueDate4 = Convert.ToDateTime(@Model.OrderProductView.PaymentPlans.ElementAt(3).DateDue); string dateFormat4 = "MMMM dd, yyyy"; var dueDateString4 = dueDate4.ToString(dateFormat4); } @dueDateString4
Payment 5 Amount: @string.Format("{0:C}", @Model.OrderProductView.PaymentPlans.ElementAt(4).AmountDue)
Payment 5 Date: @{ DateTime dueDate5 = Convert.ToDateTime(@Model.OrderProductView.PaymentPlans.ElementAt(4).DateDue); string dateFormat5 = "MMMM dd, yyyy"; var dueDateString5 = dueDate5.ToString(dateFormat5); } @dueDateString5

@if(hasProducts) { var perfs = (Model.OrderProductView.Products).Where(x => x.ProductClass.Description == "Performance"); if (perfs != null && perfs.Count() > 0) {

Drama School Registration:

foreach (var product in perfs) { var performance = product.Performance.LineItem.Performance; var urlInventory = "TXN/Performances/" + performance.Id; var inventoryObject = Model.RestClient.AtUrl(urlInventory).Get().ResponseObject; var objectSLI = product.Performance.LineItem.SubLineItems; foreach (var sli in objectSLI) { var recipient = sli.Recipient.DisplayName; if(!performance.Description.Contains("T-Shirt") && !performance.Description.Contains("Hoodie")) { @recipient has been registered for:
} } if(!performance.Description.Contains("T-Shirt") && !performance.Description.Contains("Hoodie")) { @inventoryObject.Text1
@inventoryObject.Text2
@inventoryObject.Text3
@inventoryObject.Text4

} } } } You will receive additional confirmation materials closer to your class start date. If you have questions about in-person learning at SCT or our partnership camps, check out our FAQ and health guidelines here. We're looking forward to having you with us! If you have questions about your registration, please email Drama School or call 206.859.4079.

Class Cancellation Policy:

If you cancel your registration at least two weeks before the class begins, we will refund tuition less the registration fee - $25 per class or $50 for full-day classes and camps.

If you cancel your registration with less than the required notice, no refund will be given. Any tuition paid for the cancelled class, minus the registration fee, becomes a credit which you may use towards either Drama School tuition through the current school year or tickets for the current Mainstage season. Any lesser tuition costs from the new class will not be refunded. If we do not receive prior cancellation notice and you do not attend the first day of class, no refund or credit will be given.

Switching Classes: You may switch from one class to another more than two weeks before the class begins without incurring another registration fee ($25 per class, $50 for full-day classes and camps). If you switch less than two weeks before the beginning of the class, you must pay the additional registration fee, plus any additional tuition for a higher priced class, if applicable.


SHARE YOUR STORY 

facebook       instagram      youtube

Thank you for being a part of the SCT family! We couldn’t do it without you. To ensure that emails from us make your day and land straight in your mailbox (we are not spam!), please add tickets@sct.org to your address book or safe list.

Seattle Children's Theatre 201 Thomas St. Seattle, WA 98109