Ejemplo n.º 1
0
class TourBookingCreateRequestSchema(BaseRequestSchema):
    tour_id = Integer(data_key='tourId', required=True)
    start_date = DateTime(data_key='startDate',
                          format='%d-%m-%Y',
                          required=True)
    note = String(validate=[ValidateLength(max=255)])
    user_id = String(data_key='userId',
                     required=True,
                     validate=[ValidateLength(min=1, max=255)])
    guests = Integer(required=True)
    price_per_participant = Integer(data_key='pricePerParticipant',
                                    required=True)
    grand_total = Integer(data_key='grandTotal', required=True)
    guest_name = String(data_key='guestName',
                        required=True,
                        validate=[ValidateLength(min=1, max=255)])
    guest_phone_number = String(data_key='guestPhoneNumber',
                                required=True,
                                validate=[ValidateLength(min=1, max=255)])
    guest_email = String(data_key='guestEmail',
                         required=True,
                         validate=[ValidateLength(min=1, max=255)])

    @post_load()
    def refine_data(self, data, **kwargs):
        data['start_date'] = data.get('start_date').strftime('%Y-%m-%d')
        data['status'] = 'PENDING_PAYMENT'
        return data
Ejemplo n.º 2
0
class TourPaymentInformationCreateRequestSchema(BaseRequestSchema):
    bank_code = String(data_key='bankCode',
                       required=True,
                       validate=[ValidateEnum(Bank)])

    tour_id = Integer(data_key='tourId', required=True)

    account_number = String(data_key='accountNumber',
                            required=False,
                            validate=[ValidateLength(min=1, max=255)])

    account_name = String(data_key='accountName',
                          required=False,
                          validate=[ValidateLength(min=1, max=255)])
Ejemplo n.º 3
0
class HotelPaymentInformationCreateRequestSchema(BaseRequestSchema):
    bank_code = String(data_key=HotelCamelKey.mapping['bank_code'],
                       required=True,
                       validate=[ValidateEnum(Bank)])

    hotel_id = Integer(data_key=HotelCamelKey.mapping['hotel_id'],
                       required=True)

    account_number = String(data_key=HotelCamelKey.mapping['account_number'],
                            required=False,
                            validate=[ValidateLength(min=1, max=255)])

    account_name = String(data_key=HotelCamelKey.mapping['account_name'],
                          required=False,
                          validate=[ValidateLength(min=1, max=255)])
Ejemplo n.º 4
0
class TourUpdateRequestSchema(BaseRequestSchema):
    name = String(required=False, validate=[ValidateLength(min=1, max=255)])

    is_active = Boolean(data_key='isActive', required=False)

    description = String(required=False,
                         validate=[ValidateLength(min=1, max=5000)])

    city_or_province = String(data_key='cityOrProvince',
                              required=False,
                              validate=[ValidateLength(min=1, max=10)])

    common_address = String(data_key='commonAddress',
                            required=False,
                            validate=[ValidateLength(min=1, max=255)])

    duration = Integer(required=False)
    min_size = Integer(data_key='minSize', required=False)
    max_size = Integer(data_key='maxSize', required=False)
    price_per_participant = Integer(data_key='pricePerParticipant',
                                    required=False)
    transportations = String(required=False,
                             validate=[ValidateLength(min=1, max=255)])
    images = String(required=False, validate=[ValidateLength(min=1, max=500)])
    organizer_name = String(data_key='organizerName',
                            required=False,
                            validate=[ValidateLength(min=1, max=255)])
    organizer_phone_number = String(data_key='organizerPhoneNumber',
                                    required=False,
                                    validate=[ValidateLength(min=1, max=255)])
    organizer_email = String(data_key='organizerEmail',
                             required=False,
                             validate=[ValidateLength(min=1, max=255)])
    organizer_avatar = String(data_key='organizerAvatar',
                              required=False,
                              validate=[ValidateLength(min=1, max=255)])
Ejemplo n.º 5
0
class HotelBookingSchema(Schema):
    id = Integer(required=True)
    status = String(required=True)
    note = String()
    checkin_date = DateTime(data_key='checkinDate', format='%d-%m-%Y', required=True)
    checkout_date = DateTime(data_key='checkoutDate', format='%d-%m-%Y', required=True)
    room_type = String(data_key='roomType', required=True, validate=[
        ValidateLength(min=1, max=10)
    ])
    note = String()
    user_id = String(data_key='userId')
    rooms = Integer()
    guests = Integer()
    room_price = Integer(data_key='roomPrice')
    room_tax = Float(data_key='roomTax')
    grand_total = Integer(data_key='grandTotal')
    guest_name = String(data_key='guestName')
    guest_phone_number = String(data_key='guestPhoneNumber')
    guest_email = String(data_key='guestEmail')
    bank_code = String(data_key='bankCode')
    painded = Integer()
    image_witness = String(data_key='imageWitness')
