Example #1
0
class AbstractReportSliceSerializer(ModelSerializer):
    """Abstract serializer for the ReportSlice models."""

    report_platform_id = UUIDField(format='hex_verbose', required=False)
    report_slice_id = UUIDField(format='hex_verbose', required=False)
    account = CharField(max_length=50, required=False)
    report_json = JSONField(allow_null=False)
    git_commit = CharField(max_length=50, required=False)
    source = CharField(max_length=15, required=True)
    source_metadata = JSONField(allow_null=True, required=False)
    state = ChoiceField(choices=ReportSlice.STATE_CHOICES)
    retry_type = ChoiceField(choices=ReportSlice.RETRY_CHOICES,
                             default=ReportSlice.TIME)
    state_info = JSONField(allow_null=False)
    retry_count = IntegerField(default=0)
    hosts_count = IntegerField(min_value=1, max_value=MAX_HOSTS_PER_REP)
    last_update_time = DateTimeField(allow_null=False)
    failed_hosts = JSONField(allow_null=True)
    candidate_hosts = JSONField(allow_null=True)
    ready_to_archive = BooleanField(default=False)
    creation_time = DateTimeField(allow_null=False)
    processing_start_time = DateTimeField(allow_null=True, required=False)
    processing_end_time = DateTimeField(allow_null=True, required=False)

    class Meta:
        """Meta class for AbstractReportSliceSerializer."""

        abstract = True
        fields = '__all__'
class Parcel(Serializer):

    id = CharField(required=False, help_text="A unique parcel identifier")
    weight = FloatField(required=False, help_text="The parcel's weight")
    width = FloatField(required=False, help_text="The parcel's width")
    height = FloatField(required=False, help_text="The parcel's height")
    length = FloatField(required=False, help_text="The parcel's length")
    packaging_type = ChoiceField(required=False,
                                 choices=PACKAGING_UNIT,
                                 help_text="""
    The parcel's packaging type.
    
    Note that the packaging is optional when using a package preset
    
    For specific carriers packaging type, please consult the reference.
    """)
    package_preset = CharField(required=False,
                               help_text="""
    The parcel's package preset.
    
    For specific carriers package preset, please consult the reference.
    """)
    description = CharField(required=False,
                            help_text="The parcel's description")
    content = CharField(required=False,
                        help_text="The parcel's content description")
    is_document = BooleanField(
        required=False,
        help_text="Indicates if the parcel is composed of documents only")
    weight_unit = ChoiceField(required=False,
                              choices=WEIGHT_UNIT,
                              help_text="The parcel's weight unit")
    dimension_unit = ChoiceField(required=False,
                                 choices=DIMENSION_UNIT,
                                 help_text="The parcel's dimension unit")
Example #3
0
class AbstractReportSerializer(ModelSerializer):
    """Abstract serializer for the Report models."""

    report_platform_id = UUIDField(format='hex_verbose', required=False)
    host_inventory_api_version = CharField(max_length=10, required=False)
    source = CharField(max_length=15, required=False)
    source_metadata = JSONField(allow_null=True, required=False)
    account = CharField(max_length=50, required=False)
    request_id = CharField(max_length=50, required=False)
    upload_ack_status = CharField(max_length=10, required=False)
    upload_srv_kafka_msg = JSONField(required=True)
    git_commit = CharField(max_length=50, required=False)
    state = ChoiceField(choices=Report.STATE_CHOICES)
    retry_type = ChoiceField(choices=Report.RETRY_CHOICES, default=Report.TIME)
    state_info = JSONField(allow_null=True)
    retry_count = IntegerField(default=0)
    last_update_time = DateTimeField(allow_null=True)
    ready_to_archive = BooleanField(default=False)
    arrival_time = DateTimeField(allow_null=False)
    processing_start_time = DateTimeField(allow_null=True, required=False)
    processing_end_time = DateTimeField(allow_null=True, required=False)

    class Meta:
        """Meta class for ReportSerializer."""

        abstract = True
        fields = '__all__'
