diff --git a/pinaxcon/settings.py b/pinaxcon/settings.py index a96a0a1560c6ea713d0b17b7ee8f872205aeb97f..71caa73004b343e5e8926a5b9b722a110e9597d5 100644 --- a/pinaxcon/settings.py +++ b/pinaxcon/settings.py @@ -1,3 +1,4 @@ +from decimal import Decimal import os import sys @@ -8,6 +9,8 @@ import saml2.saml from datetime import date, datetime +from dataclasses import dataclass + PROJECT_ROOT = os.path.abspath(os.path.join(os.path.dirname(__file__), os.pardir)) PACKAGE_ROOT = os.path.abspath(os.path.dirname(__file__)) DJANGO_ROOT = os.path.abspath(os.path.dirname(django.__file__)) @@ -444,3 +447,41 @@ EARLY_BIRD_DEADLINE = datetime(2019, 11, 1) PENGUIN_DINNER_TICKET_DATE = date(2020, 1, 15) SPEAKER_DINNER_TICKET_DATE = date(2020, 1, 14) PDNS_TICKET_DATE = date(2020, 1, 16) + + +@dataclass(frozen=True) +class Ticket: + name: str + regular_price: Decimal + earlybird_price: Decimal + + +@dataclass(frozen=True) +class PenguinDinnerTicket: + name: str + price: Decimal + description: str + + +CONTRIBUTOR = Ticket("Contributor", Decimal("1999.00"), Decimal("1849.00")) +PROFESSIONAL = Ticket("Professional", Decimal("1099.00"), Decimal("949.00")) +HOBBYIST = Ticket("Hobbyist", Decimal("549.00"), Decimal("399.00")) +STUDENT = Ticket("Student", Decimal("199.00"), None) + +MINICONF_MT = Ticket("Monday and Tuesday Only", Decimal("198.00"), None) +MINICONF_M = Ticket("Monday Only", Decimal("99.00"), None) +MINICONF_T = Ticket("Tuesday Only", Decimal("99.00"), None) + +MEDIA = Ticket("Media", Decimal("0.0"), None) +SPEAKER = Ticket("Speaker", Decimal("0.0"), None) +SPONSOR = Ticket("Sponsor", Decimal("0.0"), None) + +CONFERENCE_ORG = Ticket("Conference Organiser", Decimal("0.0"), None) +CONFERENCE_VOL = Ticket("Conference Volunteer", Decimal("0.0"), None) + +PENGUIN_DINNER_ADULT = PenguinDinnerTicket("Adult", Decimal("95.00"), + "Includes an adult's meal and full beverage service.") +PENGUIN_DINNER_CHILD = PenguinDinnerTicket("Child", Decimal("50.00"), + "Children 14 and under. Includes a child's meal and soft drink service.") +PENGUIN_DINNER_INFANT = PenguinDinnerTicket("Infant", Decimal("0.0"), + "Includes no food or beverage service.")