Ejemplo n.º 6
0
class HotelBookingCreateRequestSchema(BaseRequestSchema):
    hotel_id = Integer(data_key='hotelId', required=True)
    checkin_date = DateTime(data_key='checkinDate', format='%d-%m-%Y', required=True)
    checkout_date = DateTime(data_key='checkoutDate', format='%d-%m-%Y', required=True)
    room_type = String(data_key='roomType', required=True, validate=[
        ValidateLength(min=1, max=10)
    ])
    note = String(validate=[
        ValidateLength(max=255)
    ])
    user_id = String(data_key='userId', required=True, validate=[
        ValidateLength(min=1, max=255)
    ])
    rooms = Integer(required=True)
    guests = Integer(required=True)
    room_price = Integer(data_key='roomPrice', required=True)
    room_tax = Float(data_key='roomTax', required=True)
    grand_total = Integer(data_key='grandTotal', required=True)
    guest_name = String(data_key='guestName', required=True, validate=[
        ValidateLength(min=1, max=255)
    ])
    guest_phone_number = String(data_key='guestPhoneNumber', required=True, validate=[
        ValidateLength(min=1, max=255)
    ])
    guest_email = String(data_key='guestEmail', required=True, validate=[
        ValidateLength(min=1, max=255)
    ])
    bank_code = String(data_key='bankCode', allow_none=True)
    painded = Integer(allow_none=True)
    image = String(allow_none=True)

    @post_load()
    def refine_data(self, data, **kwargs):
        data['checkin_date'] = data.get('checkin_date').strftime('%Y-%m-%d')
        data['checkout_date'] = data.get('checkout_date').strftime('%Y-%m-%d')
        data['status'] = 'PENDING_PAYMENT'
        return data
Ejemplo n.º 7
0
class HotelUpdateRequestSchema(BaseRequestSchema):
    name = String(required=False, validate=[ValidateLength(min=1, max=255)])
    is_active = Boolean(data_key=HotelCamelKey.mapping['is_active'],
                        required=False)
    description = String(required=False,
                         validate=[ValidateLength(min=1, max=1000)])

    city_or_province = String(
        data_key=HotelCamelKey.mapping['city_or_province'],
        required=False,
        validate=[ValidateLength(min=1, max=10)])

    address = String(required=False, validate=[ValidateLength(min=1, max=255)])

    longitude = Float(required=False)

    latitude = Float(required=False)

    checkin = DateTime(format='%H:%M', required=False)

    checkout = DateTime(format='%H:%M', required=False)

    utilities = String(required=False,
                       validate=[ValidateLength(min=1, max=255)])

    room_types = String(data_key=HotelCamelKey.mapping['room_types'],
                        required=False,
                        validate=[ValidateLength(min=1, max=255)])

    phone_number = String(data_key=HotelCamelKey.mapping['phone_number'],
                          required=False,
                          validate=[ValidateLength(min=1, max=255)])

    email = String(required=False,
                   validate=[ValidateLength(min=1, max=255),
                             ValidateEmail()])

    image = String(required=False, validate=[ValidateLength(min=1, max=255)])

    price_standard = Float(data_key=HotelCamelKey.mapping['price_standard'],
                           required=False,
                           allow_none=True)
    available_room_standard = Integer(
        data_key=HotelCamelKey.mapping['available_room_standard'],
        required=False,
        allow_none=True)
    tax_standard = Float(data_key=HotelCamelKey.mapping['tax_standard'],
                         required=False,
                         allow_none=True)
    image_standard = String(data_key=HotelCamelKey.mapping['image_standard'],
                            validate=[ValidateLength(min=1, max=255)],
                            required=False,
                            allow_none=True)

    price_deluxe = Float(data_key=HotelCamelKey.mapping['price_deluxe'],
                         required=False,
                         allow_none=True)
    available_room_deluxe = Integer(
        data_key=HotelCamelKey.mapping['available_room_deluxe'],
        required=False,
        allow_none=True)
    tax_deluxe = Float(data_key=HotelCamelKey.mapping['tax_deluxe'],
                       required=False,
                       allow_none=True)
    image_deluxe = String(data_key=HotelCamelKey.mapping['image_deluxe'],
                          validate=[ValidateLength(min=1, max=255)],
                          required=False,
                          allow_none=True)

    @post_load()
    def refine_data(self, data, **kwargs):
        for field in ['name', 'email', 'phone_number']:
            if field not in data:
                continue
            if data[field]:
                data[field] = StringUtils.remove_duplicate_space(data[field])
        if data.get('checkin'):
            data['checkin'] = data.get('checkin').strftime('%H:%M:%S')
        if data.get('checkin'):
            data['checkout'] = data.get('checkout').strftime('%H:%M:%S')
        return data
Ejemplo n.º 8
0
class HotelsSearchRequestSchema(BaseRequestSchema):
    city_or_province = String(
        data_key=HotelCamelKey.mapping['city_or_province'],
        required=True,
        validate=[ValidateLength(min=1, max=10)])
Ejemplo n.º 9
0
class ToursSearchRequestSchema(BaseRequestSchema):
    city_or_province = String(data_key='cityOrProvince',
                              required=True,
                              validate=[ValidateLength(min=1, max=10)])