Example #4
0
class Duty(Serializer):

    paid_by = ChoiceField(
        required=False,
        choices=PAYMENT_TYPES,
        allow_blank=True,
        allow_null=True,
        help_text="The duty payer",
    )
    currency = ChoiceField(
        required=False,
        choices=CURRENCIES,
        allow_blank=True,
        allow_null=True,
        help_text="The declared value currency",
    )
    declared_value = FloatField(required=False,
                                allow_null=True,
                                help_text="The package declared value")
    account_number = CharField(
        required=False,
        allow_blank=True,
        allow_null=True,
        help_text="The duty payment account number",
    )
    bill_to = Address(required=False,
                      allow_null=True,
                      help_text="The duty billing address")
class ParcelData(PresetSerializer):
    class Meta:
        validators = [dimensions_required_together]

    weight = FloatField(required=True, help_text="The parcel's weight")
    width = FloatField(required=False, allow_null=True, help_text="The parcel's width")
    height = FloatField(required=False, allow_null=True, help_text="The parcel's height")
    length = FloatField(required=False, allow_null=True, help_text="The parcel's length")
    packaging_type = CharField(required=False, allow_blank=True, allow_null=True, help_text=f"""
    The parcel's packaging type.
    
    **Note that the packaging is optional when using a package preset**
    
    values: <br/>- {'<br/>- '.join([f'**{pkg}**' for pkg, _ in PACKAGING_UNIT])}
    
    For specific carriers packaging type, please consult [the reference](#operation/references).
    """)
    package_preset = CharField(required=False, allow_blank=True, allow_null=True, help_text="""
    The parcel's package preset.
    
    For specific carriers package preset, please consult [the reference](#operation/references).
    """)
    description = CharField(required=False, allow_blank=True, allow_null=True, help_text="The parcel's description")
    content = CharField(required=False, allow_blank=True, allow_null=True, help_text="The parcel's content description")
    is_document = BooleanField(required=False, allow_null=True, default=False, help_text="Indicates if the parcel is composed of documents only")
    weight_unit = ChoiceField(required=True, choices=WEIGHT_UNIT, help_text="The parcel's weight unit")
    dimension_unit = ChoiceField(required=False, allow_blank=True, allow_null=True, choices=DIMENSION_UNIT, help_text="The parcel's dimension unit")
class PaymentData(Serializer):

    paid_by = ChoiceField(required=False, choices=PAYMENT_TYPES, default=PAYMENT_TYPES[0][0], help_text="The payment payer")
    amount = FloatField(required=False, allow_null=True, help_text="The payment amount if known")
    currency = ChoiceField(required=True, choices=CURRENCIES, help_text="The payment amount currency")
    account_number = CharField(required=False, allow_blank=True, allow_null=True, help_text="The selected rate carrier payer account number")
    contact = Address(required=False, allow_null=True, help_text="The billing address")
Example #7
0
class ScanTaskSerializer(NotEmptySerializer):
    """Serializer for the ScanTask model."""

    source = SourceField(queryset=Source.objects.all())
    scan_type = ChoiceField(required=False, choices=ScanTask.SCAN_TYPE_CHOICES)
    status = ChoiceField(required=False,
                         read_only=True,
                         choices=ScanTask.STATUS_CHOICES)
    systems_count = IntegerField(required=False, min_value=0, read_only=True)
    systems_scanned = IntegerField(required=False, min_value=0, read_only=True)
    systems_failed = IntegerField(required=False, min_value=0, read_only=True)

    class Meta:
        """Metadata for serializer."""

        model = ScanTask
        fields = [
            'source', 'scan_type', 'status', 'systems_count',
            'systems_scanned', 'systems_failed'
        ]

    @staticmethod
    def validate_source(source):
        """Make sure the source is present."""
        if not source:
            raise ValidationError(_(messages.ST_REQ_SOURCE))

        return source
Example #8
0
class GetAliCloundEcsMonitorDataListSerializer(Serializer):
    """
  效验获取实例监控数据字段
  """
    InstanceID = CharField(required=True)
    StartTime = DateTimeField(required=True, format="%Y-%m-%dT%H:%M:%SZ")
    EndTime = DateTimeField(required=True, format="%Y-%m-%dT%H:%M:%SZ")
    RegionId = CharField(required=False)
    Period = ChoiceField(required=False,
                         choices=(
                             ("60", "60"),
                             ("600", "600"),
                             ("3600", "3600"),
                         ))
    currAccount = ChoiceField(
        required=False,
        choices=tuple(
            (k, k) for k, v in settings.ALI_CLOUND_API_ACCOUNT.items()))

    def validate(self, data):
        if data.get('StartTime') >= data.get("EndTime"):
            raise ValidationError("StartTime 要小于 EndTime.")
        minutes = int(
            (data.get('EndTime') - data.get('StartTime')).seconds / 60)
        days = (data.get('EndTime') - data.get('StartTime')).days
        if not data.get('Period'):
            if days > 2:
                data['Period'] = 3600
            elif minutes >= 360 or days > 0:
                data['Period'] = 600
            else:
                data['Period'] = 60
        return data
class DiffNodeSerializer(Serializer):
    """Serializer for requesting a specific node."""
    model = ChoiceField([m.label for m in registry.models.values()])
    identity = CharField(max_length=256, required=True)
    left_time = IntegerField(min_value=0, required=True)
    right_time = IntegerField(min_value=0, required=True)
    node_model = ChoiceField([m.label for m in registry.models.values()])
    node_identity = CharField(max_length=256, required=True)
Example #10
0
class CustomsData(Serializer):

    aes = CharField(required=False, allow_blank=True, allow_null=True)
    eel_pfc = CharField(required=False, allow_blank=True, allow_null=True)
    content_type = ChoiceField(required=False,
                               choices=CUSTOMS_CONTENT_TYPE,
                               allow_blank=True,
                               allow_null=True)
    content_description = CharField(required=False,
                                    allow_blank=True,
                                    allow_null=True)
    incoterm = ChoiceField(
        required=False,
        allow_null=True,
        choices=INCOTERMS,
        help_text="The customs 'term of trade' also known as 'incoterm'",
    )
    commodities = Commodity(many=True,
                            required=False,
                            allow_null=True,
                            help_text="The parcel content items")
    duty = Duty(
        required=False,
        allow_null=True,
        help_text="""
    The payment details.<br/>
    Note that this is required for a Dutiable parcel shipped internationally.
    """,
    )
    invoice = CharField(
        required=False,
        allow_null=True,
        allow_blank=True,
        help_text="The invoice reference number",
    )
    invoice_date = CharField(
        required=False,
        allow_null=True,
        allow_blank=True,
        validators=[valid_date_format],
        help_text="The invoice date",
    )
    commercial_invoice = BooleanField(
        required=False,
        allow_null=True,
        help_text="Indicates if the shipment is commercial",
    )
    certify = BooleanField(
        required=False,
        allow_null=True,
        help_text="Indicate that signer certified confirmed all",
    )
    signer = CharField(required=False, allow_blank=True, allow_null=True)
    certificate_number = CharField(required=False,
                                   allow_blank=True,
                                   allow_null=True)
    options = PlainDictField(required=False, allow_null=True)
Example #11
0
class BrowserSettingsSerializer(Serializer):
    """
    Browser Settings that the user can change.

    This is the only browse serializer that's submitted.
    It is also sent to the browser as part of BrowserOpenedSerializer.
    """

    filters = BrowserSettingsFilterSerializer()
    rootGroup = ChoiceField(choices=tuple(
        CHOICES["rootGroup"].keys()))  # noqa: N815
    sortBy = ChoiceField(choices=tuple(CHOICES["sort"].keys()))  # noqa: N815
    sortReverse = BooleanField()  # noqa: N815
    show = BrowserSettingsShowGroupFlagsSerializer()
Example #12
0
class SaveMeasurementSerializer(Serializer):
    gender = ChoiceField(choices=GENDER,
                         error_messages={
                             'required': 'gender key is required',
                             'blank': 'gender is required'
                         })
    height = CharField(error_messages={
        'required': 'height key is required',
        'blank': 'height is required'
    })
    chest = CharField(error_messages={
        'required': 'chest key is required',
        'blank': 'chest is required'
    })
    butts = CharField(error_messages={
        'required': 'butts key is required',
        'blank': 'butts is required'
    })
    waist = CharField(error_messages={
        'required': 'waist key is required',
        'blank': 'waist is required'
    })
    thigh = CharField(error_messages={
        'required': 'thigh key is required',
        'blank': 'thigh is required'
    })
    arm = CharField(error_messages={
        'required': 'arm key is required',
        'blank': 'arm is required'
    })
class ShippingData(Serializer):
    shipper = AddressData(required=True, help_text="""
    The address of the party
    
    Origin address (ship from) for the **shipper**<br/>
    Destination address (ship to) for the **recipient**
    """)
    recipient = AddressData(required=True, help_text="""
    The address of the party
    
    Origin address (ship from) for the **shipper**<br/>
    Destination address (ship to) for the **recipient**
    """)
    parcels = ParcelData(many=True, required=True, help_text="The shipment's parcels")
    options = PlainDictField(required=False, allow_null=True, help_text="""
    The options available for the shipment.<br/>
    Please consult [the reference](#operation/references) for additional specific carriers options.
    """)
    payment = PaymentData(required=False, allow_null=True, help_text="The payment details")
    customs = CustomsData(required=False, allow_null=True, help_text="""
    The customs details.<br/>
    Note that this is required for the shipment of an international Dutiable parcel.
    """)
    reference = CharField(required=False, allow_blank=True, allow_null=True, help_text="The shipment reference")
    label_type = ChoiceField(required=False, choices=LABEL_TYPES, default=LabelType.PDF.name, help_text="The shipment label file type.")
Example #14
0
class BulkUpdateSerializer(Serializer):
    room_type = ChoiceField(choices=ROOM_CHOICES, required=True)
    from_date = DateField(required=False)
    to_date = DateField(required=False)
    inventory = IntegerField(min_value=0, required=False)
    price = IntegerField(min_value=0, required=False)
    refine = MultipleChoiceField(choices=REFINE_CHOICES, required=False)
Example #15
0
class KarmaSerializer(ModelSerializer):
    like = LikesSerializer(source='*', read_only=True)
    dislike = DislikesSerializer(source='*', read_only=True)
    user = SerializerMethodField()
    vote = ChoiceField(choices=['like', 'dislike', 'neutral'], write_only=True)

    class Meta:
        model = Comment
        fields = ('like', 'dislike', 'user', 'vote')

    def get_user(self, obj):
        request = self.context.get('request', None)
        if request is not None:
            user = request.user
        else:
            user = AnonymousUser()

        return obj.get_user_vote(user)

    def update(self, instance, validated_data):
        request = self.context.get('request', None)
        if request is not None:
            instance.set_user_vote(request.user, validated_data['vote'])
            instance.save()

        return instance
Example #16
0
class FingerprintSerializer(NotEmptySerializer):
    """Serializer for the Fingerprint model."""

    os_name = CharField(required=True, max_length=64)
    os_release = CharField(required=True, max_length=128)
    os_version = CharField(required=True, max_length=64)

    connection_host = CharField(required=False, max_length=256)
    connection_port = IntegerField(required=False, min_value=0)
    connection_uuid = UUIDField(required=True)

    cpu_count = IntegerField(required=False, min_value=0)
    cpu_core_per_socket = IntegerField(required=False, min_value=0)
    cpu_siblings = IntegerField(required=False, min_value=0)
    cpu_hyperthreading = NullBooleanField(required=False)
    cpu_socket_count = IntegerField(required=False, min_value=0)
    cpu_core_count = IntegerField(required=False, min_value=0)

    system_creation_date = DateField(required=False)
    infrastructure_type = ChoiceField(
        required=True, choices=SystemFingerprint.INFRASTRUCTURE_TYPE)

    virtualized_is_guest = NullBooleanField(required=True)
    virtualized_type = CharField(required=False, max_length=64)
    virtualized_num_guests = IntegerField(required=False, min_value=0)
    virtualized_num_running_guests = IntegerField(required=False, min_value=0)

    class Meta:
        """Meta class for FingerprintSerializer."""

        model = SystemFingerprint
        fields = '__all__'
class Payment(Serializer):

    paid_by = ChoiceField(required=True,
                          choices=PAYMENT_TYPES,
                          help_text="The payment payer")
    amount = FloatField(required=False,
                        help_text="The payment amount if known")
    currency = ChoiceField(required=True,
                           choices=CURRENCIES,
                           help_text="The payment amount currency")
    account_number = CharField(
        required=False,
        help_text="The selected rate carrier payer account number")
    credit_card = Card(required=False,
                       help_text="The payment credit card for payment by card")
    contact = Address(required=False, help_text="The billing address")
class SearchSerializer(Serializer):
    """Serializer for search queries."""
    model = ChoiceField([m.label for m in registry.models.values()])
    time = IntegerField(min_value=0, required=False)
    identity = CharField(max_length=256, required=False)
    filters = ListField(child=FilterSerializer(), required=False)
    orders = ListField(child=OrderSerializer(), required=False)

    page = IntegerField(min_value=0, required=False, default=1)
    pagesize = IntegerField(min_value=1, required=False, default=500)
    index = IntegerField(min_value=0, required=False)

    def validate(self, data):
        model_set = set([t[0] for t in registry.path(data['model'])])
        model_set.add(data['model'])

        for f in data.get('filters', []):
            # Make sure filter model is in path of search model
            if f['model'] not in model_set:
                raise ValidationError('Model {} not in path of {}'.format(
                    f['model'], data['model']))

        for o in data.get('orders', []):
            # Make sure order model is in path of search model
            if o['model'] not in model_set:
                raise ValidationError('Model {} not in path of {}'.format(
                    o['model'], data['model']))

        return data
Example #19
0
class DeploymentReportSerializer(NotEmptySerializer):
    """Serializer for the Fingerprint model."""

    # Scan information
    report_type = CharField(read_only=True)
    report_version = CharField(max_length=64, read_only=True)
    report_platform_id = UUIDField(format='hex_verbose', read_only=True)
    details_report = PrimaryKeyRelatedField(
        queryset=DetailsReport.objects.all())
    report_id = IntegerField(read_only=True)
    cached_fingerprints = CustomJSONField(read_only=True)
    cached_masked_fingerprints = CustomJSONField(read_only=True)
    cached_csv = CharField(read_only=True)
    cached_masked_csv = CharField(read_only=True)
    cached_insights = CharField(read_only=True)

    status = ChoiceField(read_only=True,
                         choices=DeploymentsReport.STATUS_CHOICES)
    system_fingerprints = FingerprintField(many=True, read_only=True)

    class Meta:
        """Meta class for DeploymentReportSerializer."""

        model = DeploymentsReport
        fields = '__all__'
Example #20
0
class CreatePollPostSerializer(ModelSerializer, CreatePostCommonFields):

    ques = CharField(allow_blank=True,
                     error_messages={
                         'required': 'ques key is required',
                         'blank': 'ques field is required'
                     })
    poll_end_value = CharField(
        error_messages={
            'required': 'poll_end_value key is required',
            'blank': 'poll_end_value is required'
        })
    poll_end_type = ChoiceField(choices=PollPost.POLL_END_TYPE,
                                error_messages={
                                    'required':
                                    'poll_end_type key is required',
                                    'blank': 'poll_end_type is required'
                                })
    text_options = ListField(
        allow_empty=True,
        required=False,
        error_messages={'required': 'text_options key is required'})
    image_options = ImageField(
        required=False,
        max_length=None,
        allow_empty_file=True,
        error_messages={'required': 'image_options key is required'})

    class Meta:
        model = PollPost
        fields = [
            'about', 'description', 'is_18_plus', 'ques', 'poll_end_value',
            'poll_end_type', 'text_options', 'image_options'
        ]
Example #21
0
class TrackingDetails(Serializer):

    carrier_name = CharField(required=True, help_text="The tracking carrier")
    carrier_id = CharField(
        required=True, help_text="The tracking carrier configured identifier")
    tracking_number = CharField(required=True,
                                help_text="The shipment tracking number")
    events = TrackingEvent(
        many=True,
        required=False,
        allow_null=True,
        help_text="The tracking details events",
    )
    delivered = BooleanField(
        required=False,
        help_text="Specified whether the related shipment was delivered")
    test_mode = BooleanField(
        required=True,
        help_text=
        "Specified whether the object was created with a carrier in test mode",
    )
    status = ChoiceField(
        required=False,
        default=TRACKER_STATUS[0][0],
        choices=TRACKER_STATUS,
        help_text="The current tracking status",
    )
class DeviceSerializer(Serializer):
    IOS = 'ios'
    ANDROID = 'android'
    PLATFORMS = (IOS, ANDROID)

    device_token = CharField(max_length=255)
    platform = ChoiceField(choices=PLATFORMS)
Example #23
0
class ReqSingleContract(Serializer):
    market = CharField(required=True)
    transaction_type = ChoiceField(required=True, choices=[0, 1])
    allow_market_order = BooleanField(required=False, default=None)

    price = FloatField(required=False, default=None)
    volume = FloatField(required=False, default=None)
Example #24
0
class ExtraFieldsSerializer(JSONFieldDictSerializer):
    mastery_model = ChoiceField(choices=exercises.MASTERY_MODELS,
                                allow_null=True,
                                required=False)
    randomize = BooleanField()
    m = IntegerField(allow_null=True, required=False)
    n = IntegerField(allow_null=True, required=False)
Example #25
0
class KarmaSerializer(ModelSerializer):
    like = LikesSerializer(source="*", read_only=True)
    dislike = DislikesSerializer(source="*", read_only=True)
    user = SerializerMethodField()
    vote = ChoiceField(choices=["like", "dislike", "neutral"], write_only=True)

    class Meta:
        model = Comment
        fields = ("like", "dislike", "user", "vote")

    def get_user(self, obj):
        request = self.context.get("request", None)
        if request is not None:
            user = request.user
        else:
            user = AnonymousUser()

        return obj.get_user_vote(user)

    def update(self, instance, validated_data):
        request = self.context.get("request", None)
        if request is not None:
            instance.set_user_vote(request.user, validated_data["vote"])
            instance.save()

        return instance
class AttackerSerializer(Serializer):
    cords = ListField()
    slowest_unit = ChoiceField([
        'spear', 'sword', 'axe', 'spy', 'light', 'heavy', 'ram', 'catapult',
        'gentry'
    ])
    arrive_time = DateTimeField()
Example #27
0
class DiffNodesSerializer(Serializer):
    """Serializer for requesting a range of nodes from an offset."""
    model = ChoiceField([m.label for m in registry.models.values()])
    identity = CharField(max_length=256, required=True)
    left_time = IntegerField(min_value=0, required=True)
    right_time = IntegerField(min_value=0, required=True)
    offset = IntegerField(min_value=0, required=True)
    limit = IntegerField(min_value=1, required=True)
Example #28
0
class GenerateSSHKeySerializer(Serializer):
    """
    效验生成SSHKEY的参数是否合法
    """
    email = EmailField(required=False,
                       allow_blank=True,
                       error_messages={
                           'required': '请传入email字段。',
                           'blank': "email字段信息不能为空。"
                       })
    username = CharField(required=True,
                         allow_blank=False,
                         error_messages={
                             'required': '请填写用户名username字段。',
                             'blank': "用户名username不能为空。"
                         })
    userdn = CharField(required=False,
                       min_length=4,
                       error_messages={
                           'min_length': '用户DN不能小于6个字符',
                       })
    # 是否保存到数据库及LDAP
    writetable = BooleanField(required=False, )
    keytype = ChoiceField(
        required=False,
        initial='rsa',
        choices=(('rsa', 'rsa'), ('ecdsa', 'ecdsa'), ('dss', 'dss'),
                 ('ed25519', 'ed25519')),
    )
    rsabits = ChoiceField(
        required=False,
        initial=2048,
        choices=((512, 512), (1024, 1024), (2048, 2048), (4096, 4096)),
    )
    ecdsabits = ChoiceField(
        required=False,
        initial=384,
        choices=((256, 256), (384, 384), (521, 521)),
    )

    def validate(self, data):
        if 'userdn' in data:
            if not re.match(r"^[^,]+(,.+)+,dc=.+$", data.get('userdn')):
                raise ValidationError(
                    "userdn字段格式不正确!例:cn=xxxx,dc=xxxxxxx,dc=xxx")
        return data
class PlayerSerializer(HyperlinkedModelSerializer):
    gender = ChoiceField(choices=Player.GENDER_CHOICES)
    gender_description = CharField(source='get_gender_display', read_only=True)
    scores = ScoreSerializer(many=True, read_only=True)

    class Meta:
        model = Player
        fields = ('url', 'name', 'gender', 'gender_description', 'scores')
Example #30
0
class Payment(Serializer):

    paid_by = ChoiceField(
        required=False,
        choices=PAYMENT_TYPES,
        default=PAYMENT_TYPES[0][0],
        help_text="The payor type",
    )
    currency = ChoiceField(required=False,
                           choices=CURRENCIES,
                           help_text="The payment amount currency")
    account_number = CharField(
        required=False,
        allow_blank=True,
        allow_null=True,
        help_text="The payor account number",
